DESCOMPOSICIÓN DE SERIES TEMPORALES

1. Descomposición de Series Temporales.

library(readxl)
library(forecast)
serie.imae<-read_excel("~/tableExport_IMAE.xlsx", 
    col_types = c("skip", "numeric"),
            skip = 5)
serie.imae.ts<- ts(data = serie.imae,
                start = c(2018, 1),
                frequency = 12)

serie.imae.ts %>%
  autoplot(main = "IMAE, EL SALVADOR 2018-2024 [marzo]",
           xlab ="Años/Meses",
           ylab = "Indice")

2. Modelo Aditivo.

2.1.1. Componente de Tendencia Tt [componente TCt].

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

2.1.2. Cálculo de los Factores Estacionales [Componente St].

library(magrittr)
Yt <- serie.imae.ts
Tt <- ma2_12
SI <- Yt - Tt

St <- tapply(SI, cycle (SI), mean, na.rm = TRUE)
St <- St - sum(St) / 12
St <- 
  rep(St, len = length(Yt)) %>% ts(start = c(2018, 1), frequency = 12)
autoplot(St,
         main = "Factores Estacionales",
         xlab = "Años/Meses",
         ylab = "Factor Estacional")

2.1.3. Cálculo del Componente Irregular [It].

I t = Y t T t S t

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

2.1.4. Descomposición Aditiva (usando la libreria stats):

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

2.1.5. Descomposición Aditiva usando 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, IMAE")+xlab("Años/Meses")

2.2. Modelo Multiplicado.

2.2.1. Componente Tendencia Ciclo [Tt = TCt].

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

2.2.2. Cálculo de Factores Estacionales [St].

St <- Yt/Tt 
St <- tapply(SI, cycle(SI), mean, na.rm = TRUE)
St <- St*12/sum(St)

St <-
  rep(St, len = length(Yt)) %>% ts(start = c (2018,1), frequency = 12)
autoplot(St,
         main = "Factores Estacionales",
         xlab = "Años/Meses",
         ylab = "Factor Estacional")

2.2.3. Cálculo del Componente Irregular [It].

I t = Y t T t · S t

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

2.2.4. Descomposición Multiplicativa (usando la libreria stats):

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

2.2.5. Descomposición Multiplicativa usando 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, IMAE") + xlab("Años/Meses")

2.3. Descomposición usando la libreria TSstudio.

library(TSstudio)
ts_decompose(Yt, type = "addtive", showline = TRUE)
ts_seasonal(Yt, type = "box",title = "Análisis de Valores Estacionales")