【问题标题】:Regression with weights: Less standardized residuals then observations权重回归:标准化残差低于观测值
【发布时间】:2018-04-06 00:37:19
【问题描述】:

我基于 Mincer-Wage-Equation 对多重回归建模,并​​添加了一个权重因子以使其代表整个人群。 但是当我将权重函数添加到我的模型中时,R 计算的标准化残差比我观察到的要少。

这是我的模型:

lm(log(earings) ~ Gender + Age + Age^2 + Education, weights= phrf)

所以我在分析残差时遇到了问题,因为当我试图根据 fit.values 绘制 rstandard 时,R 告诉我们:发现 rstandard() 中的不同变量长度。

这个问题只存在于 rstandard 和 rstudent 中,当我针对fitted.values 绘制正常的 resid() 时没有问题。

当我省略权重函数时,我也没有问题。

【问题讨论】:

  • 这可能是由于log(earings = 0) = -Inf的情况,这可能导致某些事件被丢弃?否则,请发布一个可重现的最小样本数据集。

标签: r linear-regression


【解决方案1】:

rstudent()的帮助文件中:

请注意,权重 == 0 的案例将从所有这些函数中删除,但如果线性模型已使用 na.action = na.exclude 进行拟合,则会为拟合期间排除的案例填充合适的值。

一个简单的例子来演示:

set.seed(123)
x <- 1:100
y <- x + rnorm(100)
w <- runif(100)
w[44] <- 0

fit <- lm(y ~ x, weights=w)
length(fitted(fit))
length(rstudent(fit))

给予:

> length(fitted(fit))
[1] 100
> length(rstudent(fit))
[1] 99

这是有道理的。如果您的权重为 0,则理论方差为 0,这是一个无限的学生化或标准化残差。

由于您实际上是在删除这些观察结果,因此您可以使用 subset=w!=0 子集对 lm 的调用,或者您可以将该标志用于拟合值:

plot(fitted(fit)[w!=0], rstudent(fit))

【讨论】:

    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 2021-02-17
    • 2020-05-05
    • 2021-03-17
    • 2020-02-28
    • 2015-01-31
    • 2020-10-22
    • 2017-10-03
    相关资源
    最近更新 更多