Modely z prednášky

library(astsa)
y <- log(AirPassengers)
plot(y)

model1 <- sarima(y, 
                 p = 0, d = 1, q = 1,
                 P = 1, D = 1, Q = 0,
                 12)
## initial  value -3.076314 
## iter   2 value -3.274045
## iter   3 value -3.281041
## iter   4 value -3.281670
## iter   5 value -3.281680
## iter   5 value -3.281680
## iter   5 value -3.281680
## final  value -3.281680 
## converged
## initial  value -3.262921 
## iter   2 value -3.263947
## iter   3 value -3.263997
## iter   4 value -3.263997
## iter   4 value -3.263997
## iter   4 value -3.263997
## final  value -3.263997 
## converged

model2 <- sarima(y, 
                 p = 0, d = 1, q = 1,
                 P = 0, D = 1, Q = 1,
                 12)
## initial  value -3.086228 
## iter   2 value -3.267980
## iter   3 value -3.279950
## iter   4 value -3.285996
## iter   5 value -3.289332
## iter   6 value -3.289665
## iter   7 value -3.289672
## iter   8 value -3.289676
## iter   8 value -3.289676
## iter   8 value -3.289676
## final  value -3.289676 
## converged
## initial  value -3.286464 
## iter   2 value -3.286855
## iter   3 value -3.286872
## iter   4 value -3.286874
## iter   4 value -3.286874
## iter   4 value -3.286874
## final  value -3.286874 
## converged

Zápis modelov zo zápisu v R

Klasické ARMA modely:

set.seed(123)

# x_t = 0.7 x_{t-1} + u_t + 0.8 u_{t-1}
# (1 - 0.7 L)x_t = (1 + 0.8 L)u_t

x <- arima.sim(model = list(ar = 0.7, ma = 0.8), n = 1000)
m <- sarima(x, 1, 0, 1, details = FALSE)
m$fit$coef
##        ar1        ma1      xmean 
## 0.67321585 0.79735653 0.09837353

Sezónne AR modely:

# (1 - 0.8 L)*(1 - 0.7 L^4)x_t = u_t
# (1 - 0.8 L - 0.7 L^2 + 0.56 L^5)x_t = u_t
# x_t = 0.8 x_{t-1} + 0.7 x_{t-4} - 0.56 x_{t-5} + u_t

x <- arima.sim(model = list(ar = c(0.8, 0, 0, 0.7, -0.56)), n = 1000)
m <- sarima(x, 1, 0, 0, 1, 0, 0, 4, details = FALSE)
m$fit$coef
##       ar1      sar1     xmean 
## 0.7796146 0.7087060 0.3265276

Cvičenie 1. Sezónne MA modely:

# x_t = (1 - 0.8 L)*(1 - 0.7 L^4)u_t

x <- arima.sim(...)
sarima(...)

Cvičenie 2. Zapíšte modely z prednášky.

Cvičenie: nové dáta

library(seasonal)

# exp {seasonal}
# Monthly exports and imports of China (July 1983 to December 2013).

plot(exp) # export

xTrain <- window(log(exp), start=c(2000,1), end = c(2012,12))
xTest <-  window(log(exp), start=c(2013,1))

Nájdite SARIMA model pre dáta xTrain, zapíšte odhadnutý model a ukážte, že je stacionárny a invertovateľný. Spravte predikcie pre nasledujúci rok. Porovnajte so skutočnými hodnotami xTest.

Cvičenia: modely z prednášky - porovnanie

Uvažujme dva modely odhadnuté na prednáške. Porovnajte: