Descomposicion de series temporales (multiplicativo y aditivo) Graciela Suriano

Descomposición

library(readxl)
library(forecast)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
serie.ivae <-
  read_excel("C:/Users/Grace/Desktop/tableExport_IMAE.xlsx", col_types = c ("skip", "numeric"), skip=5)
  
  serie.ivae.ts<- ts(data = serie.ivae,
                start = c(2018, 1),
                frequency = 12)


serie.ivae.ts %>%
  autoplot(main = "IVAE, EL SALVADOR 2018 - MARZO 2024", xlab = "Años/Meses", ylab = "Indice")

# Modelo Aditivo

Componente de Tendencia Tt [Componente TCt]

ma2_12<- ma(serie.ivae.ts, 12, centre = TRUE)
autoplot(serie.ivae.ts,main = "IVAE, EL Salvador 2018-2024 Marzo]",
         xlab = "Años/Meses",
         ylab = "Indice")+
  autolayer(ma2_12,series = "Tt")
## Warning: Removed 12 rows containing missing values or values outside the scale range
## (`geom_line()`).

## Cálculo de los Factores Estacionales [Componente St]

library(magrittr)
Yt <- serie.ivae.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")

# Cáculo del Componente Irregular [It]

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

# Descomposición Aditiva (usando stats)

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

# Descomposición Aditiva (usando feasts)

library(tsibble)
## 
## Attaching package: 'tsibble'
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union
library(feasts)
## Loading required package: fabletools
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")
## Warning: Removed 6 rows containing missing values or values outside the scale range
## (`geom_line()`).

# Modelo Multiplicativo

Componente Tendencia Ciclo [Tt=TCt]

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

# Cálculo de Factores Estacionales [St]

SI <- 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")

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 stast)

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

# Descomposición Multiplicativa (usando 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")
## Warning: Removed 6 rows containing missing values or values outside the scale range
## (`geom_line()`).

# Descomposición (usando TSstudio)

Multiplicativo

library(TSstudio)
ts_decompose(Yt, type = "multiplicative", showline = TRUE)

Aditivo

library(TSstudio)
ts_decompose(Yt, type = "additive", showline = TRUE)

Analisis estacional

ts_seasonal(Yt, type = "box", title = "Análisis de Valores Estacionales")