library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(forecast)
library(ggplot2)
library(readxl)
library(TTR)
d2s=co2
plot(co2)
El comportamiento de los datos es de forma multiplicativa y tiene tendencia creciente.
d2sl=log(d2s)
plot(d2sl)
plot(d2sl,col="blue")
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.
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. Por tanto se procede a realizar el modelo de mejor ajuste.
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 12 ninguno de los resagos es significativo (SMA(0)).
pacf(d2sldd,main="función de autocorrelación parcial")
auto.arima(d2sl)
## Series: d2sl
## ARIMA(2,1,2)(2,1,0)[12]
##
## Coefficients:
## ar1 ar2 ma1 ma2 sar1 sar2
## -0.1775 0.188 -0.1968 -0.2851 -0.6022 -0.3563
## s.e. 0.3763 0.110 0.3744 0.2046 0.0455 0.0457
##
## sigma^2 = 1.824e-06: log likelihood = 2530.18
## AIC=-5046.35 AICc=-5046.1 BIC=-5017.51
Además en la función de autocorrelación parcial se observa igualmente ningun resago significativo en la parte regular (AR(2)) Y en la parte estacional luego del resago 12 uno es claramente significativo (SAR(1)).
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