R中的Cochrane-Orcutt变换,计算模型的BIC

时间:2018-06-28 18:13:40

标签: r

我正在R中构建线性模型。我使用orcutt包处理自相关:

Raven/MaxSimpleIndexOutputsPerDocument

我想同时找到model.lm和coch1的BIC值,但这是发生的情况:

我可以轻松地从model.lm中提取BIC。

require(orcutt)
model.lm <- lm(y ~  x1 + x2 + x3 + x4)
coch1 = cochrane.orcutt(model.lm, convergence = 8)

但是,我无法轻易地从coch1中提取BIC。

> BIC(model.lm)
[1] 2402.508
> class(model.lm)
[1] "lm"

因为coch1的类是“ orcutt”,所以我不能像我对model.lm那样的类“ lm”那样简单地运行BIC(coch1)。如何计算coch1模型的AIC和BIC值?

1 个答案:

答案 0 :(得分:0)

我很确定我已经弄清楚如何计算AIC手:

AICvalueCOCH = nrow(Data)*(log(2*pi)+1+log((sum(coch1$residuals^2)/nrow(Data))))+((length(coch1$coefficients)+1)*2) 

和手动BIC:

BICvalueCOCH = nrow(Data)*(log(2*pi)+1+log((sum(coch1$residuals^2)/nrow(Data))))+((length(coch1$coefficients)+1)*log(nrow(Data)))