多元线性模型分类变量方差_第三十一讲 R多元线性回归中的多重共线性和方差膨胀因子...

在前两讲中,我们介绍了多元线性回归的概念以及多元线性回归中的交互作用。今天学习的主要内容是多元线性回归中的多重共线性和方差膨胀因子。

1. 共线性的概念

1

共线性

在多元回归中,两个或多个预测变量可能彼此相关,这种情况称为共线性(multicollinearity)。

2

多重共线性

存在一种称为多重共线性的极端情况,其中三个或更多变量之间存在共线性,即使没有一对变量具有特别高的相关性。这意味着预测变量之间存在冗余。

重点:在存在多重共线性的情况下,回归模型的解变得不稳定 2. 共线性的评估

对于给定的预测变量(p),可以通过计算一个称为方差膨胀因子(variance inflation factor,VIF)的分数来评估多重共线性,该分数测量由于模型中的多重共线性而使回归系数的方差膨胀了多少。

VIF的最小可能值为1(不存在多重共线性)。根据经验,VIF值超过5或10表示有共线性问题。

面对多重共线性时,应删除相关的变量,因为多重共线性的存在意味着在存在其他变量的情况下该变量提供的有关响应的信息是多余的 。

3. 多重共线性检验的R实现

3.1 加载所需的R包

  • tidyverse 便于数据操作和可视化
  • caret 简化机器学习工作流程
library(tidyverse)library(caret)

3.2 数据举例

导入数据:

my_data'diabetes.csv')

检查数据:

dim(my_data)

[1] 768   9

head(my_data)
输出结果:
Pregnancies Glucose BloodPressure SkinThickness Insulin  PREGNANCIES DiabetesPedigreeFunction Age Outcome1           6     148            72            35       0 33.6                    0.627  50       12           1      85            66            29       0 26.6                    0.351  31       03           8     183            64             0       0 23.3                    0.672  32       14           1      89            66            23      94 28.1                    0.167  21       05           0     137            40            35     168 43.1                    2.288  33       16           5     116            74             0       0 25.6                    0.201  30       0

数据清理:

new_data0& my_data$SkinThickness >0 & my_data$BMI > 0 & my_data$BloodPressure> 0,]dim(new_data)

#[1] 532   9

研究问题:皮肤厚度、血压和体重指数在预测血糖水平的多重共线性问题

# 将数据分成训练数集和检验数集

set.seed(123)training.samples %createDataPartition(p = 0.8, list = FALSE)train.data test.data 

3.3 建立回归模型

回归模型可以计算如下:

model1 

# 用该模型计算验证数据集中预测值

predictions % predict(test.data)

# 模型在验证数据集中的预测评估情况

# (a) 预测误差, RMSERMSE(predictions, test.data$Glucose)

[1] 32.75619

# (b) R平方R2(predictions, test.data$Glucose)

[1] 0.1050992

3.4 检测多重共线性

R函数vif()[car包装]可用于检测回归模型中的多重共线性:

car::vif(model1)
输出结果
SkinThickness BloodPressure           BMI1.784053      1.101625      1.872286
在我们的示例中,预测变量的VIF得分 都相对比较低 (VIF < 2)。这说明皮肤厚度、血压与体重指数间不存在多重共线性。

3.5 处理多重共线性

如果我们发现有存在明显共线性,即VIF值非常高档预测变量,则需要将该变量从模型中删除,重新建立新的模型。从而排除共线性对回归模型的影响。 参考内容: 1. Alboukadel Kassambara, Machine Learning Essentials: Practical Guide in R ccd992f87020b98ba6884743229b0900.png 好了,本期讲解就先到这里。小伙伴们赶紧试起来吧。 提前预告一下,下一讲我 们将学习 R-线性回归模型的假设条件检验。

多元线性模型分类变量方差_第三十一讲 R多元线性回归中的多重共线性和方差膨胀因子..._第1张图片

你可能感兴趣的:(多元线性模型分类变量方差)