总结
- MvTest独立性分析方法——检验数值型特征与label是否有关系,删除与label无关(独立)的特征;
- corr协方差函数 相关性分析——找到数值型特征与数值型特征之间相关性高的数值型特征,然后删除(相关性高的数值型特征仅保留1个);
- 卡方检验——检验类别型特征与label是否有关系,删除与label无关的特征(删除卡方值大的类别型特征);
目录
多重共线性
多重共线性是特征工程中一个必须解决的问题。
浅谈特征筛选中的多重共线性问题 - FAL金科应用研究院的文章 - 知乎
多重共线性定义
在线性回归模型中:,这里有一个前提假设是各因变量X之间相互独立,不能存在线性相关。所谓线性相关,就是指
与
之间存在
这种情况。而一旦有因变量之间存在完全的或者高度近似的线性相关关系,便会导致模型的参数估计发生偏差,难以得到Y和X之间真正的关系,这便是我们所说的多重共线性(multicollinearity)。
看定义如果难以理解我们可以举一个简单的例子,比如说存在: 且
,那么就会存在比如:
等等式子同时成立的情况,即模型的表达式存在无数种形式,以至于我们无法估算出因变量X真正的参数,甚至连Y与X之间是正相关和负相关也无法确定,模型估计的结果就无效了。
特征之间的多重共线性是普遍存在的,这就要求我们在筛选入模特征的时候能够及时识别,通常我们使用的方法有相关系数检验和VIF检验。
MvTest独立性分析方法
基于Mean Variance Index构建统计量做假设检验,检验一个连续型变量和一个离散型变量是否相互独立,该检验对变量的分布没有假定,且计算简单。经检验,以上提取的特征与标签均不独立,即与标签有一定的关联。
独立=没有关系,所以特征和label要 不独立=有关系 比较好。
corr协方差函数 相关性分析
使用corr协方差函数进行相关性分析,通过“特征间”的相关性分析,删除相似性高的特征。
- 数据探索,找特征相关性,那肯定是要找不怎么相关的,发现他们的相关性;
- 特征间的相关性corr协方差函数;
- 删除相关性较高的特征;
删除数值特征与数值特征之间,相关性高的数值特征(保留1个);
一般而言,若两个特征的相关系数绝对值在0.7以上,可以认为二者之间具有强相关,此时需要根据实际需求进一步考虑是否删去其中IV值较低的特征了(VIF较高)。
实操|特征变量多重共线性的分析与检验(含代码) - 番茄风控大数据的文章 - 知乎
数值型特征——corr协方差——检验特征与特征之间 我们可以使用corr协方差函数进行相关性分析【仅能处理数值型特征】,通过相关性分析,结果在此不再展示,得出 CIG…特征是高度相关的,所以我们可以选取部分,这里仅保留CIG_1_TRI,删除其他cig特征。 重量也是高度相关的,我们这里只保留MOTHER_PRE_WEIGHT,删除其他weight特征。
卡方检验
删除类别特征与label之间,相关性低的类别特征(与label不相干的特征全删)。
类别型特征——卡方检验——检验特征与label之间 对于一般的分类变量而言,我们无法计算它们之间的相关系数, 但是我们可以通过对它们进行 卡方校验来检测它们的分布之间是否存在较大的差异。 卡方检验:检验分类特征之间的分布是否存在较大的差异。
卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,
卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。
卡方值越小越好。
关于多重共线性
多重共线性有什么影响
共线性会导致回归参数不稳定,即增加或删除一个样本点或特征,回归系数的估计值会发生很大变化。 这是因为某些解释变量之间存在高度相关的线性关系,XTX会接近于奇异矩阵,即使可以计算出其逆矩阵,逆矩阵对角线上的元素也会很大,这就意味着参数估计的标准误差较大,参数估计值的精度较低,这样,数据中的一个微小的变动都会导致回归系数的估计值发生很大变化。
多重共线性诊断
- 发现系数估计值的符号不对;
- 某些重要的解释变量t值低,而R方不低
- 当一不太重要的解释变量被删除后,回归结果显著变化
多重共线性处理
主要方法有:增加样本量、变量聚类、方差膨胀因子、相关系数、逐步回归、PCA、L1 L2正则化
- 共线性问题并不是模型的设定错误,它是一种数据缺陷,可以通过增加样本量来解决;
- 在特征比较多的时候,先变量聚类,每类中选择单特征比较强的,也可以根据1-r^2小的选择有代表性的特征(r^2表示的是其他变量能否线性解释的部分,1-r^2表示的是容忍度,也就是其他变量不能解释的部分;变量聚类是多选一,因此需要选择一个具有代表性的变量,选择容忍度小的变量;另vif就是容忍度的倒数)
- 在变量聚类的步骤中也可以结合 方差膨胀因子、相关系数以及业务理解来筛选特征;
- VIF选择多少核实(一般样本集在10w以上VIF大于10就有严重的共线性问题了,样本集在10w以下,VIF>5也是严重的共线性问题。在小样本时,一般保证在2以下。当然,这也不能保证一定排除了,最后在检验下模型参数,判断是否仍然存在共线性)
共线性检验
- 看模型系数,和实际业务是否相符合。(注:在进行完证据权重WOE转化后,系数正负,不在具有实际的业务意义。当woe是好客户占比/坏客户占比时,系数都为负,反之系数都为正。(相关原因可以公式推导))
- 模型R^2较高,通过F检验,系数不能通过t检验
参考