Acabo de terminar de desarrollar un modelo ARMAX con python (principalmente statsmodels) con el fin de pronosticar algunos datos. Mi siguiente paso es probar los datos (24 series temporales) con el modelo ARMAX dado. Como necesito escribir una documentación académica adecuada sobre todas las pruebas que utilizo y la forma en que pruebo mis datos, necesito tener un diseño de pruebas adecuado.
He encontrado algunos buenos diseños aquí: http://www.autobox.com/cms/index.php/blog/entry/build-or-make-your-own-arima-forecasting-model
Sin embargo, mi modelo y el diseño de las pruebas se parecen a esto:
- Preparación de los datos (identificación y diferencia de datos para obtener series estacionarias)
- Estadísticas descriptivas para cada hora (recuento, media, asimetría, etc.)
- Prueba de Dickey Fuller aumentada para detectar la estacionariedad de una serie temporal dada
--> documentación de excel: ¡La estacionariedad de las series temporales existe!
- Selección del modelo (examinar los datos, ACF, PACF para identificar el potencial (elegir p y q tentativos)
- Trazar y analizar ACF y PACF
- Selección automática del criterio de información más bajo (AIC, BIC, HQIC)
--> documentación de excel: Gráfico/imagen de ACF y PACF, interpretación del gráfico, criterio de información más bajo (AIC, BIC, HQIC)
- Estimación (estimación de parámetros en el modelo potencial y pruebas. Seleccionar el mejor modelo utilizando el criterio adecuado Diagnóstico)
- elegir los parámetros p y q según el AIC más bajo".
--> excel-documentación: qué parámetros se van a utilizar para arma.predicción
- Diagnóstico (falsificación del proceso de selección del modelo)
- Prueba de Durbin-Watson para detectar la presencia de autocorrelación
- trazar los residuos para ver la estructura, es decir, el ruido blanco
- Prueba de normalidad (D'Angelo y Pearson) para ver la diferencia con la distribución normal
- qqplot de los residuos contra los cuantiles de la distribución t (además de la prueba de normalidad)
- trazar el ACF y el PACF de los residuos para detectar el ruido blanco
- Prueba de Ljung-Box para comprobar la aleatoriedad general basada en un número de rezagos
--> documentación de excel: Resultados de la prueba de Durbin-Watson, resultados de la prueba de normalidad, resumen de la prueba de Ljung-Box (Q>0, ¿sí/no?)
- Previsión (utilizar el modelo para pronosticar)
- modelo de ejecución
- análisis arma.summary-table
- comparar el valor previsto con el valor real (análisis dentro de la muestra)
--> excel-documentación: valor de predicción para valores p y q dados (ver. '3. Estimación')
- Verificación (error medio porcentual absoluto (MAPE) para el análisis en la muestra)
- comparar el valor previsto con el valor real
--> documentación de excel: MAPE para valores p y q dados
-
vuelva a "3. Estimación" y ejecute de nuevo si los resultados del diagnóstico y el MAPE no son satisfactorios
-
Máximo tiempo de reejecución basado en la selección óptima del criterio de información: si el resultado del modelo no es satisfactorio, elija valores p y q más altos y más bajos. Utilice el BIC y/o el HQIC más bajos (si el AIC, el BIC y el HQIC sugieren los mismos valores p- y q, utilice un enfoque diferente)
Sería genial si alguien puede tomarse un minuto y decirme si esto suena legítimo desde un punto de vista académico.
Tanques por adelantado
0 votos
¿Qué es? punto de vista académico ? ¿Estás escribiendo un artículo?
3 votos
A mí me parece bien, pero realmente depende del objetivo del artículo académico. En cierto sentido, la metodología de Box-Jenkins es una novedad, ¡un tema de los años 70! Me imagino que la mayoría de los lectores estarán más interesados en los resultados de su investigación que en ver hasta la cocina. No es raro leer algo como "aplicando la metodología Box-Jenkins se eligió un modelo ARMA(2,1)" sin entrar en los detalles reales. Este sería sin duda el caso de la economía, donde un modelo de series temporales sólo se utilizaría como modelo de referencia. Probablemente sea más interesante comparar el rendimiento de las previsiones con los modelos rivales.
2 votos
@ Aksakal: Estoy escribiendo mi tesis de maestría
0 votos
DE ACUERDO. El Master-Tesis es una historia diferente. Parece que estás demostrando que sabes lo que haces, pero podría valer la pena considerar los puntos expuestos aquí: stats.stackexchange.com/questions/131128/ ¿Alguno está en desacuerdo con lo que has hecho - con respecto al AIC en el paso 3?
0 votos
@Graeme Walsh: Gracias por sus comentarios. Lo sé, el modelo es un poco anticuado. Pero python sólo ofrece enfoques clásicos (es decir, modelos ARIMA). Mi tarea es construir un modelo de previsión con python y no tengo suficiente experiencia en programación para construir un modelo (por ejemplo, una red neuronal) por mi cuenta. Así que me quedo con el ARMA de los años 70. Además, he leído algunos artículos que sugieren que los modelos ARMA (modificados de alguna manera) muestran buenos o incluso mejores resultados que los nuevos enfoques. Creo que sería genial comparar mis resultados finales con R o MATLAB para demostrar que python ofrece predicciones ARMA adecuadas (¿valor científico?).
0 votos
En última instancia, coméntalo con tu director de tesis. Dicho esto, mi instinto me dice que sería interesante realizar un ejercicio de previsión pseudo- fuera de muestra en el que se comparara el rendimiento de previsión de tu modelo elegido con modelos alternativos (incluso otros modelos ARIMA). A mí me parece más natural comparar modelos que el mismo modelo construido con diferentes programas informáticos. Depende de la escuela en la que estés (¿tal vez?). Espero que otros puedan darte respuestas.