为什么auto.arima()和Arima()不同?

4

我使用函数auto.arima()来拟合模型,然后我尝试使用同一模型的函数Arima()再次拟合,但是结果不同。

使用auto.arima()

> a<-c(90,88,96,110,105,128,119,117,155,135,138,127,156,168,145,160,180,175,189,166,184)
> chuoi<-ts(a,frequency=1,start=c(1990))
> auto.arima(chuoi)
Series: chuoi 
ARIMA(2,1,0) with drift         

Coefficients:
          ar1      ar2   drift
      -0.7075  -0.4648  4.7897
s.e.   0.1930   0.1972  1.3689

sigma^2 estimated as 163.1:  log likelihood=-79.7
AIC=167.39   AICc=170.06   BIC=171.38

通过使用相同模型的 Arima(),使用了所有方法“CSS-ML”,“ML”和“CSS”:

> fit210<-Arima(chuoi,c(2,1,0),method="ML")
> fit210
Series: chuoi 
ARIMA(2,1,0)                    

Coefficients:
          ar1      ar2
      -0.4670  -0.1928
s.e.   0.2162   0.2201

sigma^2 estimated as 244.2:  log likelihood=-83.48
AIC=172.96   AICc=174.46   BIC=175.95
> fit210<-Arima(chuoi,c(2,1,0),method="CSS")
> fit210
Series: chuoi 
ARIMA(2,1,0)                    

Coefficients:
          ar1      ar2
      -0.4876  -0.2111
s.e.   0.2196   0.2304

sigma^2 estimated as 268.3:  part log likelihood=-84.3
> fit210<-Arima(chuoi,c(2,1,0),method="CSS-ML")
> fit210
Series: chuoi 
ARIMA(2,1,0)                    

Coefficients:
          ar1      ar2
      -0.4671  -0.1928
s.e.   0.2162   0.2201

sigma^2 estimated as 244.2:  log likelihood=-83.48
AIC=172.96   AICc=174.46   BIC=175.95

显然,我得到了不同的系数ar(1),ar(2)。那么,函数auto.arima()是如何计算系数ar(1),ar(2)的呢?
1个回答

6
你的第一个模型包含漂移,你需要使用以下命令运行它:
Arima(chuoi,c(2,1,0),include.drift = TRUE)

这两者是相同的:

auto.arima(chuoi) 
Arima(chuoi,c(2,1,0),include.drift = TRUE) # default model, but with drift

输出:

> auto.arima(chuoi)
Series: chuoi 
ARIMA(2,1,0) with drift         

Coefficients:
          ar1      ar2   drift
      -0.7075  -0.4648  4.7897
s.e.   0.1930   0.1972  1.3689

sigma^2 estimated as 163.1:  log likelihood=-79.7
AIC=167.39   AICc=170.06   BIC=171.38



>   Arima(chuoi,c(2,1,0),include.drift = T)
Series: chuoi 
ARIMA(2,1,0) with drift         

Coefficients:
          ar1      ar2   drift
      -0.7075  -0.4648  4.7897
s.e.   0.1930   0.1972  1.3689

sigma^2 estimated as 163.1:  log likelihood=-79.7
AIC=167.39   AICc=170.06   BIC=171.38
> 

非常感谢@rbm。我尝试了并得到了正确的结果。我需要更多地了解Arima()。 - Duong Dinh Tu
@Duong Dinh Tu 如果你对答案满意的话,你应该考虑接受它 - lanenok
arma模型中调整后的d值将使模型更加准确。https://stats.stackexchange.com/questions/26926/fitting-arima-with-a-drift-on-r - Rγσ ξηg Lιαη Ημ 雷欧

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接