Determinar un modelo para la serie de tiempo del país escogido

Datos del crecimiento del PIB de Singapur

data <- read.table(file.choose(),head=TRUE,sep=";")
data <- data.frame(data)
datos_ts<-ts(data$PIBGr, frequency = 1)

Gráfica de serie de tiempo

plot(datos_ts,main="Serie de tiempo",ylab="Crecimiento del PIB",xlab="Años")

Prueba de Dickey-Fuller

tseries::adf.test(datos_ts)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  datos_ts
## Dickey-Fuller = -3.4234, Lag order = 3, p-value = 0.06039
## alternative hypothesis: stationary

De acuerdo con el resultado de la prueba se obtuvo un p-value de 0.06039. Por ello es necesario realizar una diferenciación a la serie de tiempo para que esta sea estacionaria.

Datos con diferenciación

diff_ts<-diff(datos_ts)

Gráfica de serie de tiempo diferenciada

plot(diff_ts,main="Serie de tiempo",ylab="Crecimiento del PIB",xlab="Años")

Prueba de Dickey-Fuller de datos diferenciados

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 = -5.2713, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary

Luego de realizar una diferenciación a la serie de tiempo, se observa en la gráfica que no hay tendencia. Además, con la prueba de Dickey-Fuller se obtuvo un p-value de 0.01 que es menor a 0.05. Por lo cual, la serie de tiempo con una diferenciación sí es estacionaria.

Gráfica de autocorrelación (ACF)

acf(diff_ts)

Gráfica de autocorrelación parcial (PACF)

pacf(diff_ts)

En la gráfica de ACF se puede observar una caída instantánea y en la gráfica de PACF se observa una caída gradual. Por ello se utilizará un modelo de medias móviles (MA).

Establecimiento de posibles modelos

modelo1 = arima(datos_ts, order=c(0,0,1))
modelo2 = arima(datos_ts, order=c(0,0,2))

modelo1$aic
## [1] 357.8585
modelo2$aic
## [1] 359.759

En base al criterio de información de Akaike obtenido de ambos modelos, se selecciona el modelo 1 porque presenta el valor más bajo, que es correspondiente a 357.8585

Análisis de ruido blanco

checkresiduals(modelo1$residuals)
## Warning in modeldf.default(object): Could not find appropriate degrees of
## freedom for this model.

  • En la gráfica de residuales no se observa tendencia en el comportamiento de los residuales del modelo.
  • En la gráfica de autocorrelación (ACF) se observa que ni siquiera un 10% de los lags sobrepasan el límite de tolerancia.
  • En la tercera gráfica se observa un comportamiento de campana, que indica normalidad en los residuales.

Prueba de Ljung-Box

Box.test(modelo1$residuals, type="Ljung-Box")
## 
##  Box-Ljung test
## 
## data:  modelo1$residuals
## X-squared = 0.00093954, df = 1, p-value = 0.9755

Por medio de la prueba de Ljung-Box se obtuvo un p-value de 0.9755. Dado que este valor es mayor a 0.05 se afirma que existe ruido blanco en el modelo de la serie de tiempo, lo cual significa que los residuos del modelo se deben a causas estocásticas.

Predicción del modelo

a<-forecast::forecast(modelo1)
plot(a)