mvar

语法

mvar(X, window, [minPeriods])

窗口计算规则请参考:mFunctions

详情

在给定长度(以元素个数或时间长度衡量)的滑动窗口内计算 X 的样本方差。

参数

X 是一个向量/矩阵/表/元组(元素为标量或等长向量)/字典。

window 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。
注:
在流计算引擎中调用滑动窗口函数时,window 的上限为 102400。

minPeriods 是一个正整数。为滑动窗口中最少包含的观测值数据。

返回值

  • 输入为向量时,返回一个与输入等长的 DOUBLE 类型向量。
  • 输入为矩阵时,返回一个与输入矩阵同维度的矩阵,每列分别计算。
  • 输入为表时,返回一个与输入表结构相同的表。
  • 输入为元组时,返回对应的元组结构。

例子

mvar(1..6, 5);
// output: [,,,,2.5,2.5]

mvar(1..6, 5, 2);
// output: [,0.5,1,1.666667,2.5,2.5]
m=matrix(1 6 2 9 4 5, 11 12 18 23 21 10);
m;
#0 #1
1 11
6 12
2 18
9 23
4 21
5 10
mvar(m,3);
#0 #1

7 14.333333333333314
12.333333333333335 30.333333333333314
13 6.333333333333372
7 49
m=matrix(1 NULL 4 NULL 8 6 , 9 NULL NULL 10 NULL 2)
m.rename!(date(2020.04.06)+1..6, `col1`col2)
m.setIndexedMatrix!()
mvar(m,4d)
label col1 col2
2020.04.07
2020.04.08
2020.04.09 4.5
2020.04.10 4.5 0.5
2020.04.11 8
2020.04.12 4 32
mvar(m,1w)
label col1 col2
2020.04.07
2020.04.08
2020.04.09 4.5
2020.04.10 4.5 0.5
2020.04.11 12.3333 0.5
2020.04.12 8.9167 19