我基于Mincer-Wage方程模拟了一个多元回归,并且我添加了一个加权因子,使其成为整个人口的代表。 但是当我将权重函数添加到我的模型中时,R计算的标准化残差比我观察到的要少。
这是我的模式:
lm(log(earings) ~ Gender + Age + Age^2 + Education, weights= phrf)
所以我遇到了分析残差的问题,因为当我试图将rstandard映射到拟合值时,R告诉我:rstandard()中找到了不同的可变长度。
这个问题只有rstandard和rstudent,当我正在绘制正常的resid()与fit.values时,没有问题。
当我离开权重函数时,我也没有问题。
答案 0 :(得分:0)
在"lint": "vue-cli-service lint --no-fix"
的帮助文件中:
请注意,从所有这些函数中删除权重== 0的情况,但是如果线性模型已经安装了na.action = na.exclude,则在拟合期间排除的情况下会填入合适的值。
一个简单的例子来证明:
rstudent()
给出:
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))
这是有道理的。如果权重为0,则理论方差为0,这是无限的学生化或标准化残差。
由于您实际上正在删除这些观察结果,因此您可以使用> length(fitted(fit))
[1] 100
> length(rstudent(fit))
[1] 99
将调用分配到lm
,或者您可以将该标记用于拟合值:
subset=w!=0