Resumen
Los pesos son seleccionados para lograr un matemático final. En Spencer caso, el objetivo es permitir que cúbicos tendencias de pasar a través del filtro no esté falseada. Esto significa que si se descompone la entrada de Xt en el determinismo de la componente de tendencia polinómica m(t)≡c3t3+c2t2+c1t+c0 y una centrada en el componente estocástico Yt, de tal manera que Xt≡m(t)+Yt, F[Xt]→mt σY→0 donde F es la operación de filtrado.
Ejemplo
Aquí está un ejemplo se ilustra el uso de Mathematica. Voy a comparar Spencer del filtro con un 15-grifo de doble cara simétrica, la media móvil.
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)}]}}}
![Example with c={-0.26988, -0.34137, 0.670082, 0.820887}]()
Las agujas del reloj desde la parte superior izquierda: la salida de Spencer del filtro, la salida de la simetría del filtro, el ruido de entrada (Xt), la tendencia cúbica (mt). Esto es con c={−0.26988,−0.34137,0.670082,0.820887} (el polinomio de coeficientes, en orden ascendente de grado).
Discusión
Como se puede ver, de Spencer filtro es más sensible que la simetría del filtro, debido a la negativa de pesos. El paso bajo el efecto de la simetría del filtro es buena para la eliminación de ruido (estamos comparando la norma de la diferencia):
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
por la simetría del filtro de frente
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
para Spencer. Sin embargo, también distorsiona la tendencia (la misma prueba sin el ruido):
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
frente a
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
Leer más
Estas notas de la conferencia ir a la derivación. Usted también puede encontrar residente de usuario Rob Hyndman del artículo sobre los promedios móviles útil.