R 中使用 lm() 和 svyglm() 的加权线性回归。相同的模型,不同的结果

cho*_*rem 6 r survey linear-regression weighted

我想在 R studio 中应用调查权重进行线性回归。我已经看到可以使用该lm()函数来做到这一点,这使我能够指定我想要使用的权重。然而,也可以使用该函数来执行此svyglm()操作,该函数对调查设计对象中已按所需变量加权的变量进行回归。

从理论上讲,我认为这两个回归模型的结果没有理由不同,而且 beta 估计值是相同的。然而,每个模型中的标准误不同,导致不同的 p 值,从而导致不同的显着性水平。

哪种型号最合适?任何帮助将不胜感激。

这是 R 代码:

dat <- read.csv("https://raw.githubusercontent.com/LucasTremlett/questions/master/questiondata.csv")
model.weighted1 <-  lm(DV~IV1+IV2+IV3, data=dat, weights = weight)
summary(model.weighted1)
dat.weighted<- svydesign(ids = ~1, data = dat, weights = dat$weight)
model.weighted2<- svyglm(DV~IV1+IV2+IV3, design=dat.weighted)
summary(model.weighted2)
Run Code Online (Sandbox Code Playgroud)

Tho*_*ley 8

主要是为了确认评论中的内容:

  • lm并且svyglm将始终给出相同的点估计值,但通常会给出不同的标准误差。在我在这里使用的术语中,以及 @BenBolker 已经链接的术语(谢谢!),lm假设精度权重并svyglm假设采样权重
  • 对于该特定的调查数据集,您有抽样权重并希望svyglm
  • 从调查的描述来看,您还希望有一个分层变量,但看起来他们没有提供它。如果他们这样做了,它将被svydesign用于减少标准误差svyglm