金融风控:lr+woe
一、线性回归
我们用线性函数 y = w T x + b y = w^Tx+b y=wTx+b 来描述 x → y x \rightarrow y x→y 的映射
通过数据集去寻找适当的 w , b w, b w,b 来拟合超平面 y = w T x + b y = w^Tx+b y=wTx+b 的过程被称之为线性回归
二、逻辑回归
逻辑回归是一个分类问题,它通过回归拟合“点属于某一类”的可能性,从而将分类转化为回归问题处理。
得到“点属于某一类”的可能性后,它通过使用sigmoid函数将实数域的回归结果 y y y 映射到一个有限区间内,再通过设定阈值的形式来对点的类别进行划分。
注:sigmoid函数本意是指“形为s的函数”,对数几率函数 y = 1/[1+exp(-x)] 是最常用的sigmoid函数
逻辑回归一般只用sigmoid函数做映射,已解决二分类问题。对于多分类问题,我们一般通过“ovo”“ovr”“mvm”的方式来将其转化为二分类问题
softmax函数是sigmoid函数在多维的推广,他针对多项分布提出,可直接解决多分类问题(本质上计算的是不同类的比重/可能性)
在风险控制中,我们一般将所谓“坏人”(还款逾期)视为正例,所以
一个样本为正例(坏人)的概率为
P
(
Y
=
1
∣
x
)
=
1
1
+
e
−
(
w
T
+
b
)
P(Y=1|x) = \cfrac{1}{1+e^{-(w^T+b)}}
P(Y=1∣x)=1+e−(wT+b)1
一个样本为反例(好人)的概率为
P
(
Y
=
0
∣
x
)
=
e
−
(
w
T
+
b
)
1
+
e
−
(
w
T
+
b
)
P(Y=0|x) = \cfrac{e^{-(w^T+b)}}{1+e^{-(w^T+b)}}
P(Y=0∣x)=1+e−(wT+b)e−(wT+b)
两者相除可以得到 几率 O d d s = P ( Y = 1 ∣ x ) P ( Y = 0 ∣ x ) = e w T + b Odds=\cfrac{P(Y=1|x)}{P(Y=0|x)}=e^{w^T+b} Odds=P(Y=0∣x)P(Y=1∣x)=ewT+b ,它代表样本为正例(坏人)的相对可能性
注:我们对回归函数得到的结果y(y=wx+b)做一个基于指数函数的非线性函数可以得到y为正例1的相对可能性。这么做的依据来源于上面的推导,但从指数函数的性质很难理解
对于几率 O d d s Odds Odds,我们取对数,得到对数几率函数 L n ( O d d s ) = w T + b Ln(Odds)=w^T+b Ln(Odds)=wT+b
这是将分类转化为回归的直接依据,也是“对数几率回归”的由来
三、贝叶斯定理
我们在上述的推导中加入贝叶斯定理 P ( y ∣ x ) = P ( x y ) P ( x ) = P ( y ) P ( x ∣ y ) P ( x ) P(y|x)=\cfrac{P(xy)}{P(x)}=\cfrac{P(y)P(x|y)}{P(x)} P(y∣x)=P(x)P(xy)=P(x)P(y)P(x∣y)
- p : P ( Y = B a d ∣ x ) = P ( Y = B a d ) P ( x ∣ Y = B a d ) P ( x ) p:P(Y=Bad|x) = \cfrac{P(Y=Bad)P(x|Y=Bad)}{P(x)} p:P(Y=Bad∣x)=P(x)P(Y=Bad)P(x∣Y=Bad)
- 1 − p : P ( Y = G o o d ∣ x ) = P ( Y = G o o d ) P ( x ∣ Y = G o o d ) P ( x ) 1-p:P(Y=Good|x) = \cfrac{P(Y=Good)P(x|Y=Good)}{P(x)} 1−p:P(Y=Good∣x)=P(x)P(Y=Good)P(x∣Y=Good)
- p 1 − p : o d d s = P ( Y = B a d ∣ x ) P ( Y = G o o d ∣ x ) = P ( Y = B a d ) P ( x ∣ Y = B a d ) P ( Y = G o o d ) P ( x ∣ Y = G o o d ) \cfrac{p}{1-p}: odds=\cfrac{P(Y=Bad|x)}{P(Y=Good|x)}=\cfrac{P(Y=Bad)P(x|Y=Bad)}{P(Y=Good)P(x|Y=Good)} 1−pp:odds=P(Y=Good∣x)P(Y=Bad∣x)=P(Y=Good)P(x∣Y=Good)P(Y=Bad)P(x∣Y=Bad)
- L n ( o d d s ) = l n ( P ( Y = B a d ∣ x ) P ( Y = G o o d ∣ x ) ) = l n ( P ( Y = B a d ) P ( Y = G o o d ) ) + l n ( P ( x ∣ Y = B a d ) P ( x ∣ Y = G o o d ) ) Ln(odds)=ln(\cfrac{P(Y=Bad|x)}{P(Y=Good|x)})=ln(\cfrac{P(Y=Bad)}{P(Y=Good)})+ln(\cfrac{P(x|Y=Bad)}{P(x|Y=Good)}) Ln(odds)=ln(P(Y=Good∣x)P(Y=Bad∣x))=ln(P(Y=Good)P(Y=Bad))+ln(P(x∣Y=Good)P(x∣Y=Bad))
其中:
L
n
(
o
d
d
s
)
=
l
n
(
P
(
Y
=
B
a
d
∣
x
)
P
(
Y
=
G
o
o
d
∣
x
)
)
Ln(odds)=ln(\cfrac{P(Y=Bad|x)}{P(Y=Good|x)})
Ln(odds)=ln(P(Y=Good∣x)P(Y=Bad∣x))是代表了贝叶斯定理中的后验
l
n
(
P
(
Y
=
B
a
d
)
P
(
Y
=
G
o
o
d
)
)
ln(\cfrac{P(Y=Bad)}{P(Y=Good)})
ln(P(Y=Good)P(Y=Bad))代表了贝叶斯定理中的先验
l
n
(
P
(
x
∣
Y
=
B
a
d
)
P
(
x
∣
Y
=
G
o
o
d
)
)
ln(\cfrac{P(x|Y=Bad)}{P(x|Y=Good)})
ln(P(x∣Y=Good)P(x∣Y=Bad))代表了贝叶斯定理中的似然
四、“证据权重”:woe(Weight of Evidence)
目的:对先验进行修正/对数据进行离散.编码
在风控中,我们通常会对一个特征的数据进行分箱处理(连续的数据离散化),这样做有几个好处:
- 以年龄举例,在现实社会中,不同的年龄段的人其经济实力可能有显著差异,于是其还款能力相对总体分布,可能更符合局部的分布
- 借助分箱,我们可以处理异常值,利用缺失值较多的特征(将None单独视为一个分箱)
- 在业务中的可解释性更强了
分箱之后,我们要考察每个分箱内的数据分布 和 整体的分布 间的差异大小
统计总体与分箱的好坏人数可得
先验
- P ( Y = B a d ) = B a d T B a d T + G o o d T P(Y=Bad)=\cfrac{Bad_T}{Bad_T+Good_T} P(Y=Bad)=BadT+GoodTBadT
-
P
(
Y
=
G
o
o
d
)
=
G
o
o
d
T
B
a
d
T
+
G
o
o
d
T
P(Y=Good)=\cfrac{Good_T}{Bad_T+Good_T}
P(Y=Good)=BadT+GoodTGoodT
后验 - P ( Y = B a d ∣ x i ) = B a d i B a d i + G o o d i P(Y=Bad|x_i)=\cfrac{Bad_i}{Bad_i+Good_i} P(Y=Bad∣xi)=Badi+GoodiBadi
- P ( Y = G o o d ∣ x i ) = B a d i B a d i + G o o d i P(Y=Good|x_i)=\cfrac{Bad_i}{Bad_i+Good_i} P(Y=Good∣xi)=Badi+GoodiBadi
将其带入有关贝叶斯定理的推导中可得(对数似然=对数后验-对数先验):
W
O
E
=
l
n
(
P
(
x
∣
Y
=
B
a
d
)
P
(
x
∣
Y
=
G
o
o
d
)
)
=
l
n
(
P
(
Y
=
B
a
d
∣
x
)
P
(
Y
=
G
o
o
d
∣
x
)
)
−
l
n
(
P
(
Y
=
B
a
d
)
P
(
Y
=
G
o
o
d
)
)
=
l
n
(
B
a
d
i
G
o
o
d
i
)
−
l
n
(
B
a
d
T
G
o
o
d
T
)
=
l
n
(
B
a
d
i
/
G
o
o
d
i
B
a
d
T
/
G
o
o
d
T
)
WOE=ln(\cfrac{P(x|Y=Bad)}{P(x|Y=Good)})=ln(\cfrac{P(Y=Bad|x)}{P(Y=Good|x)})-ln(\cfrac{P(Y=Bad)}{P(Y=Good)})=ln(\cfrac{Bad_i}{Good_i})-ln(\cfrac{Bad_T}{Good_T})=ln(\cfrac{Bad_i/Good_i}{Bad_T/Good_T})
WOE=ln(P(x∣Y=Good)P(x∣Y=Bad))=ln(P(Y=Good∣x)P(Y=Bad∣x))−ln(P(Y=Good)P(Y=Bad))=ln(GoodiBadi)−ln(GoodTBadT)=ln(BadT/GoodTBadi/Goodi)
我们将通过样本(证据)得到的数据分布称为后验(每个分箱的对数几率),将似然理解为后验与先验的差异(对数似然的大小反映了差异的大小)。所以WOE的值(差异大小)代表了这部分分箱内的数据对先验的修正程度。
WOE的作用主要有两个(除去上面提到的分箱的意义):
- 一个是起到“归一化”的作用。因为不同的特征往往是通过不同的信道得来的,所以在线性回归中通常不好直接比较。但是,通过woe做一个映射(编码)之后,特征的数值变成了相对整体的差异,而整体对每个特征都是一致的,所以这可以理解为不同的特征被映射到了同一个纬度
- 第二个是它最普遍的用处,就是作为计算IV的权重。也就是作为它的名字“证据权重”参与到运算中
五、IV(Information Value)
在训练模型的过程中,模型中参与计算的特征越多,其结构也就越复杂,于是,我们要进行特征选择
特征选择的一个指标就是IV(Information Value),表示的特征对先验的修正程度,即两个概率分布(代表先验的初始分布和代表后验的由证据/样本修正过的分布)之间的差异。
这里,我们视每个分箱的数值为 B a d i B a d T − G o o d i G o o d T \cfrac{Bad_i}{Bad_T}-\cfrac{Good_i}{Good_T} BadTBadi−GoodTGoodi,权重为WOE。然后求期望,得到一个特征的整体对先验的修正程度,也就是它的价值(所含的信息量) − ∑ ( B a d i B a d T − G o o d i G o o d T ) ( l n ( B a d i G o o d i ) − l n ( B a d T G o o d T ) ) -\displaystyle\sum{(\cfrac{Bad_i}{Bad_T}-\cfrac{Good_i}{Good_T})(ln(\cfrac{Bad_i}{Good_i})-ln(\cfrac{Bad_T}{Good_T}))} −∑(BadTBadi−GoodTGoodi)(ln(GoodiBadi)−ln(GoodTBadT))