好好谈谈共线性问题

news/2024/11/24 1:48:58/

好好谈谈共线性问题

8 人赞同了该文章
共线性,即同线性或同线型。统计学中,共线性即多重共线性。
多重共线性(Multicollinearity)是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。
一般来说,由于经济数据的限制使得模型设计不当,导致设计矩阵中解释变量间存在普遍的相关关系。完全共线性的情况并不多见,一般出现的是在一定程度上的共线性,即近似共线性。


1、先谈谈共线性的一般性的影响

太多相关度很高的特征并没有提供太多的信息量,并没有提高数据可以达到的上限,相反,数据集拥有更多的特征意味着更容易收到噪声的影响,更容易收到特征偏移的影响等等,简单举个例子,N个特征全都不受到到内在或者外在因素干扰的概率为k,则2N个特征全部不受到内在或外在因素干扰的概率必然远小于k。这个问题实际上对于各类算法都存在着一定的不良影响;

2、然后谈谈线性回归和逻辑回归是怎么受到共线性影响的。

逻辑回归的梯度更新公式:

转为代码:

weights = weights - alpha * dataMatrix.transpose()* error

其中alpha为学习率,dataMatrix.transpose()为原始数据的矩阵,error=y_pred-y_true.

从这里可以看出,共线性问题对于逻辑回归损失函数的最优化没影响,参数都是一样更新,一样更新到收敛为止。所以对于预测来说没什么影响。

那共线性会引发什么问题。。。。:

1、模型参数估计不准确,有时甚至会出现回归系数的符号与实际情况完全相反的情况,比如逻辑上应该系数为正的特征系数 算出来为负。

2、本应该显著的自变量不显著,本不显著的自变量却呈现出显著性(也就是说,无法从p-值的大小判断出变量是否显著——下面会给一个例子)

3、多重共线性使参数估计值的方差增大,模型参数不稳定,也就是每次训练得到的权重系数差异都比较大。

其实多重共线性这样理解会简单很多:

假设原始的线性回归公式为:

y=w1*x1+w2*x2+w3*x3

训练完毕的线性回归公式为:

y=5x1+7x2+10x3,

此时加入一个新特征x4,假设x4和x3高度相关,x4=2x3,则

y=w1*x1+w2*x2+w3*x3+w4*x4=w1*x1+w2*x2+(w3+2w4)*x3

因为我们之前拟合出来的最优的回归方程为:

y=5x1+7x2+10x3

显然w3+2w4可以合并成一个新的权重稀疏 w5,则

y=w1*x1+w2*x2+w5*x3,显然:

y=w1*x1+w2*x2+w3*x3和y=w1*x1+w2*x2+w5*x3是等价的。。。。

那么最终最优的模型应该也是 y=5x1+7x2+10x3

但是考虑到引入了x4,所以w4和w3的权重是分开计算出来的,这就导致了

w5=10=w3+2w4,显然这个方程有无穷多的解,比如w3=4,w4=3,或者w4=-1,w3=12等,因此导致了模型系数估计的不稳定并且可能会出现负系数的问题。



下面的图和链接都不错。



glfkuan:模型中存在共线性问题,该怎么破?zhuanlan.zhihu.com图标

先从线性回归说起。

关于statsmodel,这里也介绍了每个指标的含义:

https://blog.csdn.net/zm147451753/article/details/83107535blog.csdn.net

这一篇已经解释的非常好了。做一些补充吧。打比赛的时候线性回归的这些检验基本没什么人做,但是业务上经常要求做各种各样的检验。statsmodel的检验项目比较全面,实际上逻辑回归与线性回归比我们想象的要复杂。

DF Residuals:

残差的自由度(等于 观测数也就是样本数(No. Observations)-参数数目(Df Model+1(常量参数,权重加上偏置的数量)))

Df Model:

模型参数个数(不包含常量参数)


R-squared:可决系数

上面分子就是我们训练出的模型预测的所有误差。
下面分母就是不管什么我们猜的结果就是y的平均数。(瞎猜的误差)


adj-R-squared:修正可决系数:

右边式子的R就是原始的R-sqaure,n是样本数量,p是特征的数量。

F-statistic:

Prob:p-value

统计显著性值,


还是系统性的回顾一下回归统计学方面的知识吧,好多细节都忘记了。

编辑于 2019-11-04
回归分析
计量经济学
统计学
赞同 8​2 条评论
分享
收藏

http://www.ppmy.cn/news/605418.html

相关文章

什么是云开发?小程序实例超详细演示~

学习视频: 八分钟读懂云开发_哔哩哔哩_bilibili小姐姐带你30分钟创建并上线小程序项目【云开发实战】_哔哩哔哩_bilibili 参考资料: 微信开放文档 (qq.com)云开发_百度百科 (baidu.com) 推荐阅读: 云原生推动全云开发与实践 - 知乎 (zhihu.co…

什么是高/低方差、高/低偏差、(推荐阅读)

2021071 https://www.pianshen.com/article/71161696005/ 方差是对多个样本集的比较而言? 摘要:在现实任务中,我们往往有多种学习算法可供选择,甚至对同一个学习算法,当使用不同的参数配置时,也会产生不同…

LeetCode简单题之统计数组中相等且可以被整除的数对

题目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k &#xff0c;请你返回满足 0 < i < j < n &#xff0c;nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。 示例 1&#xff1a; 输入&#xff1a;nums [3,1,2,2,2,1,3], k 2 输出…

交叉验证的作用

1. 可以使用所有的数据 一般模型训练都要把数据分成训练集和验证集合&#xff0c;这就导致训练数据比原始的数据要少&#xff0c;并且验证集也无法是所有的原始数据。 如果使用交叉验证&#xff0c;所有数据都可以用作训练&#xff08;但不是同一个模型&#xff09;&#xff0c…

LeetCode简单题之统计各位数字之和为偶数的整数个数

题目 给你一个正整数 num &#xff0c;请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。 正整数的 各位数字之和 是其所有位上的对应数字相加的结果。 示例 1&#xff1a; 输入&#xff1a;num 4 输出&#xff1a;2 解释&#xff1a; 只有 2 和 4 满足…

残差复合正态分布的重要性

如果结果残差不是正态分布 说明用线性回归来拟合数据是不合适的 可能是非线性回归 这里的类是对应因变量的取值 如果是连续型的那就只有一类 销售量 如果是离散型的那就有几类就假设几类 黑白球 当总体只有一类的时候 我们假设符合正态分布 如果有两类假设符合二项分布 论线性…

分享几个免费设计生成及参考工具 (第四期)

今天来给大家分享几个国外免费的设计生成工具 CallToInspiration https://calltoinspiration.com/ 一个为 UX 设计师和开发人员提供灵感的平台&#xff0c;在这里你可以看到很多细节化的设计元素&#xff0c;比如登录界面、个人资料页面、按钮、图标等&#xff0c;让你可以从中…

LeetCode简单题之数组中紧跟 key 之后出现最频繁的数字

题目 给你一个下标从 0 开始的整数数组 nums &#xff0c;同时给你一个整数 key &#xff0c;它在 nums 出现过。 统计 在 nums 数组中紧跟着 key 后面出现的不同整数 target 的出现次数。换言之&#xff0c;target 的出现次数为满足以下条件的 i 的数目&#xff1a; 0 < i…