Stima e previsione del modello MA

Analisi delle serie temporali in R

David S. Matteson

Associate Professor at Cornell University

  • Tasso di inflazione USA mensile (in %, annualizzato)
  • Osservazioni mensili dal 1950 al 1990
data(Mishkin, package = "Ecdat")
inflation <- as.ts(Mishkin[, 1])

inflation_changes <- diff(inflation)
ts.plot(inflation) ; ts.plot(inflation_changes)

Analisi delle serie temporali in R

Processi MA: variazioni del tasso d’inflazione - II

  • Inflation_changes: variazioni del tasso d’inflazione mensile USA
  • Traccia la serie e la ACF campionaria:
ts.plot(inflation_changes)
acf(inflation_changes, lag.max = 24)

Analisi delle serie temporali in R

$Oggi = Media + Rumore + Pendenza * (Rumore di ieri)$ $$Y_t = \mu + \epsilon_t + \theta\epsilon_{t-1}$$ $$\epsilon_t ~ WhiteNoise(0, \sigma_{\epsilon}^2)$$

MA_inflation_changes <- arima(inflation_changes, 
                              order = c(0, 0, 1))

print(MA_inflation_changes)
Coefficients:
         ma1  intercept
      -0.7932    0.0010
s.e.   0.0355    0.0281
sigma^2 estimated as 8.882

ma1 = $\hat{\theta}$, intercept = $\hat{\mu}$, sigma^2 = $\hat{\sigma^2_{\epsilon}}$

Analisi delle serie temporali in R

Processi MA: valori adattati - I

  • Valori adattati MA:

$$\hat{Y_t} = \hat{\mu} +\hat{\theta}\hat{\epsilon_{t-1}}$$

  • Residui =

$$\hat{\epsilon_t} = Y_t - \hat{Y_t}$$

Analisi delle serie temporali in R
ts.plot(inflation_changes)
MA_inflation_changes_fitted <- 
    inflation_changes - residuals(MA_inflation_changes)

points(MA_inflation_changes_fitted, type = "l", col = "red", lty = 2)

Analisi delle serie temporali in R

Previsioni

  • Previsioni a 1 passo:
predict(MA_inflation_changes)$pred
Jan
1991 4.831632
predict(MA_inflation_changes)$se
Jan
1991 2.980203
Analisi delle serie temporali in R

Previsioni (cont.)

  • Previsioni a h passi:
    predict(MA_inflation_changes, n.ahead = 6)$pred
    
           Jan       Feb       Mar       Apr       May       Jun
1991  4.831632  0.001049  0.001049  0.001049  0.001049  0.001049
predict(MA_inflation_changes, n.ahead = 6)$se
           Jan       Feb       Mar       Apr       May       Jun
1991  2.980203  3.803826  3.803826  3.803826  3.803826  3.803826
Analisi delle serie temporali in R

Passons à la pratique !

Analisi delle serie temporali in R

Preparing Video For Download...