【问题标题】:Weighted linear regression in R with lm() and svyglm(). Same model, different resultsR 中使用 lm() 和 svyglm() 的加权线性回归。相同的模型,不同的结果
【发布时间】:2021-01-13 07:32:23
【问题描述】:

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

【问题讨论】:

  • 权重很棘手;权重的数学/统计定义因上下文而异。哪种方法合适可能取决于权重在您的问题上下文中的实际含义。 notstatschat.rbind.io/2020/08/04/weights-in-statistics 是对差异的非常很好的 (IMO) 解释。
  • 我明白了...感谢您提供有用的链接。我认为基于我想使用“抽样权重”的文章,因为这是来自欧洲选民选举研究(这是一项调查)的数据。这是否意味着第二个模型更合适,因为它来自“调查”包?文档并没有真正指定它是三种权重中的哪一种,但它确实提供了加权和未加权样本的方法 (europeanelectionstudies.net/wp-content/uploads/2019/11/…)。从文章来看,lm() 中的 weights 选项似乎计算了精确权重。
  • 是的,如果您在调查数据环境中工作,很有可能您想使用svyglm

标签: r linear-regression survey weighted


【解决方案1】:

主要是为了确认 cmets 中已有的内容:

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

【讨论】:

  • 答案还是比 cmets 好。
猜你喜欢
  • 2018-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2018-02-17
  • 2019-01-31
  • 2014-07-23
相关资源
最近更新 更多