怎么使用PCA去除数据集中的多重共线性
本篇文章给大家分享的是有关怎么使用PCA去除数据集中的多重共线性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
站在用户的角度思考问题,与客户深入沟通,找到沙依巴克网站设计与沙依巴克网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖沙依巴克地区。
多重共线性是指自变量彼此相关的一种情况。当你拟合模型并解释结果时,多重共线性可能会导致问题。数据集的变量应该是相互独立的,以避免出现多重共线性问题。
为什么多重共线性是一个潜在的问题?
多重共线性高度影响与问题相关的方差,也会影响模型的解释,因为它削弱了自变量的统计显著性。
对于一个数据集,如果一些自变量彼此高度独立,就会导致多重共线性。任何一个特征的微小变化都可能在很大程度上影响模型的性能。换句话说,模型的系数对自变量的微小变化非常敏感。
如何处理数据中的多重共线性?
要处理或去除数据集中的多重共线性,首先需要确认数据集中是否具有多重共线性。有各种各样的技术来发现数据中存在多重共线性,其中一些是:
得到非常高的回归系数的标准误差
整体模型显著,但系数均不显著
在添加预测因子时,系数有很大变化
高方差膨胀因子(VIF)和低容错
以上是一些在数据中发现多重共线性的技术或技巧。
在这篇文章中,我们将看到如何使用相关矩阵和主成分分析来发现数据中的多重共线性,并使用主成分分析来去除它。基本思想是对所有的预测器运行一个主成分分析。如果存在多重共线性,它们的比率(条件指数)将会很高。
数据
为了进一步分析,使用的数据集是从Kaggle下载的Diamonds数据集。这个经典数据集包含近54000颗钻石的价格(目标变量)和其他9个自变量。
数据集预处理
数据集有9个独立的特征和' price '是目标类标签。在进行统计相关性分析之前,我们需要对分类变量进行编码,如“cut”、“color”和“clarity”。
相关性分析
要找到数据集中所有变量之间的person相关系数:
data.corr(method='pearson')Method of correlation:
* pearson (default)
* kendall
* spearman
从上面的相关热图,我们可以观察到自变量:' x ', ' y ', ' z ', '克拉'之间高度相关(人系数> 0.9),从而得出数据中存在多重共线性的结论。
我们也可以删除一些高度相关的特征,去除数据中的多重共线性,但这可能会导致信息的丢失,对于高维数据也是不可行的技术。但是可以使用PCA算法来降低数据的维数,从而去除低方差的变量。
使用PCA处理多重共线性
主成分分析(PCA)是数据科学中常用的特征提取技术,它利用矩阵分解将数据降维到更低的空间。
为了使用主成分分析技术从数据集中提取特征,首先我们需要找到当维数下降时解释的方差百分比。
符号,λ:特征值d:原始数据集的维数k:新特征空间的维数
从上图,np.cumsum(PCA .explained_variance_ratio_),第一主成分分析获得的数据总方差为0.46,对于前两主成分分析为0.62,前6主成分分析为0.986。
对于捕获的个体方差,第1个PCA捕获的数据方差为4.21,第2个PCA捕获的数据方差为1.41,第3个PCA捕获的数据方差为1.22,最后一个PCA捕获的数据方差为0.0156。
由于总方差的98.6%是由前6个主成分分析本身捕获的,我们只取6个主成分分析的组成部分,并计算一个相关热图来克服多重共线性。
从上面的相关热图可以看出,现在没有一个自变量是不相关的。
我们可以观察到自变量“x”,“y”,“z”,“克拉”之间高度相关(person系数> 0.9),从而得出数据中存在多重共线性的结论。
因此,利用主成分分析对数据进行降维,可以使数据的方差保持98.6%,并消除数据的多重共线性。
以上就是怎么使用PCA去除数据集中的多重共线性,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
网页名称:怎么使用PCA去除数据集中的多重共线性
URL地址:http://cdiso.cn/article/ieohdd.html