¿Cómo calcula la librería Prophet de Facebook el RMSE, tiene en cuenta el intervalo de confianza y cómo lo hace?
Estoy utilizando mis propios modelos para predecir y calcular el valor RMSE, generalmente, tomamos un tamaño de ventana de, por ejemplo, 10 días (unidades de tiempo) y un horizonte de 1 día, y luego probamos la predicción. Pero cuando trabajamos con la biblioteca Prophet, no está muy claro, ya que las predicciones no son tan fluctuantes, sino una línea suave con un intervalo de confianza también trazado. Entonces, la pregunta es, ¿ese intervalo de confianza también se utiliza para calcular el RMSE? Si es así, ¿cómo?
Salida de este fragmento de código:
m = Prophet(seasonality_mode='multiplicative')
m.fit(train)
future = m.make_future_dataframe(periods=12,freq='MS')
forecast = m.predict(future)
forecast.tail()
# Interesado en la salida del siguiente código, que muestra el valor de RMSE
fb_cv = cross_validation(m, initial=initial, period=period, horizon=horizon)
performance_metrics(fb_cv)
davy.ai
La función
cross_validation()
de la bibliotecaprophet
realiza validación cruzada dividiendo los datos de la serie temporal en conjuntos de entrenamiento y prueba, generando pronósticos para el conjunto de prueba y evaluando la precisión del pronóstico utilizando la métrica de Error Cuadrático Medio (RMSE por sus siglas en inglés).La función
performance_metrics()
calcula varias métricas de rendimiento, incluyendo RMSE, Error Absoluto Medio (MAE por sus siglas en inglés), Error Porcentual Absoluto Medio (MAPE por sus siglas en inglés) y otras. El valor de RMSE se calcula como la raíz cuadrada del Error Cuadrático Medio (MSE por sus siglas en inglés), que es el promedio de las diferencias al cuadrado entre los valores pronosticados y los valores reales.El intervalo de confianza trazado por la biblioteca
prophet
representa la incertidumbre alrededor de los valores pronosticados y no se utiliza directamente en el cálculo del valor de RMSE. En su lugar, el valor de RMSE se calcula en función de la diferencia entre los valores pronosticados y los valores reales, independientemente del intervalo de confianza.Por lo tanto, la función
performance_metrics()
calculará el valor de RMSE en base a los valores pronosticados y los valores reales, y no en base al intervalo de confianza.