Ricerca…


Osservazioni

La funzione Arima nel pacchetto di previsione è più esplicita nel modo in cui tratta le costanti, il che può rendere più semplice per alcuni utenti la funzione arima nella base R.

ARIMA è un framework generale per la modellazione e la realizzazione di previsioni da dati di serie temporali utilizzando (principalmente) la serie stessa. Lo scopo del framework è di differenziare le dinamiche a breve e lungo termine in una serie per migliorare l'accuratezza e la certezza delle previsioni. Più poeticamente, i modelli ARIMA forniscono un metodo per descrivere come gli shock di un sistema trasmettono nel tempo.

Dal punto di vista econometrico, gli elementi ARIMA sono necessari per correggere la correlazione seriale e garantire la stazionarietà.

Modellazione di un processo AR1 con Arima

Modelleremo il processo

Esempio di processo 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')

Esempio di processo Arima

Adatteremo un modello Arima con ordine autoregressivo 1, 0 gradi di differenziazione e un ordine MA pari a 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

Si noti che il nostro coefficiente è vicino al valore reale dai dati generati

fit$coef[1]
#       ar1 
# 0.7040085 

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

Processo ACF di x

acf(fit$resid)

ACF del residuo 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)

inserisci la descrizione dell'immagine qui



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow