什么是多重共线性?

回归中的多重共线性是一个当模型中一些预测变量与其他预测变量相关时发生的条件。严重的多重共线性可能会产生问题,因为它可以增大回归系数的方差,使它们变得不稳定。以下是不稳定系数导致的一些后果:

  • 即使预测变量和响应之间存在显著关系,系数也可能看起来并不显著。
  • 高度相关的预测变量的系数在样本之间差异很大。
  • 从模型中去除任何高度相关的项都将大幅影响其他高度相关项的估计系数。高度相关项的系数甚至会包含错误的符号。

其实,通俗来讲,就是说,假设变量A、B都对结果Y有影响,也就是,A、B是你回归模型中的特征,一般我们假设特征都是IID,实际中A、B相关的情况是避免不了的,因此,在A、B相关的情况下,需要控制A或者B,否则结果会有偏,回归系数的方差,跟A、B的相关程度有关,如果相关性太强,结果显著性就不好,这种情况叫做多重共线性。

要度量多重共线性,可以检查预测变量的相关性结构,也可以查看方差膨胀因子 (VIF)。VIF 用于在您的预测变量相关时,度量估计回归系数的方差增加的幅度。如果所有 VIF 都为 1,则不存在多重共线性,但如果有些 VIF 大于 1,则预测变量为相关。VIF 大于 5 时,该项的回归系数的估计结果不理想。如果某个预测变量与其他预测变量的关联接近完美,则 Minitab 将显示一条消息,指出无法估计该项。无法估计的项的 VIF 值数通常超过十亿。

方差膨胀因子(Variance Inflation Factor),计算方法如下,对每个变量构建一个如下的最小二乘模型:

对于线性回归模型来说,模型的方差就是估计出的系数方差:

多重共线性反映在最后一项上,也就是说系数的方差变大了。方差膨胀因子,用于在预测变量相关时,度量估计回归系数的方差增加的幅度:

其中R^2为模型的确定系数,计算公式如下:

其中:

矩阵的特征值也可以用来衡量变量之间的共线性,如果几个变量之前存在共线性问题,那么有几个特征值就很小。

另外一个指标是条件数(Condition Number),条件数的计算方法为最大的特征值除上最小的特征值:

当矩阵的条件数较小时说明该矩阵的共线性问题较小,当条件数较大时则表示数据可能存在比较大的共线性问题。一般来说,条件数在100以下则表示问题不大,在100到1000之间可能需要关注下共线性问题,如果大于1000则表示存在比较严重的共线性问题。

每一个特征值都对应一个条件指数(Condition Indices),计算方法为最大的特征值除上当前特征值:

方差比例(Variance Proportion)可以用来找出存在共线性的变量,方差比例体现了变量对于特征值的贡献程度,当一个特征值对应的几个变量的方差比例同时比较大时,则表示这几个变量可能存在多重共线性,方差比例的计算方法如下:

首先求得每个特征值所对应的特征向量:

于是,第i个特征值所对应的第j个变量的方差分解比例为:

在分析多重共线性问题时,一般会先找到最大的条件指数,看是否在容忍范围内,若超出范围,则在该行找到方差比例较大的几个变量,这几个变量即可能存在多重共线性的问题。

多重共线性不会影响拟合优度和预测优度。系数(线性判别函数)无法可靠地进行解译,但拟合(分类)值不会受到影响。

注意:多重共线性在判别分析中的效应与在回归中相同。

补充一份来自知乎的解释:

其实,到这里应该就很清楚了,也就是说,多重共线性影响的是模型的系数确定性、解释性,通俗一点讲,就是线性回归模型的系数没有训练准确。

多重共线性的纠正方法

严重多重共线性的可能解决办法:

  • 如果要对多项式进行拟合,请将预测变量值减去预测变量的均值。
  • 从模型中删除那些高度相关的预测变量。由于它们提供了冗余信息,因此删除它们通常不会显著减少 R2。考虑使用逐步回归、最佳子集回归或数据集的专门知识来删除这些变量。
  • 使用偏最小二乘或主成分分析。这些方法可以将预测变量的数量减少为更小的不相关分量集。
  • 增加样本数,实际上,对大多数模型来说,多重共线性并不是一个很严重的问题

