Descomposición de Series Temporales

Modelo Aditivo y Multiplicativo Clásicos

Indicación: Aplique los modelos de Descomposición aditivo y multiplicativo clásicos a la serie del IVAE 2009-2021[marzo], que se encuentra en el archivo adjunto.

Carga de datos.

library(readxl)
serie.ivae <- read_excel("C:/Users/diana/Documents/Rstudio/IVAE_SLV_C.xlsx", 
    col_types = c("skip", "numeric"),
    skip = 5 )

Descomposición de Series Temporales (Enfoque Tradicional)

library(forecast)
serie.ivae.ts <- ts(data = serie.ivae,
                    start = c(2009, 1),
                    frequency = 12)
serie.ivae.ts %>% 
  autoplot(main = "IVAE, El Salvador 2009-2021[marzo]",
                           xlab = "Años/Meses",
                           ylab = "Indice")

1. Modelo Aditivo Clásico.

Modelo Aditivo: La serie temporal es el resultado de la suma de los componentes teóricos.

1.1. Componente de Tendencia Tt, componente Tendencia-Ciclo TCt.

Estimación del componente Tendencia-Ciclo mediante medias móviles 2_12.

ma2_12 <- ma(serie.ivae.ts, 12, centre = TRUE)
autoplot(serie.ivae.ts,main = "IVAE, El Salvador 2009-2021[marzo]",
           xlab = "Años/Meses",
           ylab = "Indice")+
  autolayer(ma2_12,series = "Tt")

1.2. Cálculo de los Factores Estacionales (St).

library(magrittr)
library(fable)
library(forecast)
Yt <- serie.ivae.ts #Serie original
Tt <- ma2_12 #Media móvil centrada (2x12-MA) como componente de Tendencia Ciclo
SI <- Yt - Tt #Diferencia que contiene componentes Estacional e Irregular

St <- tapply(SI, cycle(SI), mean, na.rm = TRUE) #Promediando los resultados de cada mes
#Los factores estacionales deben sumar "0" en el modelo aditivo
St <- St - sum(St) / 12 
#Generar la serie de factores para cada valor de la serie original
St <- rep(St, len = length(Yt)) %>% ts(start = c(2009, 1), frequency = 12)
autoplot(St,
         main = "Factores Estacionales",
         xlab = "Años/Meses",
         ylab = "Factor Estacional") 

1.3. Cálculo del Componente Irregular (It).

It<-Yt-Tt-St
autoplot(It,
         main = "Componente Irregular",
         xlab = "Años/Meses",
         ylab = "It")

1.4. Descomposición Aditiva (libreria stats).

descomposicion_aditiva<-decompose(serie.ivae.ts,type = "additive")
autoplot(descomposicion_aditiva,main="Descomposición Aditiva",xlab="Años/Meses")

1.5. Descomposición Aditiva (libreria feasts).

library(tsibble)
library(feasts)
library(ggplot2)
Yt %>% as_tsibble() %>%
  model(
    classical_decomposition(value, type = "additive")
  ) %>%
  components() %>%
  autoplot() +
  labs(title = "Descomposición Clásica Aditiva, IVAE")+xlab("Años/Meses")


2. Modelo Multiplicativo Clásico.

Modelo Multiplicativo: La serie temporal es el resultado de la amplificación/atenuación de la tendencia a causa del resto de los componentes. Puede expresarse como un un modelo aditivo, a través de una transformación logaritmica.

2.1. Componente Tendencia Ciclo (Tt=TCt).

library(forecast)
Tt<- ma(serie.ivae.ts, 12, centre = TRUE)
autoplot(Tt,main = "Componente Tendencia [Ciclo]", xlab = "Años/Meses",ylab = "Tt")

2.2 Cálculo de Factores Estacionales (St).

library(forecast)
SI<-Yt/Tt #Serie sin tendencia.
St <- tapply(SI, cycle(SI), mean, na.rm = TRUE) #Promediando los resultados de cada mes
#Los factores estacionales deben promediar "1" en el modelo multiplicativo
St <- St*12/sum(St) 
#Generar la serie de factores para cada valor de la serie original
St <-
  rep(St, len = length(Yt)) %>% ts(start = c(2009, 1), frequency = 12) 
autoplot(St,
         main = "Factores Estacionales",
         xlab = "Años/Meses",
         ylab = "Factor Estacional") 

2.3. Cálculo del Componente Irregular (It).

library(forecast)
It<-Yt/(Tt*St)
autoplot(It,
         main = "Componente Irregular",
         xlab = "Años/Meses",
         ylab = "It")

2.4 Descomposición Multiplicativa (libreria stats).

library(forecast)
descomposicion_multiplicatica<-decompose(serie.ivae.ts,type = "multiplicative")
autoplot(descomposicion_multiplicatica,main="Descomposición Multiplicativa",xlab="Años/Meses")

2.5 Descomposición Multiplicativa (libreria feasts).

library(tsibble)
library(feasts)
library(ggplot2)
Yt %>% as_tsibble() %>%
  model(
    classical_decomposition(value, type = "multiplicative")
  ) %>%
  components() %>%
  autoplot() +
  labs(title = "Descomposición Clásica Multiplicativa, IVAE")+xlab("Años/Meses")