MBJ Arima
MBJ Arima
Frank
2024-07-05
setwd("C:/Users/Alberto/Desktop/clases0507")
1. Idenfificación
2. Ajustar el modelo
3. Diagnóstico del modelo
4. Pronóstico
graficando datos
plot(bd.ts)
1
17
16
15
bd.ts
14
13
12
11
Time
Análisis de correlación
2
0.2 0.4 0.6 0.8 1.0
ACF
−0.2
0 1 2 3 4
Lag
Figura 1: Función de autocorrelación simple
3
0.4
Partial ACF
0.2
0.0
−0.2
0 1 2 3 4
Lag
Figura 2: Función de autocorrelación parcial
Prueba de Dickey-Fuller
Hipotesis:
H0 : La serie es no estacionaria: tiene raiz unitátia
H1 : La serie es estacionaria: no tiene raiz unitátia
Estadistico de prueba
library(urca)
library(tseries)
adf.test(bd.ts)
##
## Augmented Dickey-Fuller Test
##
## data: bd.ts
## Dickey-Fuller = -2.4191, Lag order = 3, p-value = 0.4068
## alternative hypothesis: stationary
4
A partir de la prueba de Dickey-Fuller, concluimos que la serie es no estacionaria, contiene raiz unitária.
library(ggplot2)
library(forecast)
difftemp<-diff(bd.ts)
autoplot(difftemp, colour = "navy", linetype = "dashed")
0
difftemp
−2
−4
2020 2021 2022 2023 2024
Time
5
0.8
0.4
ACF
0.0
−0.4
0 1 2 3
Lag
Figura 3: Función de autocorrelación simple
6
0.2
Partial ACF
0.0
−0.2
−0.4
0 1 2 3
Lag
Figura 4: Función de autocorrelación parcial
Hipotesis:
H0 : La serie es no estacionaria: tiene raiz unitátia
H1 : La serie es estacionaria: no tiene raiz unitátia
Estadistico de prueba
adf.test(difftemp)
##
## Augmented Dickey-Fuller Test
##
## data: difftemp
## Dickey-Fuller = -4.8033, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary
A partir de la prueba de Dickey-Fuller, concluimos que la serie es estacionaria, y no contiene raiz unitária.
7
2. Ajuste de modelo ARIMA
##
## Call:
## arima(x = difftemp, order = c(0, 1, 1), method = "ML")
##
## Coefficients:
## ma1
## -1.000
## s.e. 0.064
##
## sigma^2 estimated as 0.9841: log likelihood = -66.83, aic = 137.66
##
## Call:
## arima(x = difftemp, order = c(2, 1, 1), method = "ML")
##
## Coefficients:
## ar1 ar2 ma1
## -0.1092 -0.3608 -1.0000
## s.e. 0.1366 0.1342 0.1114
##
## sigma^2 estimated as 0.8307: log likelihood = -63.45, aic = 134.89
library(lmtest)
##
## Attaching package: ’zoo’
coeftest(arima2)
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## ar1 -0.10917 0.13657 -0.7994 0.424069
## ar2 -0.36084 0.13417 -2.6895 0.007156 **
## ma1 -1.00000 0.11142 -8.9751 < 2.2e-16 ***
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
8
confint(arima2)
## 2.5 % 97.5 %
## ar1 -0.376851 0.15850355
## ar2 -0.623804 -0.09787693
## ma1 -1.218377 -0.78162178
## df AIC
## arima1 2 137.6574
## arima2 4 134.8919
## df BIC
## arima1 2 141.3147
## arima2 4 142.2064
9
2
1
arima1$residuals
0
−1
−2
−3
Time
Figura 5: Residuos del modelo ARIMA(0,1,1)
10
2
1
arima2$residuals
0
−1
−2
−3
Time
Figura 6: Residuos del modelo ARIMA(2,1,1)
acf(arima1$residuals,mai="")
11
0.8
0.4
ACF
0.0
−0.4
Lag
acf(arima2$residuals, main="")
12
0.2 0.4 0.6 0.8 1.0
ACF
−0.2
Lag
pacf(arima1$residuals,mai="")
13
0.2
Partial ACF
0.0
−0.2
−0.4
Lag
pacf(arima2$residuals, main="")
14
0.3
0.2
0.1
Partial ACF
−0.1 0.0
−0.3
Lag
Los gráficos Q-Q es una de las herramientas mas utilizados para evaluar la normalidad de los residuos.
15
Normal Q−Q Plot
2
1
Sample Quantiles
0
−1
−2
−3
−2 −1 0 1 2
Theoretical Quantiles
Figura 7: Gráfico Q−Q para evaluar normalidad de reisduos
16
Normal Q−Q Plot
2
1
Sample Quantiles
0
−1
−2
−3
−2 −1 0 1 2
Theoretical Quantiles
Figura 8: Gráfico Q−Q para evaluar normalidad de reisduos
shapiro.test(arima1$residuals)
##
## Shapiro-Wilk normality test
##
## data: arima1$residuals
## W = 0.94161, p-value = 0.02051
shapiro.test(arima2$residuals)
##
## Shapiro-Wilk normality test
##
## data: arima2$residuals
## W = 0.91559, p-value = 0.002354
Predicciones
17
predict(arima2,n.ahead = 5)
## $pred
## Jan Feb Mar Apr May
## 2024 0.121471733 -0.182748267 -0.015599612 0.075927031 0.005620728
##
## $se
## Jan Feb Mar Apr May
## 2024 0.9213100 0.9246484 0.9731681 0.9765621 0.9838783
plot(forecast(arima2))
18
Forecasts from ARIMA(2,1,1)
2
0
difftemp
−2
−4
2020 2021 2022 2023 2024
Time
19