很多时间业务专家一针见血的商业敏感性可以有效缩小自变量的考察范围,准确圈定最有价值的预测变量,提高判断和筛选效率。
r = ∑ ( x − x ˉ ) ( y − y ˉ ) ∑ ( x − x ˉ ) 2 ∑ ( y − y ˉ ) 2 r=\frac{\sum(x-\bar x)(y-\bar y)}{\sqrt{\sum(x-\bar x)^2\sum (y-\bar y)^2}} r=∑(x−xˉ)2∑(y−yˉ)2∑(x−xˉ)(y−yˉ) r ∈ [ − 1 , + 1 ] , ∣ r ∣ r\in [-1,+1],|r| r∈[−1,+1],∣r∣越大,线性相关性越强。
适用范围:当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:
斯皮尔曼相关系数被定义成等级变量之间的皮尔逊相关系数。斯皮尔曼相关系数与两个相关变量的具体值无关,而仅仅与其值之间的大小关系有关。
ρ = 1 − 6 ∑ d i 2 n ( n 2 − 1 ) \rho=1-\frac{6\sum{d_i^2}}{n(n^2-1)} ρ=1−n(n2−1)6∑di2其中,di表示两个变量分别排序后成对的变量位置差,n表示样本总数,减少异常值的影响。
适用范围:连续型数值变量、等级数据(举例:两次考试的排名数据)
from scipy.stats import pearsonr, spearmanr
pearsonr(x,y) # 返回皮尔逊相关系数和检验P值, 样本要求>20。
spearmanr(x,y) # 返回斯皮尔曼相关系数和检验P值, 样本要求>20。
检验方法用F检验,或者直接用多元相关系数R R = S R 2 S T 2 = ∑ i ( y ^ i − y ˉ ) 2 ∑ i ( y i − y ˉ ) 2 R=\sqrt {\frac{S_R^2}{S_T^2}}=\sqrt{\frac{\sum_i(\hat y_i-\bar y)^2}{\sum_i (y_i-\bar y)^2}} R=ST2SR2=∑i(yi−yˉ)2∑i(y^i−yˉ)2 r ∈ [ 0 , 1 ] r\in [0,1] r∈[0,1],r越大,线性相关性越强。当R的样本值 r > r a ( n − k − 1 ) r>r_a(n-k-1) r>ra(n−k−1)(相关系数临界值)时,认为Y与 X 1 , X 2 , . . . , X k X_1,X_2,...,X_k X1,X2,...,Xk之间的线性关系显著,否则不显著。
对每个变量 X i X_i Xi做偏回归显著性检验,公式为: F i = S R − S R − i S R F_i=\frac{S_R-S_{R_{-i}}}{S_R} Fi=SRSR−SR−i其中, S R − i S_{R_{-i}} SR−i为剔除变量 X i X_i Xi之后的回归平方和, S R − S R − i S_R-S_{R_{-i}} SR−SR−i反映了引入 X i X_i Xi之后,其对回归平方和 S R 2 S_R^2 SR2的贡献。
分别检验各个自变量的 F i F_i Fi是否都大于相应的 F α F_\alpha Fα,
卡方检验属于非参数检验,主要用来度量判别型变量之间的关联性以及比较2个或2个以上的样本率(比例)。其基本思想是比较理论频数和实际频数的吻合程度。 χ 2 = ∑ i = 1 m ( v i − n p i ) 2 n p i \chi^2=\sum_{i=1}^m\frac{(v_i-np_i)^2}{np_i} χ2=i=1∑mnpi(vi−npi)2
其中m是互不相容的事件个数, v i v_i vi是实例频数, n p i np_i npi是理论频数。拒绝域为 { χ 2 > χ 1 − α 2 ( m − 1 ) } \{\chi^2>\chi^2_{1-\alpha}(m-1)\} {χ2>χ1−α2(m−1)}
当目标变量是二元变量,自变量是区间型变量时,可以通过信息值IV (information value)和迹象权数WOE(weight of evidence)进行自变量的判断和舍取。
一种有监督的编码方式,将预测类别的集中度的属性作为编码的数值
WOE可以理解为:当前这个组中坏客户和好客户的比值,和所有样本中这个比值的差异。这个差异为这两个比值的比值,再取对数来表示的。
WOE越大,这种差异越大,这个分组里的样本坏样本可能性就越大,WOE越小,差异越小,这个分组里的坏样本可能性就越小。
当我们算完WOE的时候,我们关注的点一般会有这几个:
IV就是用来衡量自变量的预测能力。类似的指标还有信息增益、基尼系数等等。
计算每个区间的WOE值后,再通过IV值,筛选出有较高预测价值的自变量,投入模型的训练中。
IV的计算基于WOE,可以看成对WOE的加权求和,权重为 P y 1 − P y 0 P_{y1}-P_{y0} Py1−Py0,这个系数很好的考虑了这个分组中样本占整体样本的比例,比例越低,这个分组对变量整体预测能力的贡献越低。
I V = ∑ ( P y 1 − P y 0 ) ∗ W O E IV=\sum(P_{y1}-P_{y0})*WOE IV=∑(Py1−Py0)∗WOE
使用IV不能自动处理变量的分组中出现响应比例为0或100%的情况。
可供“借力”的模型:决策树、线性回归、逻辑回归等。
比如线性回归和逻辑回归中,算法通过不断增加或者删除变量,来检验各输入变量对于预测的价值
区别
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
主成分分析、变量聚类等
通过降维方法,可以有效精简输入变量的数目,在一定程度上有效筛选模型输入变量。
所谓共线性,指的是自变量之间存在较强甚至完全的线性相关关系。这会导致模型预测能力下降,增加对于模型结果的解释成本。