写点什么

如何用 Delta-p 统计量解释 Logistic 回归模型

Maarit Widmann

2020 年 9 月 30 日

如何用Delta-p统计量解释Logistic回归模型

本文要点:


  • 利用 Delta-p 统计量,非技术决策者可以很轻松地理解基于 Logistic 回归模型的预测

  • 学习如何根据用于信贷申请处理的 Logistic 回归模型的系数来计算 Delta-p 统计量。

  • 数据工作流包括访问原始数据,训练 Logistic 回归模型,以及使用 Delta-p 统计量评估单个预测因子的效果等步骤。

  • 请记住,在处理高维数据时,Logistic 回归可能不是最好的选择,因为有许多相关的预测因子。


设想这样一种情况:一个信贷客户申请一笔信贷,银行收集有关该客户的数据(人口统计学数据、现有资金等等),并使用机器学习模型预测客户的信用度。客户的信贷申请被拒绝了,但银行不知道具体的原因。或者,一家银行想要宣传他们的信贷,而目标群人群应该是那些最终能够获得信贷的人。但他们是谁呢?


在这种情况下,我们希望使用一个易于解释的模型,例如 Logistic 回归模型。Delta-p 统计量使得系数的解释更加容易了。有了 Delta-p 统计量,无需数据科学家,银行家也可以通知客户,比如,信贷申请被拒绝了,因为所有用于教育的信贷申请人获得信贷的机会都很低。这个决定是合理的,客户不会受到个人伤害,并且他或她可能会在几年后回来申请抵押贷款。


在本文中,我们将解释如何根据 Logistic 回归模型的系数计算 Delta-p 统计量。我们使用KNIME工作流演示了从原始数据到模型训练和模型评估的过程,其中每个中间步骤都有一个可视化的表示。但这个过程可以在任何工具中实施。


用 Delta-p 统计量评估单个预测因子的效果


Logistic 回归模型


当我们使用Logistic回归算法进行分类时,我们用一个http://logistic function">Logistic 函数来建模目标类别的概率,例如不良信贷评级的概率。假设我们有一个二项 Logistic 回归模型,目标列 y 为信贷评级,有两个等级,分别用 0(良好信贷评级)和 1(不良信贷评级)表示。目标类别(y=1)与参考类别(y)的对数几率(log odds)是预测因子 x(账户余额、信贷期限、信贷用途等)的线性组合βx。βx 的 Logistic 函数将对数几率转换为目标类别的概率:



其中,β是预测目标类别 y 的 Logistic 回归模型中预测因子 xin 的系数向量。


目标类别和参考类别可以任意选择。在我们的例子中,目标类别是“不良信贷评级”,参考类别是“良好信贷评级”。


Delta-p 统计量


如果单个预测因子列 xi 是连续的,当 xi 增加 1 时,则系数βi 的变化与目标类别的对数几率相对应。如果 xi 是二项式列,则系数值βi 是 xi 从 0 变化到 1 时对数几率的变化。目标类别的概率变化由 Logistic 函数提供,如图 1 所示。



图 1. Logistic 函数将目标类别 y=1 的概率建模为一个连续预测因子列 xi 的函数


Delta-p 统计量将系数值βi 转换成单个预测因子列的影响百分比,即将目标类别的概率与平均数据点(例如,平均信贷申请)进行相比。


根据定义,Delta-p 统计量是一种在给定自变量发生一个单位的变化,而所有其他变量保持其均值不变的情况下,测量结果发生概率的离散变化的度量。例如,如果预测因子列 xi 的 Delta-p 值为 0.2,则该列增加一个单位(或二项式列从 0 变化到 1)会将目标类别的概率提高 20%。以下公式展示了如何计算目标类别的先验概率和后验概率,以及作为其差分 1 的 Delta-p 统计量:



用例:信贷目的和活期账户余额对信贷评级的影响


现在,让我们用一个例子来说明这一点,并检查现有帐户的信贷目的和余额是如何改善或恶化信贷评级的。我们使用UCI机器学习知识库提供的德国信用卡数据。该数据集包含 21 列,这些列提供了有关 1000 名信贷申请人的人口统计和经济状况信息。30%的申请人信贷等级较差,而 70%的申请人信贷等级良好。通过单击页面顶部的“数据文件夹”,然后在下一页选择“german.data“项,可以下载.data 格式的数据。这个 german.data 文件可以在文本编辑器中打开并保存,例如,保存成 csv 格式。german.doc 文件提供了类别列中的列名和描述,可以通过同一“数据文件夹”页面访问。


