Buscar..


Observaciones

La función Arima en el paquete de pronóstico es más explícita en la forma en que trata las constantes, lo que puede hacer que sea más fácil para algunos usuarios en relación con la función arima en la base R.

ARIMA es un marco general para modelar y hacer predicciones a partir de datos de series de tiempo utilizando (principalmente) la propia serie. El propósito del marco es diferenciar la dinámica a corto y largo plazo en una serie para mejorar la precisión y la certeza de los pronósticos. Más poéticamente, los modelos ARIMA proporcionan un método para describir cómo los choques a un sistema se transmiten a través del tiempo.

Desde una perspectiva econométrica, los elementos ARIMA son necesarios para corregir la correlación serial y garantizar la estacionariedad.

Modelando un Proceso AR1 con Arima

Modelaremos el proceso

Ejemplo de proceso AR1

#Load the forecast package
library(forecast)
    
#Generate an AR1 process of length n (from Cowpertwait & Meltcalfe)
# Set up variables
set.seed(1234)
n <- 1000
x <- matrix(0,1000,1)
w <- rnorm(n)

# loop to create x
for (t in 2:n) x[t] <- 0.7 * x[t-1] + w[t]
plot(x,type='l')

Ejemplo de Proceso Arima

Montaremos un modelo Arima con orden autorregresivo 1, 0 grados de diferenciación y un orden MA de 0.

#Fit an AR1 model using Arima
fit <- Arima(x, order = c(1, 0, 0))
summary(fit)
# Series: x 
# ARIMA(1,0,0) with non-zero mean 
#
# Coefficients:
#          ar1  intercept
#       0.7040    -0.0842
# s.e.  0.0224     0.1062
#
# sigma^2 estimated as 0.9923:  log likelihood=-1415.39
# AIC=2836.79   AICc=2836.81   BIC=2851.51
#
# Training set error measures:
#                         ME      RMSE       MAE MPE MAPE    MASE       ACF1
# Training set -8.369365e-05 0.9961194 0.7835914 Inf  Inf 0.91488 0.02263595
# Verify that the model captured the true AR parameter

Observe que nuestro coeficiente está cerca del valor real de los datos generados

fit$coef[1]
#       ar1 
# 0.7040085 

#Verify that the model eliminates the autocorrelation
acf(x)

Proceso ACF de x

acf(fit$resid)

ACF del residual ARIMA


#Forecast 10 periods
fcst <- forecast(fit, h = 100)
fcst
     Point Forecast      Lo 80    Hi 80     Lo 95    Hi 95
1001    0.282529070 -0.9940493 1.559107 -1.669829 2.234887
1002    0.173976408 -1.3872262 1.735179 -2.213677 2.561630
1003    0.097554408 -1.5869850 1.782094 -2.478726 2.673835
1004    0.043752667 -1.6986831 1.786188 -2.621073 2.708578
1005    0.005875783 -1.7645535 1.776305 -2.701762 2.713514
...

#Call the point predictions
fcst$mean
# Time Series:
# Start = 1001 
# End = 1100 
# Frequency = 1 
  [1]  0.282529070  0.173976408  0.097554408  0.043752667  0.005875783 -0.020789866 -0.039562711 -0.052778954
  [9] -0.062083302
...

#Plot the forecast
plot(fcst)

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow