#Capítulo 6 Descomposición de series temporales
Los datos de series temporales pueden mostrar una variedad de patrones, y a menudo es útil dividir una serie temporal en varios componentes, cada uno de los cuales representa una categoría de patrones subyacente. Durante la lectura discutimos tres tipos de patrones de series temporales: tendencia, estacionalidad y ciclos. Cuando descomponemos una serie temporal en componentes, generalmente combinamos la tendencia y el ciclo en un solo componente del ciclo de tendencia (a veces llamado tendencia por simplicidad). Por lo tanto, pensamos que una serie temporal comprende tres componentes: un componente del ciclo de tendencia, un componente estacional y un componente restante (que contiene cualquier otra cosa en la serie temporal), consideramos algunos métodos comunes para extraer estos componentes de una serie temporal. A menudo, esto se hace para ayudar a mejorar la comprensión de las series temporales, pero también se puede utilizar para mejorar la precisión de las previsiones.
#Componentes de series temporales 6.1
ydesoxitimidina monofosfato = Sdesoxitimidina monofosfato×Tdesoxitimidina monofosfato×Rdesoxitimidina
La descomposición aditiva es la más adecuada si la magnitud de las fluctuaciones estacionales, o la variación en torno al ciclo de tendencia, no varía con el nivel de las series temporales. Cuando la variación en el patrón estacional, o la variación alrededor del ciclo de tendencia, parece ser proporcional al nivel de las series temporales, entonces una descomposición multiplicativa es más apropiada. Las descomposiciones multiplicativas son comunes con las series temporales económicas.
Una alternativa al uso de una descomposición multiplicativa es transformar primero los datos hasta que la variación de la serie parezca ser estable con el tiempo, y luego usar una descomposición aditiva.
autoplot(elecsales) + xlab("Year") + ylab("GWh") +
ggtitle("Annual electricity sales: South Australia")
#6.2 Medias móviles
El método clásico de descomposición de series temporales se originó en la década de 1920 y se utilizó ampliamente hasta la década de 1950. Todavía forma la base de muchos métodos de descomposición de series temporales, por lo que es importante entender cómo funciona. El primer paso en una descomposición clásica es utilizar un método de media móvil para estimar el ciclo de tendencia, por lo que comenzamos discutiendo las medias móviles.
En la última columna de esta tabla, se muestra una media móvil del orden 5, que proporciona una estimación del ciclo de tendencia. El primer valor de esta columna es el promedio de las primeras cinco observaciones (1989-1993); el segundo valor de la columna 5-MA es el promedio de los valores de 1990-1994; y así sucesivamente. Cada valor de la columna 5-MA es el promedio de las observaciones en la ventana de cinco años centradas en el año correspondiente. En la notación de ecuación (6.1), la columna 5-MA contiene los valores
Una ventaja importante de las medias móviles ponderadas es que producen una estimación más suave del ciclo de tendencia. En lugar de observaciones que entran y salen del cálculo a pleno peso, sus pesos aumentan lentamente y luego disminuyen lentamente, lo que resulta en una curva más suave.
elecequip %>% decompose(type="multiplicative") %>%
autoplot() + xlab("Year") +
ggtitle("Classical multiplicative decomposition
of electrical equipment index")
ma(elecsales, 5)
## Time Series:
## Start = 1989
## End = 2008
## Frequency = 1
## [1] NA NA 2381.530 2424.556 2463.758 2552.598 2627.700 2750.622
## [9] 2858.348 3014.704 3077.300 3144.520 3188.700 3202.320 3216.940 3307.296
## [17] 3398.754 3485.434 NA NA
autoplot(elecsales, series="Data") +
autolayer(ma(elecsales,5), series="5-MA") +
xlab("Year") + ylab("GWh") +
ggtitle("Annual electricity sales: South Australia") +
scale_colour_manual(values=c("Data"="grey50","5-MA"="red"),
breaks=c("Data","5-MA"))
## Warning: Removed 4 row(s) containing missing values (geom_path).
beer2 <- window(ausbeer,start=1992)
ma4 <- ma(beer2, order=4, centre=FALSE)
ma2x4 <- ma(beer2, order=4, centre=TRUE)
autoplot(elecequip, series="Data") +
autolayer(ma(elecequip, 12), series="12-MA") +
xlab("Year") + ylab("New orders index") +
ggtitle("Electrical equipment manufacturing (Euro area)") +
scale_colour_manual(values=c("Data"="grey","12-MA"="red"),
breaks=c("Data","12-MA"))
## Warning: Removed 12 row(s) containing missing values (geom_path).
#6.3 Descomposición clásica
El método clásico de descomposición se originó en la década de 1920. Es un procedimiento relativamente sencillo y constituye el punto de partida para la mayoría de los demás métodos de descomposición de series temporales. Hay dos formas de descomposición clásica: una descomposición aditiva y una descomposición multiplicativa. Estos se describen a continuación para una serie temporal con período estacional megabyte para obtener datos diarios con un patrón semanal).
En la descomposición clásica, asumimos que el componente estacional es constante de un año a otro. Para la estacionalidad multiplicativa, el megabyte los valores que forman el componente estacional a veces se denominan “índices estacionales”.
Descomposición aditiva
Paso 1 Si megabyte es un número par, calcula el componente de ciclo de tendencia ^ T desoxitimidina monofosfato usando un 2 × megabyte -MA. Si megabyte es un número impar, calcula el componente de ciclo de tendencia ^ T desoxitimidina monofosfato usando un megabyte -MA. Paso 2 Calcular la serie detrended: y desoxitimidina monofosfato − ^ T desoxitimidina monofosfato . Paso 3 Para estimar el componente estacional para cada temporada, simplemente promedia los valores desenmendados para esa temporada. Por ejemplo, con los datos mensuales, el componente estacional para marzo es el promedio de todos los valores de marzo detrendiados en los datos. Estos valores de componentes estacionales se ajustan para garantizar que se suman a cero. El componente estacional se obtiene encadenando estos valores mensuales y luego replicando la secuencia para cada año de datos. Esto da ^ S desoxitimidina monofosfato . Paso 4 El componente restante se calcula restando los componentes estacionales y del ciclo de tendencia estimados: ^ R desoxitimidina monofosfato = y desoxitimidina monofosfato − ^ T desoxitimidina monofosfato − ^ S desoxitimidina monofosfato .
Los métodos clásicos de descomposición suponen que el componente estacional se repite de un año a otro. Para muchas series, esta es una suposición razonable, pero para algunas series más largas no lo es. Por ejemplo, los patrones de demanda de electricidad han cambiado con el tiempo a medida que el aire acondicionado se ha generalizado. Específicamente, en muchos lugares, el patrón de uso estacional de hace varias décadas tuvo su demanda máxima en invierno (debido a la calefacción), mientras que el patrón estacional actual tiene su demanda máxima en verano (debido al aire acondicionado). Los métodos clásicos de descomposición no pueden capturar estos cambios estacionales a lo largo del tiempo.
Ocasionalmente, los valores de las series temporales en un pequeño número de períodos pueden ser particularmente inusuales. Por ejemplo, el tráfico mensual de pasajeros aéreos puede verse afectado por un conflicto laboral, lo que hace que el tráfico durante el conflicto sea diferente de lo habitual. El método clásico no es robusto para este tipo de valores inusuales.
library(seasonal)
elecequip %>% seas(x11="") -> fit
autoplot(fit) +
ggtitle("X11 decomposition of electrical equipment index")
#6.4 Descomposición X11
Otro método popular para descomponer los datos trimestrales y mensuales es el método X11, que se originó en la Oficina del Censo de EE. UU. y Statistics Canada.
Este método se basa en la descomposición clásica, pero incluye muchos pasos y características adicionales para superar los inconvenientes de la descomposición clásica que se discutieron en la sección anterior. En particular, se dispone de estimaciones del ciclo de tendencia para todas las observaciones, incluidos los puntos finales, y se permite que el componente estacional varíe lentamente con el tiempo. X11 también tiene algunos métodos sofisticados para manejar la variación del día de negociación, los efectos de las vacaciones y los efectos de los predictores conocidos. Maneja la descomposición tanto aditiva como multiplicativa. El proceso es totalmente automático y tiende a ser muy robusto para los valores atípicos y los cambios de nivel en las series temporales.
library(seasonal)
elecequip %>% seas() %>%
autoplot() +
ggtitle("SEATS decomposition of electrical equipment index")
autoplot(elecequip, series="Data") +
autolayer(trendcycle(fit), series="Trend") +
autolayer(seasadj(fit), series="Seasonally Adjusted") +
xlab("Year") + ylab("New orders index") +
ggtitle("Electrical equipment manufacturing (Euro area)") +
scale_colour_manual(values=c("gray","blue","red"),
breaks=c("Data","Seasonally Adjusted","Trend"))
fit %>% seasonal() %>% ggsubseriesplot() + ylab("Seasonal")
Puede ser útil utilizar parcelas estacionales y parcelas de subserie estacionales del componente estacional. Estos nos ayudan a visualizar la variación en el componente estacional a lo largo del tiempo. La figura 6.11 muestra un gráfico de subserie estacional del componente estacional de la figura 6.9. En este caso, solo hay pequeños cambios a lo largo del tiempo.
#6.5 Descomposición de ASIENTOS
“SEATS” significa “Extracción estacional en las series temporales ARIMA” (los modelos ARIMA se discuten en el capítulo 8). Este procedimiento se desarrolló en el Banco de España y ahora es ampliamente utilizado por agencias gubernamentales de todo el mundo. El procedimiento solo funciona con datos trimestrales y mensuales. Por lo tanto, la estacionalidad de otros tipos, como los datos diarios, los datos por hora o los datos semanales, requieren un enfoque alternativo.
Los detalles están fuera del alcance de este libro. Sin embargo, una discusión completa del método está disponible en Dagum & Bianconcini (2016). Aquí solo demostraremos cómo usarlo a través del paquete de temporada.
elecequip %>%
stl(t.window=13, s.window="periodic", robust=TRUE) %>%
autoplot()
6.8 Previsión con descomposición
Si bien la descomposición es principalmente útil para estudiar los datos de las series temporales y explorar los cambios históricos a lo largo del tiempo, también se puede utilizar en la previsión.
Suponiendo una descomposición aditiva, las series temporales descompuestas se pueden escribir como ydesoxitimidina monofosfato=^Sdesoxitimidina monofosfato+^Adesoxitimidina monofosfato Dónde ^Adesoxitimidina monofosfato=^Tdesoxitimidina monofosfato+^Rdesoxitimidina monofosfato
es el componente ajustado estacionalmente. O, si se ha utilizado una descomposición multiplicativa, podemos escribir ydesoxitimidina monofosfato=^Sdesoxitimidina monofosfato^Adesoxitimidina monofosfato
Dónde ^Adesoxitimidina monofosfato=^Tdesoxitimidina monofosfato^Rdesoxitimidina monofosfato
Para pronosticar una serie temporal descompuesta, pronosticamos el componente estacional, ^Sdesoxitimidina monofosfato , y el componente ajustado estacionalmente ^Adesoxitimidina monofosfato
por separado. Por lo general, se asume que el componente estacional no cambia o cambia extremadamente lentamente, por lo que se pronostica simplemente tomando el último año del componente estimado. En otras palabras, se utiliza un método ingenuo estacional para el componente estacional.
#Ejemplo: Fabricación de equipos eléctricos
fit <- stl(elecequip, t.window=13, s.window="periodic",
robust=TRUE)
fit %>% seasadj() %>% naive() %>%
autoplot() + ylab("New orders index") +
ggtitle("Naive forecasts of seasonally adjusted data")