uu <- "https://raw.githubusercontent.com/vmoprojs/DataLectures/master/CAEMP.DAT"
datos=read.csv(url(uu),sep=",",header=T)
d2s=ts(datos,st=1962,fr=4)
plot(d2s)
se puede observar que no es estacional por que tiene tendencia
acf(d2s)
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
adf.test(d2s)
##
## Augmented Dickey-Fuller Test
##
## data: d2s
## Dickey-Fuller = -2.6391, Lag order = 5, p-value = 0.3106
## alternative hypothesis: stationary
basado en la prueba de Dickey Fuller la serie no es estacionario, ademas la funcion de autocorrelacion muestra un desenso suabe en los 12 primeros rezagos
d2sd=diff(d2s)
acf(d2sd)
adf.test(d2sd)
## Warning in adf.test(d2sd): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: d2sd
## Dickey-Fuller = -4.0972, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary
El p-valor de la prueba de D F demuestra que la serie es estacional, por que este es menor que alfa=5%
acf(d2sd)
pacf(d2sd)
m1=arima(d2s,order = c(0,1,2))
m1$aic
## [1] 488.5535
m2=arima(d2s,order = c(1,1,0))
m2$aic
## [1] 485.4119
m3=arima(d2s,order = c(1,1,2))
m3$aic
## [1] 489.1799
de los 3 modelos presentes sde escoje aquel que presente el valor mas bajodel indicador de AIC en este caso el modelo 2 (aic=486.41)
d2sp=predict(m2,3)
d2sp
## $pred
## Qtr1 Qtr2 Qtr3
## 1996 92.17202 92.24426 92.27748
##
## $se
## Qtr1 Qtr2 Qtr3
## 1996 1.437907 2.544385 3.499883
start(d2s)
## [1] 1962 1
end(d2s)
## [1] 1995 4
start(d2sp)
## [1] 1 1
end(d2sp)
## [1] 2 1
str(d2s)
## Time-Series [1:136, 1] from 1962 to 1996: 83.1 82.8 84.6 85.4 86.2 ...
## - attr(*, "dimnames")=List of 2
## ..$ : NULL
## ..$ : chr "caemp"
str(d2sp)
## List of 2
## $ pred: Time-Series [1:3] from 1996 to 1996: 92.2 92.2 92.3
## $ se : Time-Series [1:3] from 1996 to 1996: 1.44 2.54 3.5
inicio=1962.00
final=1996.
fecha=seq(inicio,final,by=0.25)
length(fecha)
## [1] 137
desempleo=rbind(d2s,d2sp)
## Warning in rbind(d2s, d2sp): number of columns of result is not a multiple of
## vector length (arg 2)
length(desempleo)
## [1] 137
data=rbind(rep("real",136),rep("Pronostico",3))
## Warning in rbind(rep("real", 136), rep("Pronostico", 3)): number of columns of
## result is not a multiple of vector length (arg 2)
#datos_desempleo=data.frame(fecha,desempleo,data)