R中具有lm和svyglm的加权线性回归相同型号,不同结果

问题描述

我想在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)

解决方法

主要是要确认评论中已经包含的内容:

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