特征筛选
在建模之前的一步就是将特征工程做好的变量进行筛选,在风控项目中筛选分为两步:初步筛选、逐步回归筛选以及稳定性筛选。
初步筛选
通常评分卡模型的特征筛选主要从以下4个角度出发: 缺失率(一般变量较少时可以可以相对放宽,使用一些方法,如插值等,来填充缺失值) 好坏区分能力(即IV值) 相关性(一般使用皮尔逊相关系数) 分箱后的单调性
信息量(IV)
信息量(Information Value,IV)定义为特征WOE编码的加权求和,woe的计算公式(前面章节有详细介绍:风控建模之特征转换):
![1e940c29e6e0e4dc9d24a856cba07320.png](https://img-blog.csdnimg.cn/img_convert/1e940c29e6e0e4dc9d24a856cba07320.png)
其中pyi和pni的定义与WOE编码中完全相同。单个特征的IV等于该特征每个取值对应的ivi的累加。
从公式上看,IV衡量的是变量不同取值样本标签的分布差异,可以从一定程度上反映单特征对标签区分的贡献度。
对于特征的IV筛选标准:特征整体的IV值不高时,可以将筛选的阀值调低,如在项目中一般调低至0.01,去寻找有效特征;而当特征的IV值大于0.5时,说明该特征具有显著好坏区分能力,因而可以作为前置的策略规则,提前拒绝高风险人群,对于规则阀值的确定可以依据bad_rate以及业务需要进行设置。
python代码:
import toad
import pandas as pd
file_path = r'C:Usersjiaxiong.heDesktop智能风控book_data_codeppd.xlsx'
data = pd.read_excel(file_path)
ex_list = ['Idx', 'ListingInfo']
# (1)empyt=0.9: 若变量的缺失值大于0.9被删除
# (2)iv=0.02: 若变量的iv值小于0.02被删除
# (3)corr=0.7: 若两个相关性高于0.7时,iv值低的变量被删除
# (4)return_drop=False: 若为True,function将返回被删去的变量列
# (5)exclude=None: 明确不被删去的列名,输入为list格式
df_select, drop_list = toad.selection.select(
data, data['target']
,empty=0.9,iv=0.01,corr=0.7
,return_drop=True,exclude=ex_list)
# df_select返回的被筛选数据,drop_list返回被各个条件删除的变量
逐步回归筛选
逐步回归(Stepwise Regression)是一种线性回归模型自变量选择方法,其基本思想是,贪心地遍历所有变量最优组合,以保证最终模型的变量组合为最优。该过程涉及多次F检验。分为:向前逐步回归、向后逐步回归、双向逐步回归。在风控建模项目中,是在特征转换成woe编码时,进行逐步回归筛选特征。
向前逐步回归
初始情况下,模型中只有一个F检验显著性最高的变量,之后尝试加入另一个F检验显著性