Zoeken…


Opmerkingen

De Arima functie in het voorspellingspakket is explicieter in de manier waarop deze omgaat met constanten, wat het voor sommige gebruikers gemakkelijker kan maken ten opzichte van de arima functie in basis R.

ARIMA is een algemeen raamwerk voor het modelleren en het maken van voorspellingen van tijdreeksgegevens met (voornamelijk) de reeks zelf. Het doel van het raamwerk is om de dynamiek op korte en lange termijn in een reeks te differentiëren om de nauwkeurigheid en zekerheid van voorspellingen te verbeteren. Meer poëtisch bieden ARIMA-modellen een methode om te beschrijven hoe schokken naar een systeem door de tijd heen worden overgedragen.

Vanuit een econometrisch perspectief zijn ARIMA-elementen nodig om de seriële correlatie te corrigeren en stationariteit te waarborgen.

Een AR1-proces modelleren met Arima

We zullen het proces modelleren

Voorbeeld AR1-proces

#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')

Voorbeeld Arima-proces

We passen een Arima-model met autoregressieve volgorde 1, 0 graden van differencing en een MA-volgorde van 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

Merk op dat onze coëfficiënt dicht bij de werkelijke waarde van de gegenereerde gegevens ligt

fit$coef[1]
#       ar1 
# 0.7040085 

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

ACF-proces van x

acf(fit$resid)

ACF van het ARIMA-residu


#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)

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow