Importacion de datos

library(readxl)
## Warning: package 'readxl' was built under R version 4.5.1
library(forecast)
## Warning: package 'forecast' was built under R version 4.5.1
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(tseries)
## Warning: package 'tseries' was built under R version 4.5.1
url = "https://raw.githubusercontent.com/vmoprojs/DataLectures/master/pib_ec_const.csv"
datos = read.delim(url, sep = ";")
OF = datos$OF / 1000000  

Serie de tiempo trimestral

OF_ts = ts(OF, start = c(2000,1), frequency = 4)

plot(OF_ts, main="Oferta Final en millones", ylab="Millones", col="blue")

1. Identificar si la serie es multiplicativa o aditiva. En caso necesario transformar los datos.

OF_log = log(OF_ts)
plot(OF_log, main="OF en logaritmos", col="darkgreen")

Podemos ver que la varianza de la serie crece a medida que aumenta el nivel por lo que se comporta de forma multiplicativa.

2. Identificar y comentar si la serie es estacionaria. En caso necesario realizar las dierencias corespondientes.

adf.test(OF_log)
## Warning in adf.test(OF_log): p-value greater than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  OF_log
## Dickey-Fuller = -0.12106, Lag order = 4, p-value = 0.99
## alternative hypothesis: stationary

El resultado muestra un p-valor=0.99 lo cual es mayor a p-valor= 0.05 lo que significa que la serie no es estacionaria.

2.1. Diferencia

OF_diff = diff(OF_log, differences=1)
plot(OF_diff, main="OF en primera diferencia logarítmica")

adf.test(OF_diff)
## Warning in adf.test(OF_diff): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  OF_diff
## Dickey-Fuller = -4.4201, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary

vemos que p.valor= 0,01 lo cual es menor a p-valor= 0.05 indicando que la serie ya es estacionaria.

3. Modelizar la serie con un proceso SARIMA y escribir el modelo estimado

modelo_sarima = auto.arima(OF_log, trace=TRUE)
## 
##  ARIMA(2,2,2)(1,0,1)[4]                    : -368.4251
##  ARIMA(0,2,0)                              : -327.8621
##  ARIMA(1,2,0)(1,0,0)[4]                    : -351.2517
##  ARIMA(0,2,1)(0,0,1)[4]                    : -375.7921
##  ARIMA(0,2,1)                              : -377.6954
##  ARIMA(0,2,1)(1,0,0)[4]                    : -375.8806
##  ARIMA(0,2,1)(1,0,1)[4]                    : -374.961
##  ARIMA(1,2,1)                              : -375.5891
##  ARIMA(0,2,2)                              : -375.5894
##  ARIMA(1,2,0)                              : -352.2632
##  ARIMA(1,2,2)                              : -373.6416
## 
##  Best model: ARIMA(0,2,1)
modelo_sarima
## Series: OF_log 
## ARIMA(0,2,1) 
## 
## Coefficients:
##           ma1
##       -0.9382
## s.e.   0.0363
## 
## sigma^2 = 0.0005487:  log likelihood = 190.92
## AIC=-377.85   AICc=-377.7   BIC=-373.03

4. identificar lor periodos con valores mas altos y mas bajos usando HoltWinters.

modelo_hw = HoltWinters(OF_ts)
modelo_hw
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = OF_ts)
## 
## Smoothing parameters:
##  alpha: 0.9536581
##  beta : 0.04172012
##  gamma: 0
## 
## Coefficients:
##           [,1]
## a  21.51670779
## b   0.02543058
## s1  0.03615612
## s2 -0.07307662
## s3 -0.03822075
## s4  0.07514125
plot(modelo_hw, main="Modelo Holt-Winters para OF (millones)")

Los valores mas altos se pueden observar en los ultimos trimestres de losultimos años y los valores mas bajos se encuentran en los primeros años entre 2000 a 2003.

5. Determinar la predicción SARIMA para este trimestre y periodo.

pred_of = forecast(modelo_sarima, h=4)  

plot(pred_of, main="Predicción SARIMA OF (millones)")

pred_of
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2021 Q1       3.072679 3.042658 3.102699 3.026766 3.118591
## 2021 Q2       3.072197 3.028409 3.115984 3.005229 3.139164
## 2021 Q3       3.071715 3.016440 3.126990 2.987179 3.156251
## 2021 Q4       3.071233 3.005491 3.136975 2.970689 3.171777

El pronostico de los proximos 4 trimestres indica que la oferta final (OF) seguira en tendencia creciente,donde sugiere estabilidad en el crecimiento aunque con cierta incertidumbre natural