目录
基于特征属性选择
相关性选择法
相关性是衡量两个特征间依赖关系的指标。逻辑斯谛回归等算法要求特征之间不能具有很强的相关性。如果使用相关性很高的特征,那么可能无法用特征系数解释最终模型的入模特征(即模型使用的特征)与目标变量之间的关系。因此,在使用广义线性模型时,需要进行特征相关性筛选。而对于树模型,特征相关性影响不大,可以不进行相关性筛选。度量特征相关性的指标有很多,常见的有 Pearson 相关系数、Spearman 相关系数和 Kendall相关系数等。
- Pearson相关系数用来度量特征的线性相关性,取值范围为[-1,1],大于0表示两个特征正相关,小于0表示两个特征负相关,等于0表示两个特征非线性相关。
- Spearman相关系数用来度量特征单调相关性,取值范围为[-1,1],大于0表示两个特征正相关,小于0表示两个特征负相关,等于0表示两个特征非单调相关。
- Kendall 相关系数用来度量有序分类特征相关性,取值范围为[-1,1],大于0表示两个特征正相关,小于0表示两个特征负相关,等于0表示两个特征排名独立。
在Python中,我们可以利用pandas库中的com()方法计算特征的相关系数,该方法中的method参数可指定度量方法,参考代码如下
#利用pandas库计算相关系数
pearson_corr = X_train.corr(method='pearson')
# Pearson相关系数
spearman_corr = X_train.corr(method='spearman')
# Spearman相关系数
kendall_corr = X_train.corr(method='kenda11')#Kenda11相关系数
除此之外,SciPy库中的pearsonr(方法能够同时计算相关系数和p值,p值能够反映两个特征的显著水平。如果不显著,那么相关系数再高,也无参考价值,可能是由偶然因素引起的。通常情况下,当p值小于0.05时,我们就认为统计量是显著的。
需要注意的是,Pearson相关系数易于计算且计算速度快,但它只对线性关系敏感。如果关系是非线性的,那么,即便两个变量具有——对应的关系,Pearson 相关系数也可能接近0。对于相关性大的两个特征,我们通常保留其中区分性好、稳定性强的一个,具体方法可参照IV选择和PSI选择。
多重共线性选择法
多重共线性描述的是一个自变量与其他自变量(可以是多个)之间的完全线性关系。在使用逻辑斯谛回归算法时,我们要避免特征之间存在较强的共线性。
方差膨胀系数(Variance Infation Factor, VIF)是一种衡量共线性程度的常用指标,它表示回归系数估计量的方差与假设特征间不线性相关时的方差的比值。VIF计算公式如式,
是某个特征对其余特征做回归分析的复相关系数。VIF越大,该特征与其他特征的关系越复杂,多重共线性越严重。我们通常将10作为判断边界,若VIF<10,则认为不存在多重共线性;若10≤VIF<100,则认为存在较强的多重共线性;若VIF≥100,则认为存在严重的多重共线性。在Python中,我们可以利用statsmodels 库中的variance_inflation_factor()函数计算VIF
基于特征效果选择
IV选择
IV(Information Value,信息价值)是衡量特征预测能力的关键指标。IV和WOE的关系可以表述为:WOE 描述了特征和目标变量之间的关系,IV用于衡量这种关系的强弱程度。
WOE 分析了特征各个分箱对于目标变量的预测能力,IV用来反映特征的总体预测能力。IV的计算公式如式,即在第i箱WOE 的基础上乘以系数,该系数表示这个分箱坏样本比例和好样本比例的差。
在风控模型中,我们一般认为贷前特征|V-小于0.02表示该特征几乎无预测能力;当IV处于[0.02,0.1)区间时,我们认为特征预测能力弱;当IV处于[0.1,0.3)区间时,我们认为特征预测能力中等;当IV处于[O.3,0.5)区间时,我们认为特征预测能力强;当I大于或等于0.5时,我们认为特征预测能力太强,需要确认特征逻辑是否正常,以及是否存在“穿越”情况。
待续:【信贷风控30分钟精通18】特征工程3