如果只是4个数的加权和,可以写为 x + 2 * move(x,1) + 3 * move(x,2) + 4 * move(x,3)
如果权重之和等于0的话,函数化的加权平均方法都难以支持,可以使用脚本方式自行相乘,因为函数方法默认加权平均权重和为1(跟加权平均定义保持一致)
为了实现同样的效果,可以使用move方法直接乘以权重向量,注意权重向量和move移动值并非一一对应,而是反着来的。
参考脚本如下:
// 生成数据
x = rand(100,10)
// 生成权重向量,和为0
v = 0.1 0.2 -0.3 0.0
// 计算滚动窗口加权和
y = v[0]*move(x,3) + v[1]*move(x,2) + v[2]*move(x,1) + v[3]*x