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

R语言lm()函数回归系数计算逻辑及手动计算结果差异原因咨询

差异原因说明

  1. 核心原因:手动计算公式参数对应错误
    一元线性回归Y ~ X的斜率估计值计算公式为:

β̂₁ = [nΣ(XᵢYᵢ) - ΣXᵢΣYᵢ] / [nΣ(Xᵢ²) - (ΣXᵢ)²]
其中Y为因变量,X为自变量。你运行的回归是lm(X1~X2, DF),对应因变量Y=X1,自变量X=X2,因此公式分母需要使用自变量X2的平方和相关项,你误将分母写为了因变量X1的对应项,直接导致计算结果和lm()输出不一致。

你可以运行修正后的手动计算代码验证,结果和lm()输出的斜率完全匹配:

# 修正后手动计算斜率:分母替换为X2的对应统计量
(sum(DF[,1]*DF[,2])*nrow(DF) - sum(DF[,1])*sum(DF[,2])) / (nrow(DF) * sum(DF[,2]^2) - (sum(DF[,2])^2))
  1. 次要潜在原因:浮点运算精度误差
    如果排除公式书写错误的场景,极小的数值差异通常来自计算机浮点运算的精度限制,属于正常现象,一般不会影响统计推断结论。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:36:02