一、Logistic Regression模型的基本概念
线性回归无法对{违约,非违约}这类标签进行建模。对于分类模型而言,建模的对象是每个类别在某条样本上出现的概率
伯努利概型:
在违规预测场景中,单个个体违约事件可以看成伯努利概型
,参数pi即需要预测的目标
通过Logistic变换(sigmoid函数) f'(x)=f(x)(1-f(x)) f(x)的特点:
将Logistic变换应用在概率中 Xi表示第i个观测值上p个特征的取值,β表示该特征的权重。 |
通过Logistic变换,上述模型的形式变为:
。对违约概率做回归,而非违约结果(0or1)
参数估计:通过极大似然估计法(MLE)求出参数β,使得似然函数最大化。
通常将似然函数最大化问题转化为对数似然函数最大化,原因如下:
-
对数似然函数与似然函数单调上升且具有更紧凑的形式
-
对数似然函数更易于求导计算
似然函数:
对数似然函数:
通过偏导求最大化时参数β的值:失败
对数似然函数最大化:
即,对LL(x,y|β)求偏导,并求偏导数为0时的解析解: |
通过数值求解的方式来计算参数β:梯度上升法(下降法是减,其实是一样的)
-
初始化参数β0
和步长h, -
计算当前梯度
-
更新参数
-
直至满足终止条件
根据梯度使用的样本量,分为:
-
批量梯度上升法
-
随机梯度上升法
-
小批量梯度上升法
Logistic Regression模型的优缺点:
-
优点
-
结构简单:变量之间的关系是线性可加关系
-
可解释性高:输入变量对目标变量的影响是容易获得的
-
支持增量训练:无需读入全部数据,可增量式的读取数据、训练模型
-
给出概率而非判别类别:估计出属于某一类的概率,结果可用于更复杂的决策
-
工程化相对容易:测试、部署、监控、调优等工作相对简单
-
-
缺点
-
预测精度一般:结构较简单,预测精度不如其他模型
-
对变量要求高
-
数值类型,对非数值变量要进行编码
-
不能有缺失值,需要对缺失值处理
-
对异常值敏感,需要对异常值处理
-
变量尺度差异大时,需要做归一化
-
变量间的线性相关性对模型有影响,需要做变量挑选或加上正则项
-
-
二、基于Logistic Regression模型的评分卡构建工作
Logistic Regression模型对变量的要求:
-
变量间不存在较强的线性相关性和多重共线性(在单变量、多变量分析中得到一定约束,但未必充分)
-
变量具有显著性(从系数的p值-如低于0.1-进行检测)
-
变量具有合理的业务含义,即变量对于风控业务是正确的(从系数的符号进行检验)
1.变量显著性:为了获取与目标变量(即违约标签)有较高相关性的变量
如果发现模型中某些变量不显著,需要检验:
-
该变量本身不显著。检验方法:
-
将该变量单独与目标变量做Logistic Regression模型
-
如果单变量回归下,系数的p值仍然较高(比如高于0.1),即该变量本身的显著性很低
-
另:对于IV较高的变量,不显著的可能性较低
-
-
该变量显著,但由于有一定的线性相关性或者多重共线性,导致该变量在多元回归下不显著
-
先检验1,如果排除,再检验2
2.变量正确性
-
WOE为负:当前箱的“危险性”高于平均样本的“危险性”,出现坏样本的概率更高。
-
所有变量对应的系数应该为负。
-
如果B、G反过来,那负为正。
两个问题和答案,附在文末。
3.特征选择
全变量都加入LR模型,会出现许多不显著、不正确的变量是由于线性相关性引起的。因此,需要做变量挑选。
目的:
-
入模变量正确并且显著
-
入模变量的“重要性”是最高的(用IV衡量)
挑选变量的步骤:
-
将变量根据IV进行降序排列,x1>x2>…>xp
-
当前的入模变量集合为{x1}
-
从剩余的变量中挑选第一个变量放入上一步的集合中,建立回归模型,如果该变量的所有的变量都满足p值小于阈值(一般为0.1)、系数为负,则在入模变量集合中保留该变量,否则剔除
-
遍历所有变量(简单说:一个一个往里加,不行就扔)
三、尺度化
得到LR模型后,通常要将概率转化成分数。分数的单调性与概率相反。违约概率越低,信用资质越好,评分越高。这个过程,称为“尺度化”。
转化公式为:
,其中
-
PDO的作用:当好坏比上升1倍时,分数上升PDO个单位
-
Base Point的选择:要满足所有的评分的取值为正
最后得到评分分布呈钟形正态分布,说明模型较好,尺度化比较成功。
问题1:对所有正系数的变量单独做一元Logistic Regression,系数全部为-1,为什么?
答:定性的来看,在特征都已经标准化的情况下:
-
系数的绝对值越大,说明这个特征越重要。
-
如果系数为正,这个特征与目标值为1的概率正相关
-
如果系数为负,这个特征与目标值为0的概率正相关
那么,系数为-1,说明这个特征出现怀样本的概率几乎为0
问题2:在一元Logistic Regression中,常数项(或称为截距项)有什么含义?
回答这个问题,我们先从定义出发,然后再结合个实际例子去理解。从定义来看,多元线性回归方程定义如下:
这里的 a 为常数项, 上图是多元线性回归回归的一个特例,即一元线性回归。多元就是在一元的基础上,用更多的自变量对因变量进行解释。我们以一元为例,来看常数项和随机误差的含义。从图中可以看出,常数项是拟合的一元回归直线在因变量(Y)轴上的截距;误差是实际的点和回归直线之间的差,而随机则表示的是这个误差不是固定的,有大有小,没有特定的规律,服从标准正态分布。具体来说,常数项表示的是未被自变量解释的且长期存在(非随机)的部分,即信息残留。而随机误差是在自变量解释空间内,预测值和去掉常数项的实际值的误差。下图是从一个多元线性回归模型的视角去看问题:因变量(Y)代表需要解释的全体信息,模型里的Xi构成的空间是自变量解释空间,随机误差存在于自变量解释空间中。在自变量解释空间外,如果还有恒定的信息残留,那么这部分信息构成常数项。 一言以蔽之,在计量经济学的线性回归模型中,常数项在很多情况下并无实际的解释意义。 要论含义,常数项的数学含义是,平均来讲,当所有解释变量的值为0的时候,被解释变量的值是几?但是在计量经济学的实证模型中,这通常是无意义的,原因很简单,因为在很多时候,解释变量的定义域并不一定包括0,比如人的身高、体重等等。可是,即便所有的解释变量都可以同时取0,常数项依然是基本无意义的。我们回到线性回归的本质上来讲的话,所有参数的确定都为了一个目的:让残差项的均值为0,而且残差项的平方和最小。所以,想象一下,当其他的参数都确定了以后,常数项的变化在图像上表现出来的就是拟合曲线的上下整体浮动,当曲线浮动到某一位置,使得在该位置上,残差项的均值为0,曲线与y轴所确定的截距即为常数项。因此,可以理解为常数项是对其他各个解释变量所留下的偏误(bias)的线性修正。但是要说常数项具体的值所代表的解释意义,在通常情况下是无意义的。 写到这里,有人可能会问,既然无意义,我们何不去掉常数项?答案是否定的,原因是,如果去除了常数项,就等于强制认定当所有解释变量为0时,被解释变量为0。如果这个断定不符合实际意义,而你执意去除常数项的话,你的线性估计将是有偏的。 随机误差项的理解相对简单,在线性回归模型中,每一个观测值都有一个残差项,也叫随机误差项,它刻画的是模型的估计值和真实观测值之间的偏差。 说实在的,区别不太大,而且有的时候去掉常数项各变量t值会有上升。 平狄克的「econometrics」书中提到过「可以将常数项看作是值恒为1的一个虚拟变量的系数」(上述原话为英文,但是是这个意思)也就是说,它可能包含了一些你忽视掉的虚拟变量。 而且带常数项的模型其实是对随机误差项的优化,我们在做OLS时总是假定随机误差项是标准正态分布的,但这很难满足。假设随机误差项的均值不是0,而是一个常数,那么加入常数项的模型就会使得随机误差项又变成了标准正态分布,它的期望就被含在常数项里了。总而言之,这样的模型更为靠谱。 |