Pronostique datos de series de tiempo con variables externas

10

Actualmente estoy trabajando en un proyecto para hacer pronósticos de datos de series temporales (datos mensuales). Estoy usando R para hacer el pronóstico. Tengo 1 variable dependiente (y) y 3 variables independientes (x1, x2, x3). La variable y tiene 73 observaciones, al igual que las otras 3 variables (alos 73). De enero de 2009 a enero de 2015. He comprobado las correlaciones y el valor p, y es muy importante ponerlo en un modelo. Mi pregunta es: ¿cómo puedo hacer una buena predicción usando todas las variables independientes? No tengo valores futuros para estas variables. Digamos que me gustaría predecir cuál es mi variable y en más de 2 años (en 2017). ¿Cómo puedo hacer esto?

Intenté el siguiente código:

    model = arima(y, order(0,2,0), xreg = externaldata) 

¿Puedo hacer una predicción del valor y durante 2 años con este código?

También probé un código de regresión:

    reg = lm(y ~ x1 + x2 + x3) 

Pero, ¿cómo me tomo el tiempo en este código? ¿Cómo puedo pronosticar cuál será mi valor y por encima de digamos 2 años? Soy nuevo en estadísticas y pronósticos. He leído y levantado el valor de retraso, pero ¿cómo puedo usar un valor de retraso en el modelo para hacer pronósticos?

En realidad, mi pregunta general es ¿cómo puedo pronosticar datos de series de tiempo con variables externas sin valor futuro?

SB
fuente
Nunca use la regresión con datos de series de tiempo. Utilice un enfoque de modelo de función de transferencia.
Tom Reilly
2
Hola señor, ¿puede contarme más sobre un modelo de función de transferencia? ¿Y por qué nunca debería usar la regresión con datos de series de tiempo? La mayoría de los estudios sugieren usar regresión con series de tiempo.
SB
Un modelo de Función de transferencia se explica en el libro de texto de Box-Jenkins en el Capítulo 10. El objetivo es construir un modelo para cada causal (pre-blanqueamiento) y luego usar los residuos para encontrar correlaciones contra Y (correlación cruzada). Esto lo ayudará a identificar qué variables son importantes y si hay alguna relación de adelanto o retraso. Puede haber una necesidad de ARIMA en esta ecuación o denominador en las variables X. También puede tener valores atípicos, cambios en la tendencia, el nivel, la estacionalidad, los parámetros y la varianza.
Tom Reilly
También puede haber una Regresión que asume que el tiempo no es importante. La regresión fue utilizada por Galton para estudiar Sweat Peas ... no es un problema de series de tiempo. La función de transferencia utiliza partes del proceso para estimar el problema.
Tom Reilly

Respuestas:

11

Si ajusta un modelo utilizando variables externas y desea pronosticar a partir de este modelo, necesitará (pronosticado) valores futuros de las variables externas, simples y simples. No hay forma de evitar esto.

Por supuesto, hay diferentes formas de pronosticar sus variables explicativas. Puede usar el último valor observado (el pronóstico de "caminata aleatoria ingenua") o la media general. Simplemente puede establecerlos en cero si este es un valor útil para ellos (por ejemplo, eventos especiales que ocurrieron en el pasado como un terremoto, que no anticipa que se repitan). O podría ajustar y pronosticar un modelo de serie temporal a estas variables explicativas, por ejemplo, utilizando auto.arima.

yxregy

Recomiendo este libro de texto de pronóstico gratuito en línea , especialmente esta sección sobre regresión múltiple (desafortunadamente, no hay nada sobre ARIMAX allí), así como la publicación del blog de Rob Hyndman "El embrollo del modelo ARIMAX" .

Stephan Kolassa
fuente
1

Como dijo Yogi Berra, "Es difícil hacer predicciones, especialmente sobre el futuro".

Muchos módulos de software de estadísticas generarán pronósticos basados ​​en el flujo univariado de series de tiempo en ausencia de información futura, por ejemplo, Pronóstico de proceso en SAS o cualquier número de módulos ARIMA disponibles. Estas previsiones son proyecciones basadas en el comportamiento histórico de sus datos.

Usted nos dice que sus datos son mensuales, pero no nos dice cuántos períodos tiene disponibles. Otro enfoque es configurar sus tres IV de nuevo 24 meses en relación con el DV para que el período que predicen sea t + 24. Esto supone que tiene una cantidad de fecha suficiente para inicializar el modelo y calibrar cualquier estacionalidad relevante, según corresponda.

Mike Hunter
fuente
He editado mi texto. ¿Puedes responder mis preguntas ahora?
SB
Dado que tiene una cantidad suficiente de información, hay muchas formas de integrar el tiempo en su modelo. Puede crear variables ficticias para los años (por ejemplo, 2009, 2010, etc.), para los trimestres, para cada mes en la serie de tiempo o, como un enfoque para contabilizar la estacionalidad, cada mes del año. Otro enfoque sería tratar el tiempo como una función de tendencia numérica, por ejemplo, lineal (como en un recuento de los períodos que comienzan con enero de 2009 = 1, febrero = 2, etc.) o cualquier número de tendencias polinómicas basadas en la tendencia lineal, por ejemplo, cuadrático (tendencia lineal al cuadrado) y hacia arriba. ¿Que mas quieres saber?
Mike Hunter
Pero el tiempo no puede ser una variable independiente, ¿verdad? Entonces, ¿cómo puedo predecir mi variable y usando las 3 variables externas? ¿Me está costando seleccionar un modelo que haga la predicción?
SB
Como se describió en el comentario anterior, el tiempo sería una variable independiente. Creo que necesita leer sobre regresión, econometría y la literatura de series temporales. Hay muchos hilos en este sitio que abordan estas preguntas y sugieren artículos, libros, etc. Explore el lado derecho de esta página web para ver más hilos relacionados con sus inquietudes.
Mike Hunter
He leído mucho y no he podido encontrar una solución. Esa es la razón por la que hice esta pregunta aquí. ¿Puedes nombrar algunos hilos de literatura que pueda usar? O la página web correcta?
SB
1

Tal como lo veo, tienes tres opciones:

  1. Use un pronóstico publicado para sus variables independientes o encuentre un modelo para pronosticarlas. Por ejemplo, el Censo habrá pronosticado datos de población.
  2. Usando el conjunto de datos que tiene, haga una regresión de cada una de sus variables independientes contra el tiempo y luego use estos resultados en su modelo de pronóstico para las variables independientes
  3. Descarte las variables independientes y simplemente modele su variable dependiente en función del tiempo y los valores rezagados de y.

Cada enfoque tiene sus propias fortalezas y debilidades, por lo que lo mejor depende del contexto específico.

Ezra Boyd
fuente