我按函数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)?
答案 0 :(得分:4)
你的第一个模型包括漂移,你需要用
运行它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
>