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)
knitr::kable(summary(d2s))
caemp | |
---|---|
Min. : 82.80 | |
1st Qu.: 93.38 | |
Median :102.81 | |
Mean :100.22 | |
3rd Qu.:106.71 | |
Max. :113.06 |
interpretacion El gráfico de la serie muestra una tendencia creciente y cierta estacionalidad, lo que indica que la serie no es estacionaria en su nivel original. ### 7.1.1. ESTACIONARIEDAD
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
interpretacion La función de autocorrelación (ACF) desciende lentamente en los primeros 12 rezagos, lo cual confirma que la serie presenta fuerte dependencia temporal y tendencia.
d2sd=diff(d2s)
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
interpretacion La prueba de Dickey-Fuller aumentada (ADF) arroja un p-valor mayor a 0.05, por lo tanto, no se rechaza la hipótesis nula de raÃz unitaria: la serie no es estacionaria. ### 7.1.3. MODELO ARIMA
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 tres modelos presentes se escoge aquel que presente el valos mas bajo del indicador de ACI en este caso en MODELO=2 (aic=485.41) ### 7.1.4 PRONOSTICO
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
ts.plot(d2s,d2sp$pred,col=c("blue","red"))
### 7.1.5 EXPORTACION DE DATOS
start(d2s)
## [1] 1962 1
end(d2s)
## [1] 1995 4
start(d2sp)
## [1] 1 1
end(d2sp)
## [1] 2 1
inicio=1962.
final=1996.5
fecha=seq(inicio,final,by=0.25)
length(fecha)
## [1] 139
desempleo=c(d2s,d2sp$pred)
length(desempleo)
## [1] 139
data=c(rep("real",136),rep("pronostico",3))
length(data)
## [1] 139
datosd=data.frame(fecha,desempleo,data)
library(writexl)
write_xlsx(datosd,"datos_desempleo.xlsx")
library(ggplot2)
ggplot(datosd, aes(x=fecha,y=desempleo, col=data))+
geom_line()+theme_bw()