【发布时间】:2021-09-17 17:26:25
【问题描述】:
我有一个搜索算法,它在线性回归模型上使用 R 调查包函数 AIC.svyglm。我将包更新到 4.1-1 版本,新功能出现了一些问题。
我在帮助页面中注意到,在新版本中,“extractAIC 用于具有高斯链接的模型使用基于方差参数的最大似然估计以及回归参数的实际 AIC”,而它使用使用 Rao-Scott 近似,所以我不希望获得相同的结果。但是,我注意到了一个意外行为。
这是一个最小的例子:
library(survey)
data(api)
# Define a simple design, for illustration
dclus2<-svydesign(id=~0, weights=~pw, data=apiclus2)
# 3 models (note: Gaussian family)
model0<-svyglm(I(sch.wide=="Yes")~ell+meals+mobility,
design=dclus2, family=gaussian())
model1<-update(model0, formula = .~.+as.numeric(stype),
design=dclus2, family=gaussian())
model2<-update(model0, formula = .~.+stype,
design=dclus2, family=gaussian())
# 'Equivalent' lm
model0lm<-lm(I(sch.wide=="Yes")~ell+meals+mobility, data=apiclus2, weights=pw)
model1lm<-update(model0lm, formula = .~.+as.numeric(stype))
model2lm<-update(model0lm, formula = .~.+stype)
summary(model1)
summary(model1lm)
#AIC on svyglm
AIC(model0,model1, model2)
#AIC on lm
AIC(model0lm,model1lm, model2lm)
对于 svyglm,结果是:
eff.p AIC deltabar
[1,] 8.686176 803.6719 2.171544
[2,] 14.317939 811.0289 2.863588
[3,] 30.163107 746.8759 5.027185
虽然我们确实希望模型 1 的 AIC 低于模型 0 的 AIC。对于 stats lm
df AIC
model0lm 5 198.6607
model1lm 6 166.9859
model2lm 7 131.5015
我错过了什么吗?
我使用 R 版本 4.1.0 和调查版本 4.1-1
【问题讨论】:
标签: r