在开发模型的过程中,无论是针对传统的线性回归、逻辑回归模型,还是对于随机森林、GBDT、XGBoost等决策树模型,特征相关性分析是数据建模特征工程阶段一个必不可少的环节。
特征相关性分析及其变量筛选,可以有效优化模型的信息维度,并提升模型的区分能力,使模型在实际业务场景中保持较好的应用性能。
因此,特征的相关性分析是我们从事建模工作必须掌握的一项数据分析处理能力,做好这道处理工序也自然让流水化的作业稳稳的。
1、特征相关性分析
在分析样本特征变量的相关性时,针对不同取值类型的特征有不同的方法,主要分为以下几种情况:
(1)连续型与连续型:相关系数(pearson、spearman、kendall等)(2)连续型与离散型(二分类):T检验、Z检验(3)连续型与离散型(多分类):方差分析(4)离散型与离散型:卡方检验
在实际建模过程中,我们最常见的特征相关性分析情况是连续型与连续型之间,即采用perarson等相关系数来评价变量的相关程度,下面我们以具体样本数据来实现这个过程。
现有一份样本数据,包含5000条样本和16个特征,部分样例如图1所示,其中X01~X14为特征变量,Y为目标变量(取值二分类0/1)。

编辑
添加图片注释,不超过 140 字(可选)
图1 样本数据
针对以上样本的特征类型情况,我们通过python语言的corr()函数来实现变量的相关性分析,并指定系数类型method ='pearson',最终输出的二维矩阵系数结果如图2所示。
其中,对角线位置的数值表示变量本身的相关系数为1,其余数值为纵向变量与横向变量之间的相关性系数,例如变量X01与X02的pearson相关性系数大小为0.783652。

编辑切换为居中
添加图片注释,不超过 140 字(可选)
图2 特征pearson系数
由上图分布结果,可以很直观的了解到变量之间的相关性情况,pearson系数绝对值越大,代表变量之间的相关性越强,正值代表正相关,负值代表负相关,pearson系数的取值范围为0~1。
从图中可见部分特征字段的相关性系数已经达到了0.9以上,如果将这些变量都保留下来进入模型拟合阶段,显然是不合理的,很有可能使模型存在较严重的共线性(线性回归、逻辑回归),或者导致模型在应用过程中容易出现较大波动等情形。
因此,对于相关性较强的变量,必须对其进行特征筛选,这是建模场景特征应用的要点,也是本文将要介绍的重点内容。
2、特征相关性筛选
在实际业务场景中,通过pearson系数来选取变量的过程,往往是通过某个阈值来进行保留和剔除。
一般情况下,当建模变量池的字段数量较多时,可以初步设置0.5作为筛选标准;
当建模变量池的字段数较少时,可以调整为0.6或0.7作为筛选标准。
因此,以0.5~0.7的某个阈值作为特征相关性选择标准最为常见,也符合信贷业务的建模需求与业务表现,具体数值也需要结合样本特征情况以及实际业务需求综合而定,但这是一个核心思路。
以图2的特征样例说明,变量X04与X05的相关性系数为0.992021,说明这两个字段的相关性很强,在某种角度理解,二者数据分布趋势基本一致,完全可以通过其中某一个字段来代替另一个字段,是不需要将其全部选入建模变量池中。
通常情况下,我们根据相关性系数分布,采用某个判断阈值例如0.7来进行特征选择,当系数大于0.7时会删除,但是当变量X04与X05之间相关性系数(0.992021)远大于0.7,虽然满足特征阈值的剔除条件,但注意不能全部将其删除。
针对这两个变量相关性程度较高的情况,我们在实际业务中往往会参考特征的其他指标来进一步分析确定最终需删除的变量,例如特征的缺失率miss、信息值IV等,现简要总结几种比较常用的实践处理方法:
(1)删除缺失率miss较高的变量;
(2)删除信息值IV较低的变量;
(3)删除稳定性PSI较大的变量;
(4)删除重要性importance较低的变量。
对于以上几种方式,方法1对模型的拟合效果不一定有效,有时特征的缺失分布情况也可以表现出较好的区分度;
而方法2~4虽然从贡献度(IV、importance)与稳定度(PSI)方面对变量池进行了合理选择,也有利于模型训练的拟合效果,但针对相关变量的指标计算也会消耗较多时间。
此外,还可以结合特征变量的其他维度指标来选取变量,例如共线性VIF、异常率outlier等,其应用逻辑与以上方法类似。
针对以上情况,本文要介绍的方法是仅针对特征相关性系数分布来展开变量筛选,也就是对于相关性系数较大的两个特征,不借助其他维度指标来进行变量删除,而是要结合当前两个特征与其他特征的相关性程度,具体实现过程如下:
(1)获取所有特征变量的相关系数矩阵;
(2)选择相关系数值最大的变量组合(例如X1与X2);
(3)算出变量X1、X2与其他所有变量{Xn}相关性系数的平均值w1、w2;
(4)比较平均相关性系数w1、w2的大小关系;
(5)当w1>w2删除X1,当w1<w2删除X2,当w1=w2删除X1或X2均可;
(6)重复步骤2~4,直到变量相关系数最大值低于预设阈值(常见0.5~0.7)。
以图2分布结果的变量组合X04与X05为例,由于二者相关性系数(0.992021)很高,需要删除其中之一。
X04与X05与其他变量之间的相关系数及其平均值结果具体如图3所示。

