You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中如何从WLS回归获取未加权残差与拟合值?

从WLS回归获取未加权拟合值与残差

你的猜测是对的:在R中使用lm()做加权最小二乘(WLS)时,resid(wlsmodel)返回的是加权残差,而fitted(wlsmodel)其实就是未加权的拟合值(即$\hat{y}i = X_i\hat{\beta}{WLS}$)——如果这部分和教材答案不符,建议先检查你的权重参数是否和习题要求一致(比如伍德里奇习题中常要求用某变量的倒数作为权重,确认你有没有搞反权重的形式)。

要得到未加权的残差(即$y_i - \hat{y}_i$),有两种简单方法:

  • 方法一:用原始因变量减去拟合值
unweighted_resid <- wlsmodel$model[[1]] - fitted(wlsmodel)
  • 方法二:将加权残差除以权重的平方根
unweighted_resid <- resid(wlsmodel) / sqrt(weights(wlsmodel))

如果需要手动计算未加权拟合值,也可以用模型系数和原始自变量矩阵推导:

# 提取WLS回归系数
wls_coef <- coef(wlsmodel)
# 获取包含截距项的自变量矩阵
X <- model.matrix(wlsmodel)
# 计算未加权拟合值
unweighted_fitted <- X %*% wls_coef

这个结果和fitted(wlsmodel)完全一致。

内容的提问来源于stack exchange,提问作者AKJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:15:51