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 $X_t$ en el determinismo de la componente de tendencia polinómica $m(t) \equiv c_3 t^3 + c_2 t^2 + c_1 t + c_0$ y una centrada en el componente estocástico $Y_t$, de tal manera que $X_t \equiv m(t) + Y_t$, $\mathcal F \left[ X_t \right] \to m_t$ $\sigma_Y \to 0$ donde $\mathcal 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)}]}}}
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 ($X_t$), la tendencia cúbica ($m_t$). 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.