编辑
添加图片注释,不超过 140 字(可选)
图3 特征X04与X05相关系数
从结果可知,X04与X05与其他变量的平均相关性系数分别为0.637524359、0.63713694,由于前者大于后者,说明X04相比X05在所有变量中的相关性较强,因此可以将变量X04删除。
这样在剩余的13个特征变量中,仍然选取相关性系数较高的变量组合,然后采用以上平均相关性系数分析的方法,依次实现变量的相关性筛选,直到满足剩余变量的最大相关性系数小于阈值即可。
为了自动化完成以上特征筛选过程,可以通过图4代码实现批量特征分析与处理,由于本文实例样本数据的特征相关性系数普遍较高,我们以0.8为最终相关性判断阈值。

编辑
添加图片注释,不超过 140 字(可选)
图4 特征相关性筛选过程
在生成的数据del_column中,字段Value便是根据特征相关性分析需要删除的变量,具体结果如图5所示,但Value的取值并非特征变量名称,而是特征X变量对应的列索引,也就是数字0~13依次表示变量X01~X14。

编辑
添加图片注释,不超过 140 字(可选)
图5 特征相关性删除变量
为了便于对待删除变量的分析与处理,我们将其列索引转换为变量名称,实现过程如图6所示,根据变量相关性筛选阈值0.8,最终需要删除的变量为X04、X13、X10、X05、X12、X07、X08共7个变量。

编辑
添加图片注释,不超过 140 字(可选)
图6 样本待删除变量汇总
当然,在实际业务场景中,还可以根据特征变量与X与目标变量Y的关系,得到每个特征的信息值IV,可以对特征变量进一步筛选,从而有效保证模型变量拟合训练的综合效果,即使模型具有较好的区分度和稳定性,这也是特征相关性筛选最终需要实现的目标。
以上内容便是围绕特征相关性分析来完成特征变量筛选的介绍,这在数据建模中特征工程的数据分析环节是非常重要的,在具体实际场景中可以与特征共线性、特征重要性等其他特征处理方式相结合,以获取一个综合性能较优的模型。
为了便于大家理解本文特征相关性分析及其筛选的相关内容,本文额外附带了与实例分析同步的样本数据与python代码,详情请移至知识星球查看相关内容。

