Logistic回归模型
一、Logistic回归模型构建以及求解参数
1.1、背景知识
在实际的数据挖掘中,站在预测类问题的角度来看,除了需要预测连续型的因变量,还需要预判离散型的因变量。
对于连续型变量的预测,可以借助于多元线性回归模型、岭回归模型或LASSO回归模型来解决。对于连续型变量的预测,可以借助于多元线性回归模型、岭回归模型或LASSO回归模型来解决。
而对于离散型变量的识别(尤其是二元问题),则可以通过Logistic回归模型解决。
1.2、Logistic回归模型的用途
一个是寻找“危险”因素,例如,医学界通常使用模型中的优势比寻找影响某种疾病的“坏”因素。
另一个用途是判别新样本所属的类别,例如根据手机设备的记录数据判断用户是处于行走状态还是跑步状态。
1.3、Logistic与线性回归的关系
如果以0.5作为判别标准,左图呈现的回归模型对肿瘤的划分还是比较合理的,因为当肿瘤体积小于x_1时,都能够将良性肿瘤判断出来,反之亦然;
再来看右图,当恶性肿瘤在x轴上相对分散时,得到的线性回归模型会导致结果的误判;
根据图中信息可知,当线性回归模型的预测值越大(如果以0.5作为阈值),则肿瘤被判为恶性的可能性就越大,反之亦然;
如果对线性回归模型做某种变换,能够使预测值被“压缩”在0~1之间,那么这个范围就可以理解为恶性肿瘤的概率。当预测值越大,转换后的概率值就越接近于1,从而得到肿瘤为恶性的概率也就越大,反之亦然;
1.4、Logit变换
其中,z∈(-∞,+∞)。当z趋于正无穷大时,e^(-z)将趋于0,进而导致g(z)逼近于1;
相反,当z趋于负无穷大时,e^(-z)会趋于正无穷大,最终导致g(z)逼近于0;
当z=0时,e^(-z)=1,所以得到g(z)=0.5;
假定线下回归模型为$$ z=β_0+β_1 x_1+β_2 x_2+…+β_p x_p$
则Logit变换为:g(z)=1/(1+e^├ -(β_0+β_1 x_1+β_2 x_2+…+βp x_p ) )=hβ (X)
上式中的ℎ_ ()也被称为Logistic回归模型,它是将线性回归模型的预测值经过非线性的Logit函数转换为[0,1]之间的概率值。
1.5、Logistic模型到线性回归模型的转变
条件概率,y取值为1时的概率:P(y=1│X;β)=h_β (X)=p
条件概率,y取值为0时的概率:P(y=0│X;β)=〖1-h〗_β (X)=1-p
二、Logistic回归模型的参数解释
2.1、事件发生比
假设影响是否患癌的因素有性别和肿瘤两个变量,通过建模可以得到对应的系数β_1和β_2,则Logistic回归模型可以按照事件发生比的形式改写为:
三、模型效果的评估的方法
3.1、混淆矩阵
A:表示正确预测负例的样本个数,用TN表示。
B:表示预测为负例但实际为正例的个数,用FN表示。
C:表示预测为正例但实际为负例的个数,用FP表示。
D:表示正确预测正例的样本个数,用TP表示。
A+B:表示预测负例的样本个数,用PN表示。
C+D:表示预测正例的样本个数,用PP表示。
3.2、ROC曲线
图中的红色线为参考线,即在不使用模型的情况下,Sensitivity 和 1-Specificity 之比恒等于 1。通常绘制ROC曲线,不仅仅是得到左侧的图形,更重要的是计算折线下的面积,即图中的阴影部分,这个面积称为AUC。在做模型评估时,希望AUC的值越大越好,通常情况下,当AUC在0.8以上时,模型就基本可以接受了。
3.3、KS曲线
图中的两条折线分别代表各分位点下的正例覆盖率和1-负例覆盖率,通过两条曲线很难对模型的好坏做评估,一般会选用最大的KS值作为衡量指标。KS的计算公式为:KS= Sensitivity-(1- Specificity)= Sensitivity+ Specificity-1。对于KS值而言,也是希望越大越好,通常情况下,当KS值大于0.4时,模型基本可以接受。
3.1、混淆矩阵
四、Logistic回归模型的实战
ü另一个用途是判别新样本所属的类别,例如根据手机设备的记录数据判断用户是处于行走状态还是跑步状态。
ü而对于离散型变量的识别(尤其是二元问题),则可以通过Logistic回归模型解决。