library(tseries)
## Warning: package 'tseries' was built under R version 4.5.1
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.1
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.1
library(TTR)
## Warning: package 'TTR' was built under R version 4.5.1

Importacion de Datos

d2s=co2
plot(co2)

El presente grafico muestra un comportamiento de los datos los cuales son de forma multiplicativa y tiene tendencia creciente.

d2sl=log(d2s)
plot(d2sl)

Grafico de la serie

plot(d2sl,col="Green")

Modelo de Holt Winters

d2slw=HoltWinters(d2sl, seasonal = "multiplicative")
d2slwp=predict(d2slw,4)
d2slwp
##           Jan      Feb      Mar      Apr
## 1998 5.900201 5.902574 5.904801 5.908735
plot(d2slw,d2slwp)

Se pronostica que la serie sera creciente que tendra una subida amplia.

Serie Estacionaria

adf.test(d2sl)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  d2sl
## Dickey-Fuller = -3.2669, Lag order = 7, p-value = 0.0765
## alternative hypothesis: stationary

la serie no es estacionaria por que el p-valor es mayor a alfa.

d2sld=diff(d2sl)
adf.test(d2sld)
## Warning in adf.test(d2sld): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  d2sld
## Dickey-Fuller = -30.215, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary
d2sldd=diff(d2sl,12) 
adf.test(d2sldd)
## Warning in adf.test(d2sldd): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  d2sldd
## Dickey-Fuller = -4.8087, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary

el p-valor es menor que alfa. Por tanto se procede a realizar el modelo de mejor ajuste. La prueba de Dickey Fuller de la serie en diferencia regular y estacional es estacionario, porque el p-valor es menor que alfa.

Modelo de mejor ajuste SARIMA

acf(d2sldd,main="función de autocorrelación")

Se observa en la función de autocorrelación un resago de forma significativa en la parte regular (MA(1))y en la parte estacional luego del resago 11 ninguno de los resagos es significativo (SMA(0)).

pacf(d2sldd,main="función de autocorrelación parcial")

mod1 = arima(d2sl, order=c(2,1,2), seasonal=list(order=c(1,1,0), period=12))
mod1
## 
## Call:
## arima(x = d2sl, order = c(2, 1, 2), seasonal = list(order = c(1, 1, 0), period = 12))
## 
## Coefficients:
##           ar1     ar2      ma1      ma2     sar1
##       -0.1425  0.2495  -0.2202  -0.2948  -0.4445
## s.e.   0.2734  0.1045   0.2702   0.1355   0.0431
## 
## sigma^2 estimated as 9.732e-07:  log likelihood = 2502.17,  aic = -4992.34
Box.test(d2s,lag = 12,type = "Ljung-Box")
## 
##  Box-Ljung test
## 
## data:  d2s
## X-squared = 5104.1, df = 12, p-value < 2.2e-16
#Modelos SARIMA candidatos
mod2 = arima(d2sl, order = c(0,1,0), seasonal = list(order=c(0,1,0), period=12))
mod3 = arima(d2sl, order = c(0,1,1), seasonal = list(order=c(0,1,0), period=12))
mod4 = arima(d2sl, order = c(1,1,1), seasonal = list(order=c(0,1,0), period=12))
mod5 = arima(d2sl, order = c(1,1,1), seasonal = list(order=c(0,1,1), period=12))
#comparamos aic

mod1$aic
## [1] -4992.343
Box.test(mod1$residuals)
## 
##  Box-Pierce test
## 
## data:  mod1$residuals
## X-squared = 4.9356, df = 1, p-value = 0.02631
mod2$aic
## [1] -4848.593
Box.test(mod2$residuals)
## 
##  Box-Pierce test
## 
## data:  mod2$residuals
## X-squared = 4.1612, df = 1, p-value = 0.04136
mod3$aic
## [1] -4896.719
Box.test(mod3$residuals)
## 
##  Box-Pierce test
## 
## data:  mod3$residuals
## X-squared = 4.9078, df = 1, p-value = 0.02674
mod4$aic
## [1] -4897.973
Box.test(mod4$residuals)
## 
##  Box-Pierce test
## 
## data:  mod4$residuals
## X-squared = 3.1766, df = 1, p-value = 0.0747
mod5$aic
## [1] -5132.064
Box.test(mod5$residuals)
## 
##  Box-Pierce test
## 
## data:  mod5$residuals
## X-squared = 5.5533, df = 1, p-value = 0.01845