1. 特征选择的原因
- 提高模型稳定性的需要
- 提高模型预测能力的需要
- 提高运算速度和运算效率的需要
2. 特征选择的过程
2.1 结合业务经验先行筛选
很多时间业务专家一针见血的商业敏感性可以有效缩小自变量的考察范围,准确圈定最有价值的预测变量,提高判断和筛选效率。
2.2 用线性相关性指标进行初步筛选
常用:皮尔逊相关系数 越大,线性相关性越强。
2.3 多元线性回归的显著性检验
2.3.1 线性回归模型的显著性检验
检验方法用F检验,或者直接用多元相关系数R ,r越大,线性相关性越强。当R的样本值 (相关系数临界值)时,认为Y与 之间的线性关系显著,否则不显著。
2.3.2 回归系数的显著性检验
对每个变量 做偏回归显著性检验,公式为: 其中, 为剔除变量 之后的回归平方和, 反映了引入 之后,其对回归平方和 的贡献。
分别检验各个自变量的 是否都大于相应的 ,
- 如果全都大于 ,则结束;
- 如果发现有几个自变量不满足,则每次只能删除其中一个 (其 最小),然后重新用剩下的自变量进行回归的构建,如此反复,直到所有有显著性意义的自变量都进入回归方程,而没有显著性意义的自变量都被剔除。
2.3.3 卡方检验:度量类别型目标变量和类别型自变量的关联性
卡方检验属于非参数检验,主要用来度量判别型变量之间的关联性以及比较2个或2个以上的样本率(比例)。其基本思想是比较理论频数和实际频数的吻合程度。
其中m是互不相容的事件个数,
是实例频数,
是理论频数。拒绝域为
2.3.4 IV和WOE:处理区间型自变量
当目标变量是二元变量,自变量是区间型变量时,可以通过信息值IV (information value)和迹象权数WOE(weight of evidence)进行自变量的判断和舍取。
2.3.4.1. WOE离散化
一种有监督的编码方式,将预测类别的集中度的属性作为编码的数值
WOE可以理解为:当前这个组中坏客户和好客户的比值,和所有样本中这个比值的差异。这个差异为这两个比值的比值,再取对数来表示的。
WOE越大,这种差异越大,这个分组里的样本坏样本可能性就越大,WOE越小,差异越小,这个分组里的坏样本可能性就越小。
当我们算完WOE的时候,我们关注的点一般会有这几个:
- woe是否单调
- woe是否呈线性
- IV值的大小。
优势
- 将特征的值规范到相近的尺度上。
- 具有业务含义。
缺点
- 需要每箱中同时包含好、坏两个类别。
2.3.4.2 IV值衡量自变量的预测能力
IV就是用来衡量自变量的预测能力。类似的指标还有信息增益、基尼系数等等。
计算每个区间的WOE值后,再通过IV值,筛选出有较高预测价值的自变量,投入模型的训练中。
IV的计算基于WOE,可以看成对WOE的加权求和,权重为
,这个系数很好的考虑了这个分组中样本占整体样本的比例,比例越低,这个分组对变量整体预测能力的贡献越低。
缺点
使用IV不能自动处理变量的分组中出现响应比例为0或100%的情况。
参考教程
- Weight of Evidence (WOE) and Information Value Explained
https://www.listendata.com/2015/03/weight-of-evidence-woe-and-information.html - 【详解】银行信用评分卡中的WOE在干什么? - 知乎
https://zhuanlan.zhihu.com/p/30026040 - 手把手教你用R语言建立信用评分模型(二)—单变量分析 - R语言-炼数成金-Dataguru专业数据分析社区
http://www.dataguru.cn/article-10479-1.html
2.4 部分建模算法自身的筛选功能
可供“借力”的模型:决策树、线性回归、逻辑回归等。
多元线性回归的显著性检验/stepwise算法
比如线性回归和逻辑回归中,算法通过不断增加或者删除变量,来检验各输入变量对于预测的价值
区别
Enter:所有X一次性全部进入
Forward:X一个一个进,每次进入P-value最小的X,直到未进入的X都不significant
Backward:所有的X先一次性进入,然后一个一个剔除,每次剔除P-value最大的X,直到保留的X全都significant
Stepwise:X一个一个进,但是进入新的X以后,会重新审查所有已进入X的P-value,如果进入新的X导致原来的X的P-value从significant变成不significant,则把原来的X剔除。
随机逻辑回归算法
对训练数据进行多次采样拟合回归模型,即在不同的数据子集和特征子集上运行特征算法,不断重复,最终选择得分高的重要特征。这是稳定性选择方法。
from sklearn.linear_model
import RandomizedLogisticRegression ,LogisticRegression
参数:
惩罚因子C:默认1
缩放参数s:用于随机缩放不同特征的惩罚。默认0.5
子集划分比:默认75%
得分阈值:默认0.25
容忍误差:默认1e-3
2.5 降维方法
主成分分析、变量聚类等
通过降维方法,可以有效精简输入变量的数目,在一定程度上有效筛选模型输入变量。
3. 共线性问题
所谓共线性,指的是自变量之间存在较强甚至完全的线性相关关系。这会导致模型预测能力下降,增加对于模型结果的解释成本。
3.1 识别方法
- 相关系数法:皮尔逊相关系数
- 通过模型结论的观测:如回归模型中如果回归系数的标准差过大,则有可能出现共线性问题
- 主成分分析:主成分载荷能力大小从一定程度上反映各个变量的相关性
- 变量聚类:对区间型变量进行聚类,同类的变量之间可能存在共线性问题
3.2 解决方法
- 对相关变量进行取舍
- 对相关变量进行组合,生成一个新的综合性变量
- 尝试对相关变量进行一些形式的转换:生成衍生变量、改善变量分布的转换(取对数、开方等)、分箱、标准化