【发布时间】:2020-01-01 22:13:28
【问题描述】:
如何从lm_robust 对象(包estimatr)中获取AIC?我使用lm_robust 是因为我想使用稳健的估计器来计算SE。与lm 函数不同,当您运行摘要函数时不提供AIC,并且在lm_robust 对象上运行AIC 函数会产生错误。下面是我尝试运行的那种模型的玩具示例。
library(estimatr)
fake_data<-data.frame(outcome=rnorm(100,3.65,1),
pred1=rnorm(100,15,7),
pred2=as.factor(sample(1:5, 100, replace = T)))
mod1<-lm_robust(outcome~pred1+pred2,data=fake_data)
AIC(mod1)
错误信息如下所示:
> AIC(mod1)
Error in UseMethod("logLik") :
no applicable method for 'logLik' applied to an object of class "lm_robust"
【问题讨论】:
-
我不是 100% 相信稳健回归甚至具有明确定义的对数似然(即,可以在计算似然比测试中按原样使用的数字, AIC 值, 等等等等) ... ???下面的解决方案给出了数字,但我担心它们可能不是有意义的数字。例如见stats.stackexchange.com/questions/180451/…(未答复)
-
@BenBolker 实际上,即使我给出了答案,我也同意你的看法:)。因为,AIC 和 BIC 标准主要用于时间序列分析。我在
lm中没有看到任何对AIC 感兴趣的人。(如果我错了,如果在学术界存在使用AIC 的人,请纠正我)。底线,如果问题是计算方法,下面是正确的。但是,如果问题是lm_robust中的 AIC 的必要性...我不太确定。 -
生态学和进化领域的很多人(我的研究领域)将 AIC 用于线性模型(尽管对于 GLM 可能稍微更频繁一些)
-
@BenBolker 哇...我学到了一些东西。谢谢你。实际上,我主要使用 AIC 来选择时间序列中的滞后顺序等来确定更适合的模型。当谈到线性模型之间的比较时,因为它很常见,我一直认为应该看看 R-square。那么是什么让 AIC 成为线性模型所必需的,而不是考虑 R 方?
-
AIC 将非常类似于 adjusted R2 或 Mallows 的 Cp 统计量,即它考虑了模型的复杂性。 This CV answer 建议 AIC 具有更好的模型选择属性……“??????2????????????中的惩罚足以使??????2?????? ?????? 人口的无偏估计量 ??????2 当没有回归量实际上属于模型时......但是,??????2???????????? 是不是最佳模型选择器。”
标签: r regression lm