0

我在 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。将不胜感激任何评论。亚历克

4

1 回答 1

2

ar()的帮助中,您可以阅读:

aic 每个模型与最佳拟合模型之间的 AIC 差异。

因此,它向您显示所选(“最佳”)模型的 aic = 0,因为差异为零。

arima ()显示的是实际的 aic。

例如,考虑以下模拟数据集:

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

现在使用 ar.m 的残差和 aic 的公式计算 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

这几乎是一样的......

于 2013-09-28T01:40:18.780 回答