Cómo interpretar los resultados del modelo TBATS y el diagnóstico del modelo


11

Tengo datos de demanda de media hora, que es una serie de tiempo de múltiples estaciones. He utilizado tbatsen el forecastpaquete en R, y dieron resultados como este:

TBATS(1, {5,4}, 0.838, {<48,6>, <336,6>, <17520,5>}) 

¿Significa que la serie no es necesariamente para usar la transformación Box-Cox, y el término de error es ARMA (5, 4), y los términos 6, 6 y 5 se usan para explicar la estacionalidad? ¿Qué significa ese parámetro amortiguado 0.8383, es también para la transformación?

El siguiente es el diagrama de descomposición del modelo:

ingrese la descripción de la imagen aquí

Me pregunto qué hacer levely slopecontar sobre el modelo. La 'pendiente' indica la tendencia, pero ¿qué pasa level? Cómo obtener una trama más clara para session 1y session 2, que son estacionales diarias y semanales respectivamente.

También sé qué hacer para hacer diagnósticos del modelo para tbatsevaluar el modelo, excepto por el valor RMSE. La forma normal es verificar si el error es ruido blanco, pero aquí se supone que el error es una serie ARMA. Trazo 'acf' y 'pacf' del error, y no creo que se vea como ARMA (5,4). ¿Significa que mi modelo no es bueno?

acf(resid(model1),lag.max = 1000)
pacf(resid(model1),lag.max=1000)

ingrese la descripción de la imagen aquí

La pregunta final, RMSEse calcula utilizando el valor ajustado y el valor verdadero. ¿Qué fc1.week$meansucede si uso el valor pronosticado y el valor verdadero para evaluar el modelo, todavía se llama RMSE? ¿O hay otro nombre para esto?

fc1.week <-forecast(model1,h=48*7)
fc1.week.demand<-fc1.week$mean

Respuestas:


8

En la página de ayuda para ?tbats, encontramos que:

El modelo ajustado se denomina TBATS (omega, p, q, phi, ...,) donde omega es el parámetro Box-Cox y phi es el parámetro de amortiguación; el error se modela como un proceso ARMA (p, q) y m1, ..., mJ enumeran los períodos estacionales utilizados en el modelo y k1, ..., kJ son el número correspondiente de términos de Fourier utilizados para cada estacionalidad.

Entonces:

  • omega = 1, lo que significa que, de hecho, no hubo transformación de Box-Cox .
  • phi = 0.838, lo que significa que la tendencia se amortiguará. (Para ser sincero, no sé si o corresponde a la amortiguación total. Es mejor jugar un poco con datos simulados). Consulte el parámetro para .ϕ = 1ϕ=0ϕ=1use.damped.trendtbats()
  • Tiene tres ciclos estacionales diferentes, uno de duración 48 = 24 * 2 (diario), uno de duración 336 = 7 * 24 * 2 (semanal) y uno de duración 17520 = 365 * 24 * 2 (anual). tbatsse ajusta al primero usando seis términos de Fourier, el segundo nuevamente con seis, el último con cinco.

El documento original TBATS de De Livera, Hyndman & Snyder (2011, JASA ) es, por supuesto, útil.

Próximo:

  • El "nivel" es el nivel local de la serie de tiempo.
  • La "tendencia" es la tendencia local.

Estos son análogos a la descomposición de tendencia estacional más común usando lowess (STL) . Echa un vistazo al stl()comando.

Para obtener una gráfica más clara para la temporada 1 y la temporada 2, puede buscar en los valores numéricos de los componentes separados de su modelo TBATS. Mira str(tbats.components(model1))y summary(tbats.components(model1)). tbats.components()le proporciona un mtsobjeto de series de tiempo múltiples ( ), que es esencialmente una matriz; una de las columnas le dará cada componente estacional.

residuals()debería funcionar como funciona en todas partes en R; es decir, debería devolver los residuos finales . De hecho, estos deberían ser ruido blanco, porque son los residuos después de aplicar un ARMA (5,4). Los picos en su ACF parecen ser regulares: parece que queda algo de estacionalidad. ¿Puedes deducir su periodicidad? (Realmente no ayuda que los retrasos se cuenten en múltiplos del ciclo estacional más largo).

Finalmente, sí, el error cuadrático medio de la raíz, que es una medida de precisión de pronóstico de punto común , tiene el mismo acrónimo fuera de la muestra: RMSE.


1
¡Muchas gracias! Sí, el pico de ACF es regular, un pico en 48 rezagos. El problema es que ya he incluido 48 como estacional en mi serie temporal. ¿Cómo haces normalmente para arreglar el residuo estacional? ¿Algo más que valga la pena probar?
Jeannie

1
Tararear. Desafortunadamente, no veo una forma de forzar la tbats()inclusión de más términos de Fourier para estacionalidades específicas. Lo siento ...
Stephan Kolassa
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.