对于ar(1)和arima(1,0,0),AIC之间存在巨大差异:
> a <- ar(rn, lags=1)
> a$aic
0 1 2 3 4 5 6 7 ...
6.0215169 1.2184962 2.0020937 1.1786418 0.9002231 0.0000000 1.1728207 ...
> b<-arima(rn, order=c(1,0,0))
> b$aic
[1] -6840.676
回归系数相当接近:ar为-0.068,arima为-0.077。 非常感谢任何评论。 艾力
答案 0 :(得分:2)
在 ar()的帮助中,您可以阅读:
aic每个模型与最佳拟合模型之间的AIC差异。
因此,它显示所选(“最佳”)模型的aic = 0,因为差异为零。
arima()显示您的实际情况。
例如,请考虑以下模拟数据集:
set.seed(11)
d<-rnorm(100)
然后估算ar和arma模型:
ar.m<-ar(d,demean=FALSE)
ar.m
Call:
ar(x = d)
Coefficients:
1
-0.1847
Order selected 1 sigma^2 estimated as 0.816
你看到ar选择了一个滞后。所以用arima估算相同的模型:
arima.m<-arima(d,order=c(1,0,0))
arima.m
Call:
arima(x = d, order = c(1, 0, 0))
Coefficients:
ar1 intercept
-0.1838 -0.1220
s.e. 0.0980 0.0756
sigma^2 estimated as 0.7995: log likelihood = -130.72, aic = 267.45
你现在看到,arima.m的aic是267.45
现在aic使用ar.m的残差和aic的公式计算:
ar.m.res<-ar.m$resid
rss.ar.m<-sum(ar.m.res[-1]^2)
l.ar.m<-1/(2*pi*rss.ar.m/100)^50*exp(-50)
2*2-2*log(l.ar.m)
267.5334
几乎一样......