datos_ts<-ts(datos$GDP.growth, frequency = 1)
plot(datos_ts, main="Serie de tiempo: PIB Panama",ylab="crecimientio del PIB %" )
tseries::adf.test(datos_ts)
##
## Augmented Dickey-Fuller Test
##
## data: datos_ts
## Dickey-Fuller = -3.3085, Lag order = 3, p-value = 0.07872
## alternative hypothesis: stationary
La prueba da como resultado un p value de: 0.07872 por lo que es necesario hacer una diferenciación, debido a que este valor debe ser menor a 0.05 para que la serie de tiempo sea estacionaria.
diff_ts<-diff(datos_ts)
plot(diff_ts, main="Serie de tiempo: PIB Panama",ylab=" % crecimientio del PIB" )
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 = -6.181, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary
Después de la prueba, en la gráfica es posible observar que no hay una clara tendencia. La prueba da como resultado un p value de: 0.01, este es menor a 0.05, por lo que la serie de tiempo ya es estacionaria.
acf(diff_ts)
pacf(diff_ts)
La serie de datos en la gráfica de autocorrelación muestra una caída repentina. En la gráfica de de autocorrelación parcial se muestra una caída gradual, por esto se utilizará un modelo de Medias Móviles (MA).
modelo1 = arima(datos_ts, order=c(0,0,1))
modelo2 = arima(datos_ts, order=c(0,0,2))
modelo1$aic
## [1] 379.9984
modelo2$aic
## [1] 381.514
Según el valor de AIC, de ambos modelos, se selecciona el modelo 1 ya que este presenta el valor más bajo (379.9984).
checkresiduals(modelo1$residuals)
## Warning in modeldf.default(object): Could not find appropriate degrees of
## freedom for this model.
Box.test(modelo1$residuals, type="Ljung-Box")
##
## Box-Ljung test
##
## data: modelo1$residuals
## X-squared = 0.007461, df = 1, p-value = 0.9312
Por medio de la prueba se obtuvo un p value de: 0.9312. Al ser este mayor que 0.05 se confirma que existe ruido blanco en el modelo de la serie de tiempo trabajada. Los residuos se deben a causas estocásticas.
a<-forecast::forecast(modelo1)
plot(a)