Как создать модель 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