我用函数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“和"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)?
发布于 2016-03-07 11:14:12
你的第一个模型包括漂移,你需要运行它
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
> https://stackoverflow.com/questions/35841994
复制相似问题