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

在R中计算MSS和RSS:需关注glm模型输出的哪些部分?

嘿,我来帮你理清楚怎么从这个高斯GLM模型里算出MSS(回归平方和)和RSS(残差平方和)~

首先得提一句:你用family=gaussian的GLM,其实和普通线性回归lm()的核心逻辑完全一致,所以计算方法可以直接沿用线性回归的思路,不用搞复杂的广义线性模型特殊处理。

一、直接调用模型组件是最高效的方式

你不用死盯着打印出来的输出,直接提取模型内置的组件就行:

  • 残差数组(model.1$residuals):RSS就是所有残差的平方和,一行代码就能算:sum(model.1$residuals^2)。
  • 拟合值数组(model.1$fitted.values):MSS是拟合值与因变量总均值的差的平方和。先算出因变量的总均值mean(wbw.df$x.percap),然后计算:sum((model.1$fitted.values - mean(wbw.df$x.percap))^2)。

二、打印输出里可以参考的验证点

看你给出的示例输出,有这些地方能帮你验证计算结果:

  • Deviance Residuals:这里给出的残差极值(Min/Max/四分位数),其实就是高斯GLM的普通残差(和线性回归残差完全一样),可以快速判断残差的分布范围,不过要计算RSS还是得用完整的残差数组。
  • 如果你跑summary(model.1),还会看到Residual standard error,它的平方乘以残差自由度(样本量减去参数个数)就是RSS,也就是(summary(model.1)$sigma)^2 * summary(model.1)$df.residual,可以用来核对你手动算的RSS对不对。

偷懒小技巧

不想手动计算的话,直接跑anova(model.1)就行!这个方差分析表会直接给出Sum Sq列,其中第一行就是回归平方和(MSS),第二行就是残差平方和(RSS),直接读数值就好,省事儿得很~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:30:57