【机器学习】特征独立性检验-特征太多删特征-删who呢

总结

  • MvTest独立性分析方法——检验数值型特征label是否有关系,删除与label无关(独立)的特征;
  • corr协方差函数 相关性分析——找到数值型特征数值型特征之间相关性高的数值型特征,然后删除(相关性高的数值型特征仅保留1个);
  • 卡方检验——检验类别型特征label是否有关系,删除与label无关的特征(删除卡方值大的类别型特征);

目录

多重共线性

MvTest独立性分析方法

corr协方差函数 相关性分析

卡方检验 

关于多重共线性

多重共线性有什么影响

多重共线性诊断

多重共线性处理

共线性检验


多重共线性

多重共线性是特征工程中一个必须解决的问题。

浅谈特征筛选中的多重共线性问题 - FAL金科应用研究院的文章 - 知乎

多重共线性定义

在线性回归模型中:Y = \beta_0+\beta_1x_1+\beta_2x_2+...+\beta_nx_n+\varepsilon,这里有一个前提假设是各因变量X之间相互独立,不能存在线性相关。所谓线性相关,就是指 x_ix_j之间存在 a_ix_i-a_jx_j=0 这种情况。而一旦有因变量之间存在完全的或者高度近似的线性相关关系,便会导致模型的参数估计发生偏差,难以得到Y和X之间真正的关系,这便是我们所说的多重共线性(multicollinearity)。

看定义如果难以理解我们可以举一个简单的例子,比如说存在:y = 2x_1+x_2 且 x1=x_2,那么就会存在比如:

y=4x_1-x_2

y=3x_2

y=-2x_1+5x_2

等等式子同时成立的情况,即模型的表达式存在无数种形式,以至于我们无法估算出因变量X真正的参数,甚至连Y与X之间是正相关和负相关也无法确定,模型估计的结果就无效了。

特征之间的多重共线性是普遍存在的,这就要求我们在筛选入模特征的时候能够及时识别,通常我们使用的方法有相关系数检验和VIF检验。

 


MvTest独立性分析方法

基于Mean Variance Index构建统计量做假设检验,检验一个连续型变量和一个离散型变量是否相互独立,该检验对变量的分布没有假定,且计算简单。经检验,以上提取的特征与标签均不独立,即与标签有一定的关联。

独立=没有关系,所以特征和label要 不独立=有关系 比较好。

corr协方差函数 相关性分析

使用corr协方差函数进行相关性分析,通过“特征间”的相关性分析,删除相似性高的特征。

  1. 数据探索,找特征相关性,那肯定是要找不怎么相关的,发现他们的相关性;
  2. 特征间的相关性corr协方差函数;
  3. 删除相关性较高的特征;

删除数值特征与数值特征之间,相关性高的数值特征(保留1个);

一般而言,若两个特征的相关系数绝对值在0.7以上,可以认为二者之间具有强相关,此时需要根据实际需求进一步考虑是否删去其中IV值较低的特征了(VIF较高)。 

实操|特征变量多重共线性的分析与检验(含代码) - 番茄风控大数据的文章 - 知乎

数值型特征——corr协方差——检验特征与特征之间 我们可以使用corr协方差函数进行相关性分析【仅能处理数值型特征】,通过相关性分析,结果在此不再展示,得出 CIG…特征是高度相关的,所以我们可以选取部分,这里仅保留CIG_1_TRI,删除其他cig特征。 重量也是高度相关的,我们这里只保留MOTHER_PRE_WEIGHT,删除其他weight特征。

卡方检验 

删除类别特征与label之间,相关性低的类别特征(与label不相干的特征全删)。

类别型特征——卡方检验——检验特征与label之间 对于一般的分类变量而言,我们无法计算它们之间的相关系数, 但是我们可以通过对它们进行 卡方校验来检测它们的分布之间是否存在较大的差异。 卡方检验:检验分类特征之间的分布是否存在较大的差异。

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,

卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。

卡方值越小越好。

关于多重共线性

多重共线性有什么影响

共线性会导致回归参数不稳定,即增加或删除一个样本点或特征,回归系数的估计值会发生很大变化。 这是因为某些解释变量之间存在高度相关的线性关系,XTX会接近于奇异矩阵,即使可以计算出其逆矩阵,逆矩阵对角线上的元素也会很大,这就意味着参数估计的标准误差较大,参数估计值的精度较低,这样,数据中的一个微小的变动都会导致回归系数的估计值发生很大变化。

多重共线性诊断

  1. 发现系数估计值的符号不对;
  2. 某些重要的解释变量t值低,而R方不低
  3. 当一不太重要的解释变量被删除后,回归结果显著变化

多重共线性处理

主要方法有:增加样本量、变量聚类、方差膨胀因子、相关系数、逐步回归、PCA、L1 L2正则化

  1. 共线性问题并不是模型的设定错误,它是一种数据缺陷,可以通过增加样本量来解决;
  2. 在特征比较多的时候,先变量聚类,每类中选择单特征比较强的,也可以根据1-r^2小的选择有代表性的特征(r^2表示的是其他变量能否线性解释的部分,1-r^2表示的是容忍度,也就是其他变量不能解释的部分;变量聚类是多选一,因此需要选择一个具有代表性的变量,选择容忍度小的变量;另vif就是容忍度的倒数)
  3. 在变量聚类的步骤中也可以结合 方差膨胀因子、相关系数以及业务理解来筛选特征;
  4. VIF选择多少核实(一般样本集在10w以上VIF大于10就有严重的共线性问题了,样本集在10w以下,VIF>5也是严重的共线性问题。在小样本时,一般保证在2以下。当然,这也不能保证一定排除了,最后在检验下模型参数,判断是否仍然存在共线性)

共线性检验

  1. 看模型系数,和实际业务是否相符合。(注:在进行完证据权重WOE转化后,系数正负,不在具有实际的业务意义。当woe是好客户占比/坏客户占比时,系数都为负,反之系数都为正。(相关原因可以公式推导))
  2. 模型R^2较高,通过F检验,系数不能通过t检验

参考

面试题解答5:特征存在多重共线性,有哪些解决方法?

关于多重共线性 - my breath的文章 - 知乎

你可能感兴趣的:(机器学习,人工智能)