A continuación se seleccionaron los datos correspondientes al PIB anual de Guatemala del año 1961 a 2021. Se puede observar en la siguiente gráfica de serie de tiempo
## Warning: package 'forecast' was built under R version 4.2.2
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Warning: package 'seasonal' was built under R version 4.2.2
## Warning: package 'tseries' was built under R version 4.2.2
Luego se realizó una prueba de Dickey-Fuller para determinar si es necesario realizar una diferenciación.
tseries::adf.test(data)
##
## Augmented Dickey-Fuller Test
##
## data: data
## Dickey-Fuller = -2.366, Lag order = 3, p-value = 0.4269
## alternative hypothesis: stationary
Debido a que el resultado del p-valor es mayor a 0.05 es necesaria realizar una diferenciación y de nuevo realizar la prueba de Dickey-Fuller.
diff_ts<-diff(data)
tseries::adf.test(diff_ts)
## Warning in tseries::adf.test(diff_ts): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: diff_ts
## Dickey-Fuller = -4.3007, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary
Debido a que el p-valor es ahora menor a 0.05 se procede a analizar la gráfica de función de autocorrelación y función de autocorrelación parcial que ayudarán a definir el modelo adecuado a utilizar.
Debido a la caida repentina en ACF y caída continua en pACF se utilizará p, al haber dos colas fueras este será el primer modelo: 0,1,2. Sin embargo, se probará otro: 0,1,1. De estos se elegirá el que tenga un menor valor aic
modelo1 = Arima(diff_ts, order=c(0,1,1), include.drift = T)
modelo2 = Arima(diff_ts, order=c(0,1,2), include.drift = T)
modelo1$aic
## [1] 285.9428
modelo2$aic
## [1] 275.0639
Al ser el modelo 2 el que tiene un menor “aic” se procede a analizar los residuales y hacer un test, si el valor es mayor a 0.05 presente residuales aceptables
## Warning in modeldf.default(object): Could not find appropriate degrees of
## freedom for this model.
Box.test(modelo2$residuals, type="Ljung-Box")
##
## Box-Ljung test
##
## data: modelo2$residuals
## X-squared = 0.18309, df = 1, p-value = 0.6687
Con esta información se procesde a pronosticar los datos