系统学习机器学习之特征工程(三)--多重共线性相关推荐

  1. 系统学习机器学习之特征工程(三)--稀疏特征之FM算法

    转自:https://www.cnblogs.com/pinard/p/6370127.html Pinard注:上面最后一句话应该是"而gθ(x)则利用yˆ(x)−θhθ(x)来计算&qu ...

  2. 系统学习机器学习之特征工程(四)--分箱总结

    首先from wiki给出一个标准的连续特征离散化的定义: 在统计和机器学习中,离散化是指将连续属性,特征或变量转换或划分为离散或标称属性/特征/变量/间隔的过程.这在创建概率质量函数时非常有用 - ...

  3. 系统学习机器学习之特征工程(二)--离散型特征编码方式:LabelEncoder、one-hot与哑变量*

    转自:https://www.cnblogs.com/lianyingteng/p/7792693.html 在机器学习问题中,我们通过训练数据集学习得到的其实就是一组模型的参数,然后通过学习得到的参 ...

  4. 系统学习机器学习之特征工程(一)--维度归约

    这里,我们讨论特征选择和特征提取,前者选取重要的特征子集,后者由原始输入形成较少的新特征,理想情况下,无论是分类还是回归,我们不应该将特征选择或特征提取作为一个单独的进程,分类或者回归方法应该能够利用 ...

  5. 面向机器学习的特征工程 三、文本数据: 展开、过滤和分块

    来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:@kkejili 校对:@HeYun 如果让你来设计一个算法来分析以下段落,你会怎么做? Emma knocked on t ...

  6. 系统学习机器学习之总结(三)--多标签分类问题

    前沿 本篇记录一下自己项目中用到的keras相关的部分.由于本项目既有涉及multi-class(多类分类),也有涉及multi-label(多标记分类)的部分,multi-class分类网上已经很多 ...

  7. 系统学习机器学习之神经网络(三)--GA神经网络与小波神经网络WNN

    1 遗传算法 1.1 遗传算法简介: 遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随 机化搜索方法.它是由美国的 J.Holland 教授 1975 年首先提出,其主要特 ...

  8. 面向机器学习的特征工程 八、自动化特征提取器:图像特征提取和深度学习

    来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:friedhelm739 校对:(虚位以待) 视觉和声音是人类固有的感觉输入.我们的大脑是可以迅速进化我们的能力来处理视觉和 ...

  9. 机器学习之 特征工程

    之前相关文章目录: 机器学习 之线性回归 机器学习 之逻辑回归及python实现 机器学习项目实战 交易数据异常检测 机器学习之 决策树(Decision Tree) 机器学习之 决策树(Decisi ...

最新文章

  1. ​2012年至今,细数深度学习领域这些年取得的经典成果!
  2. IOS高级开发 runtime(一)
  3. oracle 存储过程
  4. 从(0,0)到(n,n)——广度优先及其改进
  5. LuckyDraw app被评为Microsoft365 App Award
  6. 转:验证curl_init() 返回 false时..
  7. 【权限设计】一个案例,三个角色,简单说下B端产品的权限设计
  8. 【剑指Offer学习】【面试题22:栈的压入、弹出序列】
  9. paip.python 执行shell 带空格命令行attilax总结
  10. Java Web架构知识整理
  11. win10安装vc2015失败,尝试解决方案,目前有效
  12. CAN 通信协议(希望大家多多指点)
  13. 酷狗音乐车载Android版,酷狗音乐车机版
  14. kodi文件管理smb服务器,KODI+NAS的常见技巧
  15. Raspberry3B+搭建有线路由器-实现网口转发
  16. node-sass 安装失败问题 2022最新版
  17. python 批量下载种子_批量下载btbbt种子
  18. Flink系列文档-(YY05)-Flink编程API-多流算子
  19. 什么叫反射以及反射的优缺点
  20. 管理信息系统【五】之 系统分析

热门文章

  1. 有个开发者总结这 15 优雅的 JavaScript 个技巧
  2. APP漏洞导致移动支付隐患重重,未来之路如何走?
  3. 软件安全与脆弱性分析-对于freenote小程序的Poc分析
  4. Android手机通讯录
  5. 夜光:Java成神之路(九)擅长的语言
  6. centos使用storcli工具查看服务器硬盘和raid组信息
  7. linux脚本简单定时,shell之定时周期性执行脚本的方法示例
  8. 专业课学习——建立 SCT 数据库
  9. (TPAMI 2020) Part-A^2 Net
  10. 用c语言做学生公寓管理系统,基于C/S结构的学生公寓管理系统