图 2 中的工作流程显示了从访问原始数据到训练 Logistic 回归模型,以及使用 Delta-p 统计量评估单个预测因子列的效果的过程。该过流程分为以下步骤,每个步骤都在一个独立的彩色框中实现:(1)访问数据;(2)根据 Logistic 回归模型的要求对数据进行预处理;(3)训练模型;(4)根据模型系数计算 Delta-p 统计量。在预处理步骤中,我们将目标列从符号 1/2 转换为“好”/“坏”,并将原来的两个多项式列转换为二项式列:根据现有银行账户的状态,将“校验”(“checking”)列编码为“负”/“有些资金或没有帐户”两个值。我们将“目的”(“purpose”)列编码为“教育”/“非教育”,以评估教育作为信贷目的的效果。最后,我们处理缺失值并标准化数据中的数字列。



图 2. 从获取原始信贷客户数据到训练信贷评级模型,再到使用 Delta-p统计量来评估预测因子列对信贷评级影响的过程。该解决方案构建在 KNIME 分析平台上,通过 Delta-p 工作流,可以在 KNIME Hub 上查看并下载单个预测因子的评估效果。


图 3 显示了 Logistic 回归模型的系数统计,可在任何工具中重现。“Coeff.”列显示了不同预测因子列的系数值,目的=教育为 0.683。“P>|z|”列显示了系数的 p 值,目的=教育为 0.055。这意味着,教育作为一种信贷目的增加了不良信贷评级的概率,因为其系数值是正的,而且由于 p 值小于 0.1, 这种影响是显著的,显著性水平高达 90%。



图 3. 预测信贷申请人信贷等级好坏的 Logistic 回归模型的系数统计


通过查看 Logistic 回归模型的系数统计,我们发现,与其他信贷目的相比,将教育作为一种信贷目的增加了不良信贷评级的概率。此外,由系数值 0.683 可知,以教育或非教育为信贷目的的不良信贷评级的对数几率比为 0.683,两组的对数几率为 e0.683=1.979。这意味着什么呢?比如,在一个有 100 个信贷申请人的组中,假设其中 20 人以教育为目的申请贷款(第 1 组),其余 80 人以其他目的申请贷款(第 2 组),如果第 2 组 80 个申请人中有 10 人信贷评级不良,那么他们的对数几率是 0.125,那么根据对数几率 1.979,第 1 组的对数几率必须是第 2 组对数几率的 2 倍,也就是 0.25。因此,第 1 组中有 5 个(四分之一)申请人必须是信贷评级不良的!


系数统计具有通用标度,我们可以用它们来比较不同预测因子列的大小和效果。然而,要了解单个预测因子的效果,Delta-p 统计量提供了一种更简单的方法!让我们来看看:


在图 4 中,我们可以看到 Delta-p 统计量和计算它的中间结果,也如下所示,还展示了目的=教育的变量:




图 4. Delta-p 统计量及其中间结果,以及用于预测信贷申请人信贷评级好坏的 Logistic 回归模型的相应系数统计


Delta-p 统计值 0.159 表明,与平均的信贷申请相比,以教育为目的信贷会使不良信贷评级的概率增加 15.9%。


如果我们想将此效果与相反的情况进行比较,即信贷目的不是教育,而是一个平均信贷申请,我们需要重新计算先验概率,同时也需要以均值为中心对权益 xi 的预测因子列的二项式值进行计算。在我们的数据中,有 5%的人申请贷款是出于教育目的,所以”目的“(“purpose”)列的平均值是 0.05。



Delta-p 统计值 0.158 表明,与用于其他目的的人相比,用于教育的信贷使不良信贷评级的概率增加了 15.8%。与之前的情况几乎没有任何区别,我们与一个普通的申请人进行比较,得到 Delta-p 的值为 0.159(图 4)。这意味着除教育以外以其他目的申请信贷人在信贷评级方面非常接近样本平均水平,这显然是因为他们占了总样本的 95%。


现在我们知道,以教育为目的申请信贷会对信贷评级产生负面的影响。哪一列可以产生积极的影响呢?让我们检查一下我们创建的另一个虚拟列的效果,即“检查”(“checking”)列,它指示现有帐户的余额是否为负。校验=有些资金或没有帐户的系数值为-1.063,p 值为 0,如图 3 的第一行所示。


正如图 4 中第一行所示,Delta-p 统计值为-0.171,没有负帐户余额的信贷申请人的不良信贷评级概率比平均信贷申请人的低 17.1%。有趣的是,我们发现有两个列,即“目的”列和“校验”列,它们的大小几乎相同,但方向不同。如果我们看一下图 4 中这两个变量的几率比,乍一看不会得到相同的信息:校验=一些基金或没有账户的几率比是 0.345,目的=教育的几率比是 1.979。


结论


在这篇文章中,我们介绍了 Delta-p 统计量作为解释 Logistic 回归模型系数的一种简单方法。借助 Delta-p 统计量,非技术决策者可以很轻松地理解基于 Logisti 回归模型的预测。


