shartoo +

数据挖掘方法之六:解读逻辑回归

本文总阅读量
欢迎star我的博客

一 使用数据

本文着重示例如何使用逻辑回归
数据来源:电信数据集合
描述:电信数据,有多个属性,用来预测客户流失。
载入数据:

   call_consumer<-read.table(file="d:/LabData/RData/churn.txt",header=TRUE,sep=",")  
      Warning message:  
      In read.table(file = "d:/LabData/RData/churn.txt", header = TRUE,  :  
       incomplete final line found by readTableHeader on 'd:/LabData/RData/churn.txt'  
    > edit(call_consumer)

二 .解读逻辑回归模型

分三种:

2.1 两分预测变量模型

假定唯一的预测变量是语音邮箱套餐(Intl.plan),这是一个表示是否为套餐会员的标记变量。下表显示了语音邮箱套餐会员流失情况。

  语音邮箱=否(x=0) 语音邮箱=是(x=1) 合计
流失=假(y=0) 2008 842 2850
流失=真(y=1) 403 80 483
合计 2411 922 3333

似然函数可以表示为:

使用语音邮箱套餐的客户流失的发生比= $\frac{\pi(1)}{1-\pi(1)} =\frac{80}{842}=0.095$

没有使用语音邮箱套餐的客户流失的发生比= $\frac{\pi(0)}{1-\pi(0)}=\frac{403}{2008}=0.2007$

OR=0.095/0.2007=0.47

也即 使用语音邮箱套餐的客户与没有使用语音邮箱套餐的客户相比,流失概率只有47%

下图显示了语音套餐会员流失的逻辑回归结果 可以得到 $b_0$=-1.60596和 $b_1$=-0.747795。所以用于语音邮箱套餐(x=1)的客户或者没有语音套餐(x=0)的客户流失的估计值为:

2.2 多分预测变量模型

假定将客户服务电话数(customers services calls)看做一个新的变量"-CSC",分类如下:

此时,分析人员需要用指示变量(虚拟变量)和参考单元编码法来给数据集编码,假定选择“CSC=低”作为参考单元,则可把指示变量值分配给另外两个变量。使用指示变量之后:

使用参考单元编码的客户电话指示变量

  CSC-中 csc-高
低(0个或1个电话) 0 0
中(2个或3个电话) 1 0
高( $\ge4个电话$ ) 0 1

使用CSC展示客户流失情况列表汇总如下:

  CSC-低 CSC-中 CSC-高 合计
流失=假(y=0) 1664 1057 129 2850
流失=真(y=1) 214 131 138 483
合计 1878 1188 267 3333

此时再对数据进行逻辑回归分析,得到的结果如下(注意:没有CSC-低):

这里, $b_0=-2.501,b_1=-0.03698,b_2=2.11844$ 所以客户流失概率的估计量为:

有:

Wald检验

如下:

此时,P值P(|Z|>0.31426)=0.753,不显著,所以没有证据表明CSC-中CSC-低的差异能有效预测客户流失。

所以,对于多分预测变量模型,关键是指示变量和参照单元编码

2.3 解读连续预测变量模型

假定我们考虑以客户日使用分钟数作为预测变量,则相应的逻辑回归分析结果如下: 因此对于一个给定日使用分钟数的顾客,流失概率:

概率π(100)=0.0572,比数据集中总比例14.5%要小,表明低的日使用分钟数会在一定程度上防止顾客流失

概率π(300)=0.3664,比数据集中总比例14.5%要大,表明日使用分钟数越多顾客流失越多

“日使用分钟数”,这一实例的偏差G为:

对G进行卡方检验,

因此强有力的证据表明日使用分钟数有助于预测顾客的流失情况。

对“日使用分钟数”进行Wald检验,可以得到同样的结论。

三.多元逻辑回归

多元逻辑回归与简单逻辑回归十分相似,需要注意的是选择恰当的预测变量,其方法主要有

下图一个简单示例: 由上面两幅图可以看出,其中的“账户时长”变量其Wald检验的P值没有拒绝零假设检验,因而需要从全体预测变量中剔除。最后的G偏差,卡方检验虽然两幅图中都能表明,多元预测变量能显著预测结果(G检验的P值=0),但是剔除账户长度后更好。

四 逻辑回归中引入高阶项

为何需要高阶项

如果逻辑回归转换函数在连续变量中不是线性的,让步比的估计和置信区间的应用可能会有问题。原因在与估计的让步比在预测变量取值域上是一个常数。例如,不论是第23分钟还是第323分钟,日使用分钟数每增加1个单位,让步比都是1.01.这种让步比为常数的假设并不总是成立。
此时,分析人员需要做一些非线性的调整,如使用指示变量(见多分预测变量模型)和高阶项(如:$x^2,x^3..$)。

高阶项的作用

高阶项的引入可以作为惩罚函数,减少该变量不正常的分布。使用高阶项(和起始变量一起运用)的优势在于,高阶项可以是连续的并且可以提供更严格的估计。

我的博客

观点

源码