这些宇宙里,可能有 “另一个你”,做出过不同选择,过着不一样的人生。
它不是瞎编,来自两大理论量子力学:多世界诠释(最有名)1957 年,休・埃弗雷特提出:量子每次 “二选一”,宇宙就会分裂成两条平行现实。
比如薛定谔的猫:不是 “又死又活”,而是一个宇宙猫死了,另一个宇宙猫活着,两个世界都真实,只是互相看不见。
好处:数学最简单,不用额外加 “波函数坍缩” 规则,很多物理学家(如肖恩・卡罗尔)认为这是对量子力学最优雅的解释。
宇宙学:永恒暴胀+泡泡宇宙大爆炸之后,宇宙极快膨胀(暴胀)。
安德烈・林德等人发现:暴胀不会同时停,有的区域停下成 “泡泡宇宙”,外面还在无限膨胀。
我们的宇宙只是其中一个泡泡;
别的泡泡可能光速、引力强度、甚至物理定律都不同。
这个模型能自然解释宇宙为什么这么均匀、这么平,和微波背景辐射数据吻合得很好。
主要的几类平行宇宙(通俗版)遥远复制区(第一类)宇宙无限大,物质均匀分布,极远处会有和地球一模一样的复制区,也有另一个你,历史几乎一样,只是某次选择不同。
泡泡宇宙(第二类)每个泡泡是独立宇宙,物理常数 / 定律可能不同,有的能形成恒星行星,有的不能。
量子多世界(第三类)每次量子选择,世界分裂,所有可能性都在不同分支里实现,分支之间不互通、不可见。
数学宇宙(第四类,偏哲学)所有数学上自洽的结构都对应真实宇宙,我们的宇宙只是其中一种数学结构。
有证据吗?—— 目前只有 “间接线索”宇宙微波背景冷斑:大爆炸余晖里有个异常低温区,有人猜是早期和另一个泡泡宇宙碰撞的痕迹,但没定论。
量子纠缠与干涉:量子计算机的并行计算能力,被戴维・多伊奇等物理学家认为是多世界存在的间接证据—— 计算是在多个平行世界里同时完成的。
暗能量与宇宙常数:我们宇宙的暗能量数值 “刚好适合生命”,用多重宇宙+人择原理能自然解释:无数泡泡里,只有数值刚好的才能演化出我们来观察它。
争议在哪?—— 最大问题:“看不见、摸不着”无法验证 / 证伪:平行宇宙和我们没有光信号联系,原则上很难直接观测;
有人认为这已经接近玄学,不算科学。
奥卡姆剃刀:批评者说,为了解释我们看到的世界,引入无限个不可观测宇宙,太 “奢侈”,不如找更简单的解释。
概率与测量问题:多世界里 “所有结果都发生”,很难定义 “概率”,数学上还有没解决的难题。
总结(人话版)科幻感很强,但出身很科学:来自量子力学和宇宙学的核心方程,不是瞎编。
存在可能性不小:多世界诠释和泡泡宇宙,都是很多顶尖物理学家认真支持的主流模型。
但别当事实:至今没有任何一个实验能直接证明平行宇宙存在,它仍是假说。
另一个你?:在多世界和无限宇宙模型里,理论上一定存在;
但你们永远无法见面、无法互相影响。
但随着人类登月探测、地质数据解析,越来越多反常现象浮出水面。
很多科学家大胆提出猜想:月球或许不是普通天体,它有可能是外星文明刻意制造的球体,甚至是一颗隐藏在地球身边的巨型宇宙飞船。
今天我们聊聊月球身上那些无法解释的奇怪疑点,看完颠覆你的认知。
离谱到反常的完美天体比例在整个太阳系里,月球的存在本身就是最大的bug。
按照天然天体规律,行星的卫星普遍偏小,比例差距悬殊。
但月球和地球的比例太夸张了,大小配比完全不符合宇宙常态。
月球直径足足是地球的四分之一,质量比例远超太阳系所有卫星。
这么大的卫星,稳稳围绕地球旋转,本身就充满违和感。
更诡异的是日月完美重合的天文巧合。
太阳距离地球的距离,刚好是月球距离的400倍。
太阳直径也恰好是月球的400倍,这才让日全食完美上演。
这种极致精准的概率,天然形成的可能性几乎为零。
永远背对地球的神秘背面月球最让人细思极恐的一点,就是潮汐锁定。
数十亿年来,月球永远只有正面朝向地球,背面从不示人。
天然星球的自转和公转,很难做到如此绝对、永久的同步。
这就像有人刻意操控,固定住月球的姿态。
仿佛是故意不让人类看见,月球背面隐藏的秘密。
早年人类从未探测月球背面,各种外星基地、飞船猜想层出不穷。
即便如今探测器拍下背面影像,依旧疑点重重。
空心结构:颠覆天文常识的诡异震动如果月球是天然岩石星球,它一定是实心结构。
但美国阿波罗登月任务,曾做过一个震惊世界的地震实验。
宇航员在月球表面投放登月舱,撞击月面引发月震。
让人难以置信的是,月震持续了整整三个小时才消散。
科学家解释:实心岩石星球,震动会快速衰减。
只有空心球体,才会产生长时间回荡的震动效果。
这直接推翻了月球是天然实心星球的固有结论。
一颗天然形成的天体,不可能是完美的空心结构。
年龄悖论:月球比地球还要古老按照天体演化逻辑,卫星的形成时间,绝对晚于行星。
但科学家对月球岩石采样检测,得出惊人结果。
月球采集的岩石样本,年龄普遍在53亿年以上。
而我们居住的地球,目前公认年龄只有46亿年。
月球比地球还要古老7亿年,彻底违背天体演化规律。
它不是地球诞生后衍生的卫星,更像是外来的“不速之客”。
金属外壳:疑似人工装甲层探测器数据分析发现,月球表层金属含量异常离谱。
月球表面存在大量稀有金属、钛合金、耐高温金属层。
这些金属纯度极高,天然地质运动根本无法形成。
更诡异的是,月球表层有一层坚硬的金属硬壳。
厚度远超天然岩石层,硬度异常强悍。
很多研究者大胆推测:这是宇宙飞船的防护装甲层。
内部空心、外层装甲、精准轨道,完全符合人造飞行器特征。
大胆猜想:月球是外星文明的观测飞船综合所有反常疑点,越来越多学者认可一个大胆猜想。
月球根本不是天然卫星,而是外星文明打造的巨型宇宙飞船。
它被刻意放置在地球轨道,用来长期观测、监测地球文明。
空心结构是内部舱体,金属层是防护外壳,锁定姿态是刻意控制。
数十亿年来,它静静悬停在地球身旁,默默注视着人类演化。
写在最后目前没有任何证据,能百分百证实月球的真实身份。
但所有违背自然规律的细节,都在指向同一个答案。
这颗陪伴人类亿万年的银色星球,或许从来都不简单。
它不是自然的馈赠,而是来自宇宙深处的巨型造物。
至于外星文明为何放置月球,背后藏着怎样的目的,至今仍是宇宙最大的未解之谜。