Me gustaría combinar el pronóstico y el pronóstico (es decir, los valores pasados pronosticados) de un conjunto de datos de series de tiempo en una serie de tiempo minimizando el Error de predicción cuadrático medio.
Digamos que tengo series temporales de 2001-2010 con una brecha para el año 2007. He podido pronosticar 2007 usando los datos de 2001-2007 (línea roja - llamada ) y hacer una usando los datos de 2008-2009 (azul claro línea: ).Y b
Me gustaría combinar los puntos de datos de y en un punto de datos imputado Y_i para cada mes. Idealmente, me gustaría obtener el peso manera que minimice el error medio de predicción cuadrado (MSPE) de . Si esto no es posible, ¿cómo podría encontrar el promedio entre los dos puntos de datos de las series temporales?Y b w Y i
Como un ejemplo rápido:
tt_f <- ts(1:12, start = 2007, freq = 12)
tt_b <- ts(10:21, start=2007, freq=12)
tt_f
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2007 1 2 3 4 5 6 7 8 9 10 11 12
tt_b
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2007 10 11 12 13 14 15 16 17 18 19 20 21
Me gustaría obtener (solo mostrando el promedio ... Idealmente minimizando el MSPE)
tt_i
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2007 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5
fuente
predict
función del paquete de pronóstico. Sin embargo, creo que voy a utilizar el modelo de predicción de HoltWinters para predecir y retroceder. Tengo series de tiempo con poco <50 recuentos, y probé el pronóstico de regresión de Poisson, pero por alguna razón a predicciones muy débiles.NA
valores? Parece que hacer que el período de aprendizaje MSPE pueda ser engañoso ya que los subperíodos están bien descritos por tendencias lineales, pero en el período perdido se produce un desplegable en algún lugar, y en realidad podría ser cualquier punto. Tenga en cuenta también que, dado que las previsiones tienen una tendencia colineal, su promedio introducirá dos interrupciones estructurales en lugar de aparentemente una.Respuestas:
Suponiendo que tiene los Errores de predicción al cuadrado para el pronóstico y la retransmisión individualmente, recomendaría esto: Sea w un vector de longitud 12, sea el mes que le interese.
Ahora w es el peso para el pronóstico y 1-w es el peso para el backcast.
fuente
s/w/m/
Su propósito es realizar un suavizado de intervalo fijo (FI) de las series de tiempo. El valor suavizado de la observación en el tiempo se define como una expectativa condicional donde la notación es para vector de las observaciones de vez en cuando . Arriba, se supone que la brecha es el intervalo que va desde el tiempo hasta , es la longitud de toda la serie. El tiempo está en la brecha y la expectativa podría escribirseY t : = E ( Y t | Y 1 : r ,t Y u : v :=[ Y u ,
El valor suavizado no tiene la forma simple que supones. Para una serie temporal estacionaria gaussiana con estructura de covarianza conocida, el estimado para en la brecha se puede encontrar resolviendo un sistema lineal. tYˆt t
Cuando el modelo de serie temporal se puede poner en forma de espacio de estado (SS), el suavizado FI es una operación estándar basada en el filtrado de Kalman y se puede hacer, por ejemplo, utilizando las funciones R disponibles. Simplemente necesita especificar que faltan los valores en el espacio. El algoritmo de suavizado estima el estado oculto que contiene toda la información relevante sobre para en la brecha. Los modelos ARIMA se pueden poner en forma SS.αt Yt t
Curiosamente, el suavizado de FI se puede escribir como una combinación de dos filtros: uno hacia adelante y otro hacia atrás, lo que lleva a una fórmula del tipo que esperaba, pero para la estimación de estado oculto (pronóstico y retroceso), pero no para la observación . Esto se conoce como filtrado Rauch-Tung-Striebel .αt Yt
Al menos en las versiones multiplicativas, los procedimientos de pronóstico 'ad hoc' como Holt-Winters se basan en modelos estocásticos sin algoritmos FI simples, ya que no se pueden poner en forma SS. La fórmula de suavizado probablemente se puede aproximar usando el modelo SS, pero es mucho más simple usar modelos de series de tiempo estructurales con transformaciones de registros. Las funciones 'KalmanSmooth', 'tsSmooth' y 'StructTS' del paquete de estadísticas R pueden hacer el trabajo. Debería echar un vistazo a los libros de Harvey o de Durbin y Koopman citados en las páginas de ayuda de R. El algoritmo de suavizado puede proporcionar una varianza condicional para el estimadoYt y puede usarse para construir intervalos de suavizado, que generalmente tienden a ser más grandes en el medio del espacio. Sin embargo, tenga en cuenta que la estimación de los modelos estructurales puede ser difícil.
fuente
Encuentro interesante su enfoque sugerido, de tomar los medios de los lanzamientos anteriores y posteriores.
Una cosa que vale la pena señalar es que en cualquier sistema que exhiba una estructura caótica, es probable que los pronósticos sean más precisos en períodos más cortos. Ese no es el caso para todos los sistemas, por ejemplo, un péndulo amortiguado podría ser modelado por una función con un período incorrecto, en cuyo caso es probable que todos los pronósticos a mediano plazo sean incorrectos, mientras que los a largo plazo serán todos muy preciso, ya que el sistema converge a cero. Pero me parece, a partir del gráfico en la pregunta, que esta podría ser una suposición razonable para hacer aquí.
Eso implica que podríamos estar mejor confiando más en los datos de pronóstico para la primera parte del período faltante, y más en los datos retrospectivos para la última parte. La forma más sencilla de hacer esto sería utilizar un peso que disminuya linealmente para el pronóstico, y lo contrario para el reverso:
Esto le da un poco de peso al backcast en el primer elemento También puede usar n-1, sin los subíndices al final, si desea usar solo el valor de pronóstico en el primer punto interpolado.
No tengo sus datos, así que intentemos esto en el conjunto de datos de AirPassenger en R. Simplemente eliminaré un período de dos años cerca del centro:
Y ahí está tu interpolación.
Por supuesto, no es perfecto. Supongo que es el resultado de que los patrones en la parte anterior de los datos son diferentes a los de la última parte (el pico de julio a agosto no es tan fuerte en los años anteriores). Pero, como puede ver en la imagen, es claramente mejor que solo el pronóstico o el casting posterior solo. Me imagino que sus datos pueden obtener resultados ligeramente menos confiables, ya que no existe una variación estacional tan fuerte.
Supongo que podría intentar esto, incluidos los intervalos de confianza también, pero no estoy seguro de la validez de hacerlo tan simple como esto.
fuente