
1. 多元线性回归的概念
多元线性回归是简单线性回归的扩展,用于多个不同的预测变量(x)预测结果变量(y)。也可用于校正混杂因素,即将需要校正的混杂因素作为一个与预测变量平行的变量放入方程式中,从而达到在新建的模型中校正该混杂因素的作用。
对于三个预测变量(x),y的预测由以下等式表示:
y = b0 + b1*x1 + b2*x2 + b3*x3
“b”值称为回归权重(或β系数)。他们测量预测变量与结果之间的关联。“ bj”可以解释为“ xj”,在其他预测变量不变的情况下,每增加一个单位对y的平均影响 。
2.多元线性回归的R实现
2.1 加载所需的R包
本章需要以下R软件包:
- tidyverse 用于数据处理和可视化
library(tidyverse)
2.2 数据举例
我们将使用一组糖尿病的数据,它包含768人糖尿病相关的数据,包括怀孕情况,血糖,血压,皮肤厚度,胰岛素水平,体重指数,糖尿病谱系功能,年龄和糖尿病诊断结果(Outcome)。
如需获取数据diabetes.csv,请关注投必得医学公众号,后台回复“diabetes.csv”获取数据。
导入数据:
my_data<-read.csv('diabetes.csv')
检查数据:
dim(my_data)
[1] 768 9
head(my_data)
Pregnancies Glucose BloodPressure SkinThickness Insulin BMI DiabetesPedigreeFunction Age Outcome
1 6 148 72 35 0 33.6 0.627 50 1
2 1 85 66 29 0 26.6 0.351 31 0
3 8 183 64 0 0 23.3 0.672 32 1
4 1 89 66 23 94 28.1 0.167 21 0
5 0 137 40 35 168 43.1 2.288 33 1
6 5 116 74 0 0 25.6 0.201 30 0
数据清理
new_data<-my_data[my_data$Glucose>0 & my_data$Insulin >0 & my_data$BMI >0,]
dim(new_data)
#[1] 392 9
研究问题:根据胰岛素水平、怀孕次数和体重指数情况来预测血糖水平。
2.3 建立多元线性模型
多元线性模型如下所示:
Glucose = b0 + b1*Insulin + b2*Pregnancies + b3*BMI
您可以按以下方式计算R中的模型系数:
model <- lm(Glucose ~ Insulin + Pregnancies + BMI, data = new_data)
summary(model)
Call:
lm(formula = Glucose ~ Insulin + Pregnancies + BMI, data = new_data)
Residuals:
Min 1Q Median 3Q Max
-67.250 -16.499 -3.224 13.567 73.396
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 82.43375 6.16185 13.378 < 2e-16 ***
Insulin 0.14246 0.01079 13.197 < 2e-16 ***
Pregnancies 1.51089 0.38921 3.882 0.000122 ***
BMI 0.39216 0.18203 2.154 0.031826 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 24.61 on 388 degrees of freedom
Multiple R-squared: 0.3687, Adjusted R-squared: 0.3639
F-statistic: 75.55 on 3 and 388 DF, p-value: < 2.2e-16
2.4 结果解释
解释多元回归分析的第一步是在模型摘要的底部检查F统计量和关联的p值。
在我们的示例中,可以看出F统计量的p值 < 2.2e-16,这表明至少一个预测变量与结果变量显着相关。
要查看哪些预测变量与结果变量显著相关,您可以检查系数表,该表显示了回归β系数和相关的t统计p值的估计值:
summary(model)$coefficient
Estimate Std. Error t value Pr(>|t|)
(Intercept) 82.4337537 6.1618466 13.378092 7.896785e-34
Insulin 0.1424569 0.0107945 13.197176 4.158704e-33
Pregnancies 1.5108853 0.3892135 3.881894 1.217842e-04
BMI 0.3921590 0.1820293 2.154373 3.182598e-02
对于给定的预测变量,t统计量评估预测变量和结果变量之间是否存在显着关联,即预测变量的β系数是否显着不同于零。
可以看出,胰岛素水平和怀孕次数与血糖的变化显着相关(P < 0.001),而体重指数变化虽然与血糖变化也显著相关,但是关联性相对小一些(P = 0.03)。
对于给定的预测变量,系数(b)可以解释为,保持所有其他预测变量固定时,预测变量增加一个单位对y的平均影响。
例如,在固定的胰岛素水平和怀孕次数下,体重指数每增加一个单位,平均可以使血糖增加大约0.39 * 1 = 0.39个单位。
如果我们的模型中,存在有某个预测变量与结果变量不相关,则在最后的多元回归模型中,我们应该删除该预测变量。
模型系数的置信区间可以提取如下:
confint(model)
2.5 % 97.5 %
(Intercept) 70.31896628 94.5485411
Insulin 0.12123388 0.1636799
Pregnancies 0.74565390 2.2761166
BMI 0.03427176 0.7500462
3. 模型准确性评估
正如我们在简单线性回归中所看到的,可以通过检查R平方(R2)和残差标准误(RSE)来评估模型的整体质量。
3.1 残留标准误差(RSE)或sigma:
RSE估计值提供了预测误差的度量。RSE越低,模型(基于现有数据)越准确。
可以通过将RSE除以平均结果变量来估计错误率:
sigma(model)/mean(new_data$Glucose)
[1] 0.2007225
在我们的多元回归示例中,RSE为24.6,对应于20%的错误率。
3.2 R平方:
在多元线性回归中,R2表示结果变量(y)的观测值与y的拟合(即预测)值之间的相关系数。因此,R的值将始终为正,范围为0至1。
R2表示结果变量y中的方差比例,可以通过知道x变量的值来预测该比例。R2值接近1表示模型解释了结果变量中很大一部分方差。
R2的一个问题是,当将更多变量添加到模型中,即使这些变量与响应之间的关联性很弱,R2也会一直增加。解决方案是通过考虑预测变量的数量来调整R2。
摘要输出中“已调整的R平方”值是对预测模型中包含的x变量数量的校正。
在我们的示例中, 调整后的R2 = 0.3639,这意味着“ 36.39%的血糖差异可以通过胰岛素水平、怀孕次数和体重指数进行预测。
参考内容:
1. Alboukadel Kassambara, Machine Learning Essentials: Practical Guide in R
如果您觉得我说的对您有帮助,请点赞让我感到您的支持,您的支持是我写作最大的动力~ijournal:高颜值的期刊检索网站,助您快速找到理想目标期刊(weixin小程序也上线了哦)投必得:全专业中英文论文润色编辑助力您的论文快速发表,点击了解业务详情

专栏传送门:
投必得科研软件安装使用手册;投必得:SCI期刊介绍与选择;投必得,教你写论文;投必得统计分析大讲堂;投必得科研生活解忧杂货店