Как создать модель ARIMA с конкретными терминами MA (или q) в R

У меня возникли проблемы с определением конкретного способа использования arima{stats} для создания моделей ARMA, которые имеют конкретные термины MA, заданные не только максимальным числом.

Под этим я подразумеваю, что мне нужно указать модель AR(1)MA(1,4), которая должна приводить к перехвату, члену AR1, члену MA1 и члену MA4... но это отличается от AR(1)MA(4) модель, которая будет иметь термины для MA1, MA2, MA3 и MA(4).

Я могу сделать это прекрасно с помощью функции arma из пакета tseries.

> ar1ma14.model<-arma(ppi.d, lag=list(ar=1, ma=c(1,4)))
Warning message:
In arma(ppi.d, lag = list(ar = 1, ma = c(1, 4))) : order is ignored

Резюме (ar1ma14.model)

Call:
arma(x = ppi.d, lag = list(ar = 1, ma = c(1, 4)))

Model:
ARMA(1,4)

Residuals:
   Min         1Q     Median         3Q        Max 
-0.0401487 -0.0056047  0.0004295  0.0045259  0.0379418 

Coefficient(s):
           Estimate  Std. Error  t value Pr(>|t|)    
ar1        0.765279    0.080376    9.521  < 2e-16 ***
ma1       -0.355297    0.102216   -3.476 0.000509 ***
ma4        0.297776    0.098485    3.024 0.002498 ** 
intercept  0.001855    0.001026    1.808 0.070603 .  

Таким образом, он работает с arma, но функция arma не обладает такими же возможностями прогнозирования, как arima.

Я попробовал каждую возможность вставить список как q в ариму (p,d,q), и я не могу найти примеров того, как другие сделали это.

У кого-нибудь есть идея?

1 ответ

Я понял.

Это то, для чего предназначен сезонный параметр, который я подозревал, но не смог заставить его работать правильно.

По сути, модель AR(1)MA(1,4) представляет собой модель AR(1)MA(1) с сезонным скользящим средним в периоды t-4 (что имеет смысл, поскольку это квартальные данные).

Таким образом, способ сделать это с аримой:

ar1ma14.model<-arima(ppi.d, order=c(1,0,1), seasonal=list(order=c(0,0,1), period=4))

Call:
arima(x = ppi.d, order = c(1, 0, 1), seasonal = list(order = c(0, 0, 1), period = 4))

Coefficients:
         ar1      ma1    sma1  intercept
      0.8077  -0.3877  0.2297     0.0076
s.e.  0.0855   0.1295  0.0891     0.0032

Точно так же мне нужно протестировать модель AR(2)MA(|4|), которая включает в себя только член MA4, а не MA1, MA2 или MA3. Так что это будет модель AR (2) с сезонным MA4...

ar2ma4.model<-arima(ppi.d, order=c(2,0,0), seasonal=list(order=c(0,0,1), period=4))

Call:
arima(x = ppi.d, order = c(2, 0, 0), seasonal = list(order = c(0, 0, 1), period = 4))

Coefficients:
         ar1     ar2    sma1  intercept
      0.4570  0.1611  0.2574     0.0078
s.e.  0.0769  0.0790  0.0841     0.0027

sigma^2 estimated as 0.0001147:  log likelihood = 523.37,  aic = -1036.75
Другие вопросы по тегам