Actualmente estoy trabajando en un proyecto favorito para pronosticar los futuros precios base del petróleo a partir de los precios históricos históricos del petróleo. Los datos son semanales, pero hay algunos períodos intermedios en los que faltan precios.Modelado de series de tiempo con datos irregulares
Estoy un tanto de acuerdo con el modelado de series de tiempo con datos completos, pero cuando se trata de modelos irregulares, los modelos que he aprendido pueden no ser aplicables. ¿Utilizo la clase xts y procedo con los modelos ARIMA en R de la forma habitual?
Después de construir un modelo para predecir los precios futuros, me gustaría tener en cuenta la fluctuación del precio del crudo, margen de beneficio del diesel, ventas de automóviles, crecimiento económico y otros (¿Multivariable?) Para mejorar la precisión. ¿Alguien puede arrojar algo de luz sobre cómo hago esto de la manera más eficiente? En mi opinión, parece un laberinto.
EDIT: datos recortado aquí: https://docs.google.com/document/d/18pt4ulTpaVWQhVKn9XJHhQjvKwNI9uQystLL4WYinrY/edit
Codificación:
Mod.fit<-arima(Y,order =c(3,2,6), method ="ML")
Resultado: Mensaje Advertencia: En log (s2): NaNs produjo
afectarán a esta advertencia mi precisión del modelo?
Con la falta de datos, no puedo usar ACF y PACF. ¿Hay una mejor manera de seleccionar modelos? Usé AIC (Criterio de información de Akaike) para comparar diferentes modelos de ARIMA usando este código. ARIMA (3,2,6) dio el AIC más pequeño.
Codificación:
AIC<-matrix(0,6,6)
for(p in 0:5)
for(q in 0:5)
{
mod.fit<-arima(Y,order=c(p,2,q))
AIC[p+1,q+1]<-mod.fit$aic
p
}
AIC
Resultado:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1396.913 1328.481 1327.896 1328.350 1326.057 1325.063
[2,] 1343.925 1326.862 1328.321 1328.644 1325.239 1318.282
[3,] 1334.642 1328.013 1330.005 1327.304 1326.882 1314.239
[4,] 1336.393 1329.954 1324.114 1322.136 1323.567 1316.150
[5,] 1319.137 1321.030 1320.575 1321.287 1323.750 1316.815
[6,] 1321.135 1322.634 1320.115 1323.670 1325.649 1318.015
Bienvenido a SO. Publicar algunos datos siempre es una buena idea, ya que muestra algunas líneas de código que demuestran lo que ya has intentado. Consulte http://stackoverflow.com/q/5963269/602276 para obtener algunos consejos sobre cómo escribir una buena pregunta. – Andrie
Gracias Andrie. Agradezco tu consejo. Pondré el código lo antes posible. – leejy
@Andrie He actualizado la pregunta con codificación y datos recortados. ¿Podrías mirarlo? ¡Gracias! ¿Estoy en el camino correcto? – leejy