在本文中,我们使用 Delta-p 统计量来评估使信贷申请成功或失败的各个影响因素。当然,Delta-p 统计量的用例更多。例如我们可以使用它来确定最能降低或提高客户满意度的单个接触点 ,或在检测疾病时找到相关性最高的症状。还要注意的是,并非总是需要完成从原始数据到模型训练以及模型评估的整个过程,Delta-p 统计量也可用于重新评估先前训练的 Logistic 回归模型的系数。


Delta-p 统计量只能用于评估 Logistic 回归模型中预测因子列的单个效应。当处理高维数据时,Logistic 回归可能不是最好的选择,因为有许多相关的预测因子列,并且因子列与目标列不相关。目标类还需要在特征空间中是线性可分的。


如果想复制本文中描述的过程,一种选择是在笔记本电脑上安装开源的 KNIME 分析平台,并免费下载本文附带的 KNIME 工作流。无需安装 KNIME 分析平台,就可以在 KNIME Hub 上查看可视化的工作流。其他选择是在任何其他编程工具中实施计算,甚至可以用计算器手动执行。


作者简介


Maarit Widmann 是 KNIME 的数据科学家。她开始于定量社会学,并获得社会科学学士学位。在康斯坦茨大学(The University of Konstanz)完成理学硕士学位后,她就成为了“社会”的一员!她现在通过视频和博客文章交流数据科学背后的概念。请在LinkedIn上关注 Maarit。


Alfredo Roccato 是一位专注于数据科学的独立顾问和培训师。他曾在米兰的天主教大学( Catholic University)学习过统计数据,35 年来一直为企业提供商务智能和分析服务。请在LinkedIn上关注 Alfredo。


原文链接:


https://www.infoq.com/articles/logistic-regression-model-with-delta-p-statistics/


2020 年 9 月 30 日 10:291235

评论

发布
暂无评论
发现更多内容

CAP 原理 <笔记>

raox

极客大学架构师训练营

JAVA并发编程原理与实战

Geek_53983e

原理 java 并发 实战

如何给团队制定合理的季度绩效?

Alan

团队管理 绩效 七日更 28天写作

在wildfly 21中搭建cluster集群

程序那些事

程序那些事 wildfly wildfly21 集群部署 集群架构

LeetCode题解:剑指 Offer 40. 最小的k个数,快速排序,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

GitHub标星力推!我掏空了各大搜索引擎,给你整理了188道Java面试题,满满干货记得收藏

Java架构之路

Java 程序员 架构 面试 编程语言

K8S 资源可视化利器:Kubectl-Graph

郭旭东

Kubernetes Kubernetes Plugin

7. JDK拍了拍你:字符串拼接一定记得用MessageFormat#format

YourBatman

Spring Framework 类型转换 MessageFormat DateFormat

测开之函数进阶· 第4篇《匿名函数》

清菡

测试开发

重磅盘点!2020年区块链行业十件大事

CECBC区块链专委会

区块链

架构大作业二

Geek_michael

极客大学架构师训练营

为移动应用产业开辟出海新航路,华为应用市场是如何“破冰”的?

脑极体

突破2.8万美元关口,比特币为何“疯涨”? ​

CECBC区块链专委会

比特币 比特币数字货币

重学JS | 数组去重的7种算法

梁龙先森

前端 编程语言

SpringBoot,来实现MySQL读写分离技术

Java架构师迁哥

架构师训练营 - 大作业1

阿甘

架构师训练营 - 大作业 2

阿甘

面试官:Android事件分发机制及设计思路,跳槽薪资翻倍

欢喜学安卓

android 程序员 面试 移动开发

冰河又一MySQL力作出版(文末送书)!!

冰河

MySQL 高可用 高并发 高性能 MySQL架构

Spring Cloud 2020.0.0 正式发布,对开发者来说意味着什么?

阿里巴巴云原生

阿里云 容器 开发者 云原生 架构师

扫地阿姨看完都学会了!万字长文总结Android多进程,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

手把手教你写!2021年Android工作或更难找,最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

架构师训练营第五周”技术选型一“作业

随秋

极客大学架构师训练营

专家:区块链底层技术创新是关键

CECBC区块链专委会

区块链

工具词典:Inner Peace

lidaobing

随机漫步的傻瓜 28天写作

支持 gRPC 长链接,深度解读 Nacos 2.0 架构设计及新模型

阿里巴巴云原生

云计算 阿里云 开源 微服务 云原生

架构大作业一

Geek_michael

极客大学架构师训练营

与前端训练营的日子 --Week09

SamGe

学习

甲方日常 76

句子

工作 随笔杂谈 日常

自研ARM芯片,亲手拆掉Wintel联盟,微软这次是认真的吗?

脑极体

重学JS | 找出数组中出现次数最多元素的4种算法

梁龙先森

前端 编程语言

NLP领域的2020年大事记及2021展望

NLP领域的2020年大事记及2021展望

如何用Delta-p统计量解释Logistic回归模型-InfoQ