Recherche…


Remarques

La fonction Arima du progiciel de prévision est plus explicite dans la manière dont elle traite les constantes, ce qui peut faciliter la tâche de certains utilisateurs par rapport à la fonction arima de la base R.

ARIMA est un cadre général de modélisation et de prédiction à partir de données de séries chronologiques utilisant (principalement) la série elle-même. Le cadre vise à différencier les dynamiques à court et à long terme dans une série afin d’améliorer la précision et la certitude des prévisions. De manière plus poétique, les modèles ARIMA fournissent une méthode pour décrire comment les chocs sur un système transmettent à travers le temps.

Du point de vue économétrique, les éléments ARIMA sont nécessaires pour corriger la corrélation en série et assurer la stationnarité.

Modélisation d'un processus AR1 avec Arima

Nous allons modéliser le processus

Exemple de processus 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')

Exemple de processus Arima

Nous adapterons un modèle Arima avec un ordre autorégressif 1, 0 degré de différenciation et un ordre 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

Notez que notre coefficient est proche de la valeur réelle des données générées

fit$coef[1]
#       ar1 
# 0.7040085 

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

Processus ACF de x

acf(fit$resid)

ACF du résiduel 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)

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow