mstdp
语法
mstdp(X, window, [minPeriods])
窗口计算规则请参考:mFunctions
详情
在给定长度(以元素个数或时间长度衡量)的滑动窗口内计算 X 的总体标准差。
参数
X 是一个向量/矩阵/表/元组(元素为标量或等长向量)/字典。
window 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。
注:
在流计算引擎中调用滑动窗口函数时,window 的上限为 102400。
minPeriods 是一个正整数。为滑动窗口中最少包含的观测值数据。
返回值
- 输入为向量时,返回一个与输入等长的 DOUBLE 类型向量。
- 输入为矩阵时,返回一个与输入矩阵同维度的矩阵,每列分别计算。
- 输入为表时,返回一个与输入表结构相同的表。
- 输入为元组时,返回对应的元组结构。
例子
mstdp(1 2 5 4 3, 3);
// output: [,,1.699673171197595,1.247219128924647,0.816496580927726]
mstdp(1 2 5 4 3, 3, 2);
// output: [,0.5,1.699673171197595,1.247219128924647,0.816496580927726]
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 |
mstdp(m,3);
| #0 | #1 |
|---|---|
| 2.160246899469287 | 3.091206165165233 |
| 2.867441755680875 | 4.496912521077346 |
| 2.943920288775949 | 2.054804667656331 |
| 2.160246899469287 | 5.715476066494082 |
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!()
mstdp(m,4d)
| label | col1 | col2 |
|---|---|---|
| 2020.04.07 | 0 | 0 |
| 2020.04.08 | 0 | 0 |
| 2020.04.09 | 1.5 | 0 |
| 2020.04.10 | 1.5 | 0.5 |
| 2020.04.11 | 2 | 0 |
| 2020.04.12 | 1.633 | 4 |
mstdp(m,1w)
| label | col1 | col2 |
|---|---|---|
| 2020.04.07 | 0 | 0 |
| 2020.04.08 | 0 | 0 |
| 2020.04.09 | 1.5 | 0 |
| 2020.04.10 | 1.5 | 0.5 |
| 2020.04.11 | 2.8674 | 0.5 |
| 2020.04.12 | 2.586 | 3.559 |
相关函数:mstd
