移动平均线中的负权重?

机器算法验证 平滑 意思是 加权平均数
2022-03-20 18:20:56

许多众所周知的移动平均线,例如Spencer 的 15 点 MAHenderson 移动平均线在平均值中具有权重。

这在概念上意味着什么?您试图从与这些术语对应的数据中获取什么信息?为什么这比仅将这些项加权 = 0 并按比例减少更中心项的一些权重更明智?

澄清:正如 Emre 正确指出的那样,这些负权重满足数学标准。但这引出了一个问题:该数学要求的真实世界统计/概念效果是什么?对您知道没有给出“负面”信息(即没有说谎的数据)的数据负权重是否合乎逻辑?

1个回答

概括

选择权重以达到数学目的。在 Spencer 的案例中,目标是让三次趋势不失真地通过过滤器。这意味着如果我们分解输入Xt成确定性多项式趋势分量m(t)c3t3+c2t2+c1t+c0和一个居中的随机分量Yt, 这样Xtm(t)+Yt, 然后F[Xt]mt作为σY0, 在哪里F是过滤操作。

例子

这是一个使用 Mathematica 的图解示例。我将把 Spencer 的过滤器与 15 抽头双边对称移动平均线进行比较。

n = 101; c = RandomReal[{-1, 1}, 4]; x = RandomVariate[NormalDistribution[0, .1], n];   
result = GraphicsGrid@{{ ListPlot@MovingAverage[x + Table[c.{1, t, t^2, t^3}, 
{t, -1, 1, 2/(n - 1)}], {-3, -6, -5, 3, 21, 46, 67, 74, 67, 46, 21, 3, -5, -6, -3}/230], 
ListPlot@MovingAverage[ x + Table[c.{1, t, t^2, t^3}, {t, -1, 1, 2/(n - 1)}], 15]}, 
{ListPlot@Table[c.{1, t, t^2, t^3}, {t, -1, 1, 2/(n - 1)}], 
ListPlot@{x + Table[c.{1, t, t^2, t^3}, {t, -1, 1, 2/(n - 1)}]}}}

c={-0.26988, -0.34137, 0.670082, 0.820887} 的示例

从左上角顺时针方向:Spencer 滤波器的输出,对称滤波器的输出,噪声输入 (Xt), 三次趋势 (mt)。这是与c={0.26988,0.34137,0.670082,0.820887}(多项式系数,按次数升序排列)。

讨论

如您所见,由于权重为负,Spencer 的过滤器比对称过滤器更敏感。对称滤波器的低通效果有利于去噪(我们正在比较差异的范数):

Part[#2, 8 ;; -8] - MovingAverage[#1 + #2, 15] & [x, 
Table[c.{1, t, t^2, t^3} , {t, -1, 1, 2/(n - 1)}]] // Norm

> 0.197244

对于对称滤波器与

Part[#2, 8 ;; -8] - MovingAverage[#1 + #2, 
{-3, -6, -5, 3, 21, 46, 67, 74, 67, 46, 21, 3, -5, -6, -3}/230] & 
[x, Table[c.{1, t, t^2, t^3} , {t, -1, 1, 2/(n - 1)}]] // Norm

> 0.411789

斯宾塞的。但是,它也扭曲了趋势(没有噪音的相同测试):

Part[#2, 8 ;; -8] - MovingAverage[#2, 15] & [x, 
Table[c.{1, t, t^2, t^3} , {t, -1, 1, 2/(n - 1)}]] // Norm

> 0.097972

相对

Part[#2, 8 ;; -8] - MovingAverage[#2, 
{-3, -6, -5, 3, 21, 46, 67, 74, 67, 46, 21, 3, -5, -6, -3}/230] & 
[x, Table[c.{1, t, t^2, t^3} , {t, -1, 1, 2/(n - 1)}]] // Norm

> 4.05378*10^-16

进一步阅读

这些讲义进入推导。您可能还会发现常驻用户 Rob Hyndman 关于移动平均线的文章很有用。