R语言绘制残差与预测变量图及提取lm模型系数
R中简单线性回归的残差绘图与系数提取
1. 绘制残差相关图表
残差与拟合值的图
除了用plot(model)直接生成,你也可以手动提取数据自定义绘图:
# 提取拟合值和残差 fitted_vals <- fitted(model) resid_vals <- residuals(model) # 绘制带参考线的自定义图 plot(fitted_vals, resid_vals, main="残差 vs 拟合值", xlab="拟合值(Yhat)", ylab="残差") abline(h=0, col="red", lty=2) # 添加残差为0的参考虚线
残差与预测变量的图
直接调用原始数据集里的预测变量X,结合模型残差绘制即可:
plot(data$X, resid_vals, main="残差 vs 预测变量X", xlab="预测变量X", ylab="残差") abline(h=0, col="red", lty=2)
2. 提取完整精度的回归系数b0和b1
lm模型对象存储了未四舍五入的完整系数,用coef()函数或直接访问模型属性就能获取:
# 获取完整系数集合 coefs <- coef(model) b0 <- coefs[1] # 截距项 b1 <- coefs[2] # 预测变量X的回归系数 # 打印查看完整精度值 print(b0, digits=20) print(b1, digits=20)
也可以用model$coefficients替代coef(model),二者效果完全一致。
3. 自行计算残差
根据线性回归公式,残差 = 实际Y值 - 拟合值(拟合值 = b0 + b1*X),代码实现如下:
# 计算拟合值 y_hat <- b0 + b1 * data$X # 计算残差 resid_calculated <- data$Y - y_hat # 验证与模型自带残差是否一致 all.equal(resid_calculated, residuals(model))
内容的提问来源于stack exchange,提问作者Unique Worldline
相关产品推荐
相关产品推荐

