Descomposición de Series Temporales (Enfoque Tradicional)

library(forecast)
library(readxl)
serie_PIB <- read_excel("C:/Users/usuario/Downloads/PIB trimestral precios corrientes SLV 2009-2021.xlsx", col_types = c("skip", "numeric"),skip = 5)

serie_PIB.ts <- ts(data = serie_PIB,start = c(2009, 1),frequency = 4)

serie_PIB.ts %>%autoplot(main = "PIB a precios corrientes trimestral, El Salvador 2009-2021",xlab = "Años/Meses",ylab = "Indice")

MODELO ADITIVO

Componente de Tendencia Tt [Componente TCt]

ma2_4<- ma(serie_PIB.ts, 4, centre = TRUE)
autoplot(serie_PIB.ts,main = "PIB a precios corrientes trimestral, El Salvador 2009-2021",xlab = "Años/Meses", ylab = "Indice")+autolayer(ma2_4,series = "Tt")

Cálculo de los Factores Estacionales [Componente St]

library(magrittr)
YT<- serie_PIB.ts 
TT<- ma2_4 
SI<- YT - TT 
St<- tapply(SI, cycle(SI), mean, na.rm = TRUE)
St<- St - sum(St) / 4 
St<-rep(St, len = length(YT)) %>% ts(start = c(2009, 1), frequency = 4) 
autoplot(St,main = "Factores Estacionales", xlab = "Años/Meses", ylab = "Factor Estacional")

Cálculo del Componente Irregular It

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

Descomposición Aditiva (usando la librería stats)

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

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, PIB")+xlab("Años/Meses")

MODELO MULTIPLICATIVO

Componente Tendencia Ciclo [Tt=TCt]

TT<- ma(serie_PIB.ts, 4, centre = TRUE)
autoplot(TT,main = "Componente Tendencia [Ciclo]", xlab = "Años/Meses",ylab = "TT")

Cálculo de Factores Estacionales [St]

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*4/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 = 4) 
autoplot(St,
         main = "Factores Estacionales",
         xlab = "Años/Meses",
         ylab = "Factor Estacional") 

Cálculo del Componente Irregular [It]

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

Descomposición Multiplicativa (usando la librería stats)

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

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, PIB")+xlab("Años/Meses")

IPC

Descomposición de Series Temporales (Enfoque Tradicional)

library(forecast)
library(readxl)
serie_IPC <- read_excel("C:/Users/usuario/Downloads/IPC.xlsx", col_types = c("skip", "numeric"),skip = 5)

serie_IPC.ts <- ts(data = serie_IPC,start = c(2009, 1),frequency = 12)

serie_IPC.ts %>%autoplot(main = "IPC general, El Salvador 2009-2022",xlab = "Años/Meses",ylab = "Indice")

MODELO ADITIVO

###Componente de Tendencia Tt [Componente TCt]

ma2_4_IPC<- ma(serie_IPC.ts, 12, centre = TRUE)
autoplot(serie_IPC.ts,main = "IPC General, El Salvador 2009-2022",xlab = "Años/Meses", ylab = "Indice")+autolayer(ma2_4_IPC,series = "Tt")

Cálculo de los Factores Estacionales [Componente St]

library(magrittr)
YT_IPC<- serie_IPC.ts 
TT_IPC<- ma2_4_IPC 
SI_IPC<- YT_IPC - TT_IPC 
St_IPC<- tapply(SI_IPC, cycle(SI_IPC), mean, na.rm = TRUE)
St_IPC<- St_IPC - sum(St_IPC) / 12 
St_IPC<-rep(St_IPC, len = length(YT_IPC)) %>% ts(start = c(2009, 1), frequency = 12) 
autoplot(St_IPC,main = "Factores Estacionales", xlab = "Años/Meses", ylab = "Factor Estacional")

Cálculo del Componente Irregular It

It_IPC<-YT_IPC-TT_IPC-St_IPC
autoplot(It_IPC,
         main = "Componente Irregular",
         xlab = "Años/Meses",
         ylab = "It_IPC")

Descomposición Aditiva (usando la librería stats)

aditiva_descomposicion_IPC<-decompose(serie_IPC.ts,type = "additive")
autoplot(aditiva_descomposicion_IPC,main="Descomposición Aditiva_IPC",xlab="Años/Meses")

Descomposición Aditiva usando libreria feasts

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

#MODELO MULTIPLICATIVO

Componente Tendencia Ciclo [Tt=TCt]

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

Cálculo de Factores Estacionales [St]

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

Cálculo del Componente Irregular [It]

It_IPC<-YT_IPC/(TT_IPC*St_IPC)
autoplot(It_IPC,
         main = "Componente Irregular",
         xlab = "Años/Meses",
         ylab = "It")

Descomposición Multiplicativa (usando la librería stats)

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

Descomposición Multiplicativa usando libreria feasts

library(tsibble)
library(feasts)
library(ggplot2)

YT_IPC %>% as_tsibble() %>%
  model(
    classical_decomposition(value, type = "multiplicative")
  ) %>%
  components() %>%
  autoplot() +
  labs(title = "Descomposición Clásica Multiplicativa, IPC")+xlab("Años/Meses")

Importación de hidrocarburos

Descomposición de Series Temporales (Enfoque Tradicional)

library(forecast)
library(readxl)
serie_HID <- read_excel("C:/Users/usuario/Downloads/Importación de hidrocarburos.xlsx", col_types = c("skip", "numeric"),skip = 5)

serie_HID.ts <- ts(data = serie_HID,start = c(2017, 1),frequency = 12)

serie_HID.ts %>%autoplot(main = "Importación de hidrocarburos, El Salvador 2009-2022",xlab = "Años/Meses",ylab = "Indice")

MODELO ADITIVO

Componente de Tendencia Tt [Componente TCt]

ma2_12<- ma(serie_HID.ts, 12, centre = TRUE)
autoplot(serie_HID.ts,main = "Importación de hidrocarburos, El Salvador 2009-2022",xlab = "Años/Meses", ylab = "Indice")+autolayer(ma2_12,series = "Tt")

Cálculo de los Factores Estacionales [Componente St]

library(magrittr)
YT_HID<- serie_HID.ts 
TT_HID<- ma2_12 
SI_HID<- YT_HID - TT_HID 
St_HID<- tapply(SI_HID, cycle(SI_HID), mean, na.rm = TRUE)
St_HID<- St_HID - sum(St_HID) / 12 
St_HID<-rep(St_HID, len = length(YT_HID)) %>% ts(start = c(2017, 1), frequency = 12) 
autoplot(St_HID,main = "Factores Estacionales", xlab = "Años/Meses", ylab = "Factor Estacional")

Cálculo del Componente Irregular It

It_HID<-YT_HID-TT_HID-St_HID
autoplot(It_HID,
         main = "Componente Irregular",
         xlab = "Años/Meses",
         ylab = "It")

Descomposición Aditiva (usando la librería stats)

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

Descomposición Aditiva usando libreria feasts

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

MODELO MULTIPLICATIVO

Componente Tendencia Ciclo [Tt=TCt]

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

Cálculo de Factores Estacionales [St]

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

Cálculo del Componente Irregular [It]

It_HID<-YT_HID/(TT_HID*St_HID)
autoplot(It_HID,
         main = "Componente Irregular",
         xlab = "Años/Meses",
         ylab = "It")

Descomposición Multiplicativa (usando la librería stats)

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

Descomposición Multiplicativa usando libreria feasts

library(tsibble)
library(feasts)
library(ggplot2)

YT_HID %>% as_tsibble() %>%
  model(
    classical_decomposition(value, type = "multiplicative")
  ) %>%
  components() %>%
  autoplot() +
  labs(title = "Descomposición Clásica Multiplicativa, HID")+xlab("Años/Meses")