Tengo una serie temporal que contiene componentes dobles estacionales y me gustaría descomponer la serie en los siguientes componentes de la serie temporal (tendencia, componente estacional 1, componente estacional 2 y componente irregular). Hasta donde sé, el procedimiento STL para descomponer una serie en R solo permite un componente estacional, por lo que he intentado descomponer la serie dos veces. Primero, configurando la frecuencia para que sea el primer componente estacional utilizando el siguiente código:
ser = ts(data, freq=48)
dec_1 = stl(ser, s.window="per")
Luego, descompuse el componente irregular de la serie descompuesta ( dec_1
) estableciendo la frecuencia como el segundo componente estacional, de modo que:
ser2 = ts(dec_1$time.series[,3], freq=336)
dec_2 = stl(ser2, s.window="per")
No estoy muy seguro con este enfoque. Y me gustaría saber si hay otras formas de descomponer una serie que tenga múltiples estacionalidades. Además, he notado que la tbats()
función en el paquete de pronóstico R permite ajustar un modelo a una serie con múltiples estacionalidades, sin embargo, no dice cómo descomponer una serie con él.
Respuestas:
forecast
bats()
tbats()
Consulte http://robjhyndman.com/papers/complex-seasonality/ para ver las fórmulas y Hyndman et al (2008) para obtener una mejor descripción de los modelos ETS. BATS y TBATS son una extensión de ETS.
Por ejemplo:
En este caso, cada fila de
x
estará en armónica tipo Fourier.También hay
plot.tbats()
yplot.bats()
funciones para descomponer de forma automática y ver los componentes.fuente