我无法确定使用arima {stats}来创建具有特定MA术语的ARMA模型的特定方式,这些MA术语不仅仅是最大数量。
我的意思是,我需要特定的AR(1)MA(1,4)模型,该模型应该产生拦截,AR1术语,MA1术语和MA4术语......但这是不同于AR(1)MA(4)模型,它将具有MA1,MA2,MA3和MA(4)的术语。
我可以使用tseries包中的arma函数做到这一点。
> 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没有相同的预测能力。
我已经尝试了在arima(p,d,q)中插入列表作为q的所有可能性,但是我找不到其他人做过它的例子。
有没有人有想法?
答案 0 :(得分:2)
我明白了。
这是季节性参数的含义,我怀疑,但无法使其正常工作。
基本上AR(1)MA(1,4)模型是AR(1)MA(1)模型,在t-4周期具有季节性移动平均值(这是有道理的,因为这是季度数据)。
所以用arima做的方法是:
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。那将是一个带有季节性MA4的AR(2)模型......
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