【问题标题】:heteroscedasticity: weights in lm function in R异方差性:R 中 lm 函数的权重
【发布时间】:2018-03-06 12:26:14
【问题描述】:

我很困惑。我有以下模型:lm(GAV ~ EMPLOYED)。这个模型具有异方差性,我相信这个模型的误差标准差可以用一个叫做SDL的变量来近似。

我已经拟合了相应的加权模型,将每个术语除以变量 SDL 后得到,使用两种形式:

lm(I(GAV/SDL) ~ I(1/SDL) + I(EMPLOYED/SDL)-1) 和 lm(GAV ~EMPLOYED,weights = 1/SDL)

我认为它们会产生相同的结果。但是,我得到不同的参数估计......

谁能告诉我我正在犯的错误?

提前致谢!

美联储

【问题讨论】:

  • 显示一些数据,以便我们可以重现您所看到的,例如使用dput

标签: r regression lm


【解决方案1】:

help("lm")明确解释:

加权最小二乘法用于权重weights(即 最小化总和(w*e^2));

所以:

x <- 1:10
set.seed(42)
w <- sample(10)
y <- 1 + 2 * x + rnorm(10, sd = sqrt(w))

lm(y ~ x, weights = 1/w)
#Call:
#  lm(formula = y ~ x, weights = 1/w)
#
#Coefficients:
#(Intercept)            x  
#      3.715        1.643  
lm(I(y/w^0.5) ~ I(1/w^0.5) + I(x/w^0.5) - 1)
#Call:
#  lm(formula = I(y/w^0.5) ~ I(1/w^0.5) + I(x/w^0.5) - 1)
#
#Coefficients:
#I(1/w^0.5)  I(x/w^0.5)  
#     3.715       1.643

顺便说一句,您可能对library(nlme); help("gls") 感兴趣。它为异方差建模提供了更复杂的可能性。

【讨论】:

  • 非常感谢罗兰。我发誓我以前读过帮助(“lm”)。我很傻,我错过了平方根与平方......我会按照你的建议看一下包 nlme 和函数 gls !
猜你喜欢
  • 2018-07-06
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 2013-02-24
  • 2018-10-03
  • 2018-12-11
  • 1970-01-01
  • 2015-06-21
相关资源
最近更新 更多