La predicción de series temporales es una de las técnicas más demandadas de la ciencia de datos, ya sea en el comercio de acciones, la predicción de las ventas de las empresas o la predicción del tiempo. Es claramente una habilidad muy útil para tener y voy a equipar con sólo que al final de este artículo.
En este tutorial, vamos a construir un modelo ARIMA(no se preocupe si usted no sabe exactamente cómo funciona todavía) para predecir los valores futuros de la temperatura de una ciudad en particular utilizando python. El enlace de GitHub para el código y el conjunto de datos se puede encontrar al final de este blog. También he adjuntado mi vídeo de YouTube al final, por si te interesa una explicación en vídeo. Así que sin perder tiempo vamos a empezar.
El primer paso en cualquier serie de tiempo es leer sus datos y ver cómo se ve. El siguiente fragmento de código demuestra cómo hacerlo.
El código es bastante sencillo. Leemos los datos usando pd.read_csv y escribiendo parse_date=True, nos aseguramos de que pandas entiende que está tratando con valores de fecha y no con valores de cadena.
A continuación eliminamos cualquier valor que falte e imprimimos la forma de los datos. df.head() imprime las 5 primeras filas del conjunto de datos. Esta es la salida que deberías ver para esto:
Lo siguiente es trazar tus datos. Esto te da una idea de si los datos son estacionarios o no. Para aquellos que no saben lo que significa la estacionariedad, permítanme darles una idea. Aunque he hecho varios videos sobre este tema, todo se reduce a esto:
Cualquier serie de datos de tiempo que tiene que ser modelada necesita ser estacionaria. Estacionario significa que sus propiedades estadísticas son más o menos constantes con el tiempo. Tiene sentido, ¿verdad? ¿Cómo se supone que se pueden hacer predicciones si las propiedades estadísticas varían con el tiempo? Estas son las siguientes propiedades que tendrá cualquier modelo de estacionariedad:
Media constante
Varianza constante(Puede haber variaciones, pero las variaciones no deben ser irregulares)
No hay estacionalidad(No hay patrones que se repitan en el conjunto de datos)
Así que el primer paso es comprobar la estacionariedad. Si tu conjunto de datos no es estacionario, tendrás que convertirlo en una serie estacionaria. Ahora, antes de que empieces a preocuparte por todo esto, ¡relájate! Tenemos una prueba fácil y fija para comprobar la estacionariedad llamada ADF (prueba de Dickey Fuller aumentada). Pero antes de mostrar eso, vamos a trazar los datos primero.
Como sólo estoy interesado en predecir la temperatura media, esa es la única columna que voy a trazar.
df.plot(figsize=(12,5))
Comprobando la estacionariedad
De entrada, podemos ver que parece tener una media constante en torno a los 45 años. Y las fluctuaciones también parecen ser más o menos las mismas. Sin embargo, para estar seguros de si los datos son estacionarios o no, ejecutamos una prueba estadística fija utilizando el siguiente código:
Deja una respuesta