一、Logistic回归
与多元线性回归不同,logistic回归可以用来解决分类问题,其中二项Logistic回归通常可以解决是否购买、是否流失等二分类问题,而多项Logistic回归可以用于多分类的操作。本篇先介绍二项的logistic回归
1.1为什么Logistic回归可以用来解决分类问题?
回顾多元线性回归问题的经验,可以发现多元线性回归的目标是数值型变量,假定为y,y的取值范围是全体实数,即
y = 𝛽1+𝜔2𝛽2+𝜔3𝛽3+⋯+𝛼
当目标函数是(二)分类变量时,y的取值是{0,1}这样一个集合,无法用权重和偏差来表示,即等号不成立,为了使y成为一条线性函数,需要经历以下变换:
①令u = p(y = 1)/ 1 - p(y = 1),此时u的取值范围是【0,+∞】————(p是指概率)
②对u取对数,令Y= ln u,此时Y的取值范围就是【-∞,+∞】,可以使等号成立了,这就是Logistic变换
1.2Logistic回归的统计检验
1、-2对数似然值(-2 log likelihood, -2LL) ————检验回归方程的显著性,取值范围【0,1】,数值越大方程越显著
2、回归系数的检验 —————————————Wald检验
3、回归方程拟合优度的检验 —————————Cox&Snellp R2统计量、Nagelkerkep R2统计量(修正的)、混淆矩阵
二、数据转化
2.1数据输入
此步骤用于读取数据
添加“类型”节点以定义字段,从而确保所有测量级别都已正确设置。例如,大多数值为 0 和 1 的字段都可以用作标志字段,但某些字段,比如性别,作为包含两个值的名义字段会更加准确
将流失字段 chum 级别设置为目标,其他所有字段设置为输入
2.2数据过滤
数据集一共有42个字段,此步骤用于排除一些无关变量,以便得到更优的结果
为“类型”节点添加“特征选择”模型,可以用来删除不能为目标函数添加任何有用信息的变量(无关变量)
进一步的,打开“特征选择”模型,选择“生成”,点击“过滤”,从而生成过滤节点,在对话框中,选择所有已标记的字段:重要,以上操作可以实现仅选择被认为很重要的数据来用作预测变量
2.3数据审核
此步骤检查数据是否具有异常值、缺失值
将“数据审核”节点添加到生成的过滤节点中,在“数据审核”浏览器的“质量”选项卡上,单击完成百分比列以便按数值升序顺序对此列进行排序。这样就可以识别所有含有大量缺失数据的字段;在本示例中,唯一需要修改的字段是 logtoll ,其完成值比例小于 50%
在缺失插补列中,单击指定 ,对于 插补条件 ,选择 空白值和空值 ,对于固定值,选择 平均值 ,选择 平均值 可确保插补值不会反过来影响总数据中所有值的平均值
在“数据审核”的“质量”选项卡上,生成缺失值超节点,在“缺失值超节点”对话框中,将样本大小增加到 50%,然后单击确定,超节点将显示在流画布中,其标题为:缺失值插补,将超节点附加到过滤节点
三、二项Logistic回归
在建模选项卡中添加logistic节点,在 Logistic 节点上,单击“模型”选项卡并选择二项过程。在 二项过程 区域,选择 向前步进 法
在“专家”选项卡上,选择专家模式,然后单击输出。此时显示“高级输出”对话框。在“高级输出”对话框中,选择在每个步骤作为显示类型。选择 迭代历史记录 和 参数估计 ,然后单击 确定
在 Logistic 节点上,单击运行创建模型,在结果模型中,点击 高级 选项卡,重点关注分类表(Classification Table)
向前步进法从空模型(即,没有预测变量的模型)开始,可以将此空模型用作与最终构建的模型进行比较的基础。按照惯例,此空模型会将所有值都预测为 0,因此其准确度为 72.6%,这完全是因为已正确预测到 726 个未流失的客户。但是,根本没有正确预测到已流失的客户
此分类表显示了在每个步骤中添加预测变量之后模型的结果。在第一个步骤中(在仅使用了一个预测变量之后),模型预测流失的准确性就已从 0.0% 增加到 29.9%
分类表显示步骤 8 为最后一步。在此阶段,算法已确定不再需要向模型添加任何其他预测变量。虽然预测非流失客户的准确性有所下降,达到了 91.2%,但预测已流失客户的准确性却从原来的 0% 上升到了 47.1%。这相比原来不使用任何预测变量的空模型其有效性显著提高
观察总体模型的统计检验中的 Nagelkerke R2列,发现随着预测模型的逐步加入,变量的显著性也逐渐提高