1. Importar las bibliotecas necesarias
Antes de comenzar con el pronóstico de series de tiempo utilizando Prophet en Python, es necesario importar las bibliotecas necesarias. Las principales bibliotecas que se utilizarán son:
- pandas: para la manipulación y análisis de datos.
- numpy: para realizar operaciones matemáticas en los datos.
- matplotlib: para visualizar los resultados.
- fbprophet: la biblioteca Prophet en sí.
A continuación se muestra el código para importar estas bibliotecas:
«`python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from fbprophet import Prophet
«`
2. Cargar y preparar los datos de la serie de tiempo
El siguiente paso es cargar los datos de la serie de tiempo en Python. Los datos deben estar en un formato adecuado, con una columna de fecha y una columna de valores. Por ejemplo:
«`
Fecha Valor
2010-01-01 10
2010-01-02 15
2010-01-03 20
…
«`
Una vez que los datos se han cargado, es importante asegurarse de que estén en el formato adecuado. La columna de fecha debe ser de tipo datetime y la columna de valores debe ser numérica. Si no es así, se pueden realizar las conversiones necesarias utilizando las funciones de pandas.
3. Crear el modelo Prophet
Una vez que los datos están listos, se puede crear el modelo Prophet. Para ello, se utiliza la clase Prophet de la biblioteca fbprophet. Al crear una instancia de esta clase, se pueden especificar varios parámetros, como la frecuencia de los datos (diaria, mensual, etc.) y si se deben incluir componentes estacionales en el modelo.
«`python
model = Prophet()
«`
4. Ajustar el modelo a los datos
Después de crear el modelo, se debe ajustar a los datos de la serie de tiempo. Esto se hace utilizando el método fit del modelo Prophet. Este método toma como argumento un DataFrame de pandas con las columnas «ds» (fecha) y «y» (valores).
«`python
model.fit(data)
«`
5. Generar pronósticos
Una vez que el modelo ha sido ajustado a los datos, se puede utilizar para generar pronósticos futuros. Para ello, se utiliza el método predict del modelo Prophet. Este método toma como argumento un DataFrame de pandas con las fechas para las que se desea generar pronósticos.
«`python
future_dates = model.make_future_dataframe(periods=365)
forecast = model.predict(future_dates)
«`
En este ejemplo, se generan pronósticos para 365 días en el futuro.
6. Visualizar los resultados
Después de generar los pronósticos, es importante visualizar los resultados para evaluar la precisión del modelo. Prophet proporciona una función integrada para visualizar los pronósticos y los datos originales.
«`python
model.plot(forecast)
plt.show()
«`
Esta función generará un gráfico que muestra los datos originales, los pronósticos y los intervalos de confianza.
7. Evaluar el rendimiento del modelo
Una vez que se han generado los pronósticos, es importante evaluar el rendimiento del modelo. Prophet proporciona varias métricas de evaluación, como el error cuadrático medio (MSE) y el error absoluto medio (MAE).
«`python
from fbprophet.diagnostics import performance_metrics
df_performance = performance_metrics(forecast)
print(df_performance)
«`
Estas métricas proporcionan una medida de qué tan bien se ajusta el modelo a los datos.
8. Realizar ajustes y mejorar el modelo
Si el rendimiento del modelo no es satisfactorio, se pueden realizar ajustes para mejorar su precisión. Prophet proporciona varias opciones para ajustar el modelo, como agregar componentes estacionales adicionales, ajustar la sensibilidad a los cambios en la tendencia y ajustar la incertidumbre en los pronósticos.
9. Generar pronósticos futuros
Una vez que se ha ajustado el modelo, se pueden generar pronósticos futuros utilizando el mismo enfoque que se describió anteriormente. Simplemente se crea un DataFrame de pandas con las fechas para las que se desean generar pronósticos y se utiliza el método predict del modelo Prophet.
10. Conclusiones
El pronóstico de series de tiempo con Prophet en Python sigue una serie de pasos clave. Primero, se importan las bibliotecas necesarias. Luego, se cargan y preparan los datos de la serie de tiempo. A continuación, se crea el modelo Prophet y se ajusta a los datos. Después, se generan pronósticos y se visualizan los resultados. Luego, se evalúa el rendimiento del modelo y se realizan ajustes si es necesario. Finalmente, se pueden generar pronósticos futuros utilizando el modelo ajustado.
Con estos pasos, es posible realizar pronósticos precisos de series de tiempo utilizando Prophet en Python.