获得对Logit模型参数的稳健理解,超越典型几率的解释
所有图片由作者提供
Logistic回归,也被称为Logit模型,是线性回归的强大替代方案,允许人们对二分法、二元结果(即0或1)进行建模,并对观察到的上述结果发生的概率提供明显的准确预测。Logit模型中的参数估计可以提供对不同解释变量或特征对模型预测的贡献的见解。许多读者可能很熟悉用几率来解释Logit模型参数(如果不是,不用担心,我在下面简要介绍一下)。然而,用 概率来解释这些参数并不那么简单,但对如何解释这些参数的有力理解可以为解释模型的基本预测行为提供大量的直观信息。
做一个预测是非常强大的,但直观地解释一个模型的预测成分可以使你的项目分析更上一层楼。
在本文结束时,你将以一种新的眼光看待逻辑回归,并了解如何以惊人的直觉来解释模型参数。本文假设你对Logit模型有简单的基础知识,因此将重点放在以可理解的方式解释模型参数上。然而,我们将首先简要地讨论Logit模型背后的理论。然后,我们将深入讨论如何将模型参数解释为边际效应。最后,我们将介绍一个实际的例子,利用以下Kaggle数据集来预测信用卡欺诈交易。
Logistic回归速成班
Logit模型属于更广泛的广义线性模型(GLMs)家族,简而言之,当感兴趣的结果遵循不同于高斯的基本分布时,可以灵活地拟合线性模型,并通过一个链接函数将线性模型与感兴趣的结果联系起来。典型的线性回归是一个特殊的情况,链接函数是身份函数。在二元结果的情况下,线性回归被称为线性概率模型,可以提供小于0或大于1的预测(见图1)。这显然会带来一些问题,因为概率自然是在0和1之间有界限的。然而,GLM提供了一个方便的框架来解决这个问题
对数模型是一个特殊的案例,它允许对遵循伯努利分布的二元结果进行建模。对数模型特别有吸引力,因为所使用的链接函数(logit函数)在0和1之间是有界的。因此,所有的模型预测都在0和1之间有界,正如在概率空间中所预期的那样。下面的图1提供了一个很好的线性概率模型和逻辑回归在双变量情况下的模型拟合的视觉对比。
图1
在数学上,Logit模型的特点是。
其中X表示模型中观察到的解释变量或特征的矩阵,p(X)表示y取值为1的概率。给定这个模型设置,y 分布为伯努利,logit模型估计的目标是最大化以下似然函数,这就是我们的联合分布。
简单地说,我们的优化问题是要选择(1)中的参数(即β),使(2)最大化。请注意,当y=1的个体的估计概率接近于1,y=0的个体的估计概率接近于0时,(2)将被最大化。
将Logit参数解释为边际效应
边际效应可以被认为是对结果(或目标)变量的平均(或边际)影响,这种影响是由所关注的解释变量(或特征)的变化所导致的。这同样可以被概念化为以下内容。在平均(或 *边际)*观察点/个体,改变解释变量对结果的影响是什么。在我们这个二元变量的案例中,这类似于估计改变一个解释变量对观察结果的概率的平均影响。
注意:边际效应必须只被解释为一种关联,而不是 因果关系 。因果关系需要额外的识别假设,我在最近的一篇文章中提到了这一点。
通过认识到边际效应只是一个变化率,人们可能会立即注意到,这可以归结为对解释变量的导数。我们将首先从简单的线性回归案例开始,使事情变得简单。假设我们有以下的线性回归。
为了找到任何变量的边际效应,我们可以对(3)中感兴趣的x进行导数。这个对任何x*的导数是简单的。
请注意,在这种情况下,我们有一个恒定的边际效应,这是有道理的,因为线性回归是y对x的线性投影,边际效应可以解释如下。
***解释。***平均来说,x*增加一个单位 。 与 与 y的β*变化。
现在,细心的读者可能会注意到,对于logit模型来说,这个导数几乎不是那么简单的(见下文关于对数和赔率的讨论)。考虑公式(1)中概述的Logistic模型。关于任何x*的导数 ,可以用链和商规则来解决。因此,我们可以找到x*对y发生的概率的边际影响如下。
这里我们可以看到,边际效应现在是x的值本身的一个函数。这也是有道理的,因为logit函数是非线性的(见图1)。这使我们有能力在任何x的组合中评估边际效应。然而,如果我们想总结整体的边际效应,我们就有两个选择。
- 计算平均边际效应--这需要用(5)计算每个观察点的边际效应,然后计算出平均值
- 计算平均的边际效应*--*这需要将所有解释变量的平均值插入(5)中,然后计算边际效应。
在不同的情况下,这两种方法并不存在明显的优势,而且都能提供不同的解释。然而,平均边际效应提供了最简洁的解释,因此,在本篇文章的剩余部分,我们将采用这种解释。
请注意,所有的计算都可以很容易地扩展,不仅可以计算解释变量平均值的边际效应,而且可以计算任何数值的组合。我将把这个问题留给有兴趣的读者,下一节中提供的代码可以很容易地进行扩展(即把你感兴趣的每个变量的值插入(5),以获得该观察点的边际效应)。这可以为预测参数的边际效应如何因某些类型的个人/观测点而变化提供非常有力的见解
尽管如此,Logit模型中的平均边际效应的解释如下。
平均边际效应。
***解释。***平均来说,x*增加一个单位是 相关 与y发生的概率的{计算值}百分比变化。
对数赔率、概率和概率比
在我们提供一个实际的数字例子之前,有必要讨论一下对数模型、对数赔率、赔率和赔率之间的关系。逻辑回归的结果用几率来解释是很常见的,这是因为经过一些代数之后我们可以把(1)改写成。
其中左手边是对数。因此,逻辑回归有一个恒定的边际效应,以对数赔率计算,其中。
然而,以对数赔率为单位的边际效应与任何直觉都是极其相悖的。因此,我们可以通过取(6)的指数来解决以赔率为单位的模型。
然后,通常通过计算赔率来解释逻辑回归参数,其中,使用(8),我们得到。
请注意,在二元变量的情况下,x*的分母值是0,因此我们比较指标等于1和等于0的比率(即男性对女性)。在二元或连续情况下,解释如下。
解释。平均来说,x*增加一个单位,与y发生的几率乘以{计算值}有关 。
在我看来,这些解释并不总是像概率解释那样清晰,除非一个人经常接触和使用对数、赔率和赔率比率。然而,(7-9)可以提供关于x* 对对数、赔率和赔率的边际影响的见解。
可选:非线性与交互作用
假设我们有以下两个信念:x*可能与y有二次关系,而且我们认为这种影响因性别而异。我们可以增加我们的logit模型,包括以下两个额外的工程特征。
其中我们包括x*的平方项,并将x* 与一个虚拟变量互动,以表示该个体是否为男性。因此,我们现在对边际效应的解释将稍有不同。
请注意,每当我们包括一个交互项时,我们必须注意在模型中首先包括每个未交互的变量(即也包括单独的虚拟男性)。否则,交互项会吃掉性别对y的原始影响,而实际上交互项可能是多余的。
现在将(10)相对于x*进行微分,我们得到。
现在我们可以看到*,* 由于非线性因素,边际效应将进一步变化,取决于x*的值以及该个体是男性还是女性。这可以让我们计算出男性与女性的平均边际效应,方法是对每个男性和女性计算(11),然后取其平均值。同样,我们也可以在解出(10)的几率后,按照(9)的方法计算出几率比。这些例子将留给感兴趣的读者,我们到目前为止所涉及的内容应该足以计算这些。
预测信用卡诈骗的边际效应
为了展示我们上面讨论的一个具体例子,我们将利用以下关于信用卡交易的Kaggle数据集,目的是建立一个模型来预测一个交易是否是欺诈性的。该数据集在每笔交易上有以下变量。
- 离家的距离 (连续)
- 离上次交易的距离 (连续)
- 与中位数购买价格的比率 (连续)
- 重复零售店 (1/0) (二进制)
- 使用过的芯片 (1/0)(二进制)
- 用过的插销数量***(1/0)*** (二进制)
- 在线订单***(1/0)*** (二进制)
- 目标。 欺诈***(1/0)*** (二进制)
首先,让我们导入数据并生成汇总统计。
在这里,我们得到以下的汇总统计。
图2
我们现在将使用scikit-learn建立一个逻辑回归模型。假设我们已经经历了训练和验证模型的适当步骤,并确定了适当的模型。我们的最终模型如下。
我们已经建立了我们的Logit模型来预测信用卡交易是否是欺诈性的。现在让我们来解释一下模型的参数,以了解模型的内部运作以及每个特征在推动预测方面的后续作用。我们将定义一个函数来计算逻辑回归的边际效应,包括概率和几率。
注意,第14行是用(5)计算的平均边际效应,第21行是用(9)计算的几率。
在我们定义了这个函数之后,我们所要做的就是输入我们所建立的logit模型和特征矩阵。让我们首先解释一下概率方面的输出。
logit_margeff(final_mod, fraud[features], kind='probability')
在这里,我们有每个特征的边际效应的相应输出。
回顾一下,我们已经对所有的连续特征进行了标准化,因此一个单位的增加对应于一个标准差的增加。我们将对一个连续特征--离家的距离和一个二进制特征--用过的针数的平均边际效应进行解释*。*
解释(离家的距离)。平 均来说,交易发生地与持卡人家庭地址的距离增加一个标准差(65.391),交易是欺诈性的概率就会增加2.4个百分点。
解释(Used_pin_number)。平 均而言,包括使用密码的信用卡交易与交易欺诈的概率减少32.3个百分点有关。
现在,从几率的角度来看。
logit_margeff(final_mod, fraud[features], kind='odds')
随着每个特征的边际效应的相应输出。
相同特征在赔率方面的解释如下。
解释(离家的距离)。平 均来说,交易发生地与持卡人家庭地址的距离增加一个标准差(65.391),交易被欺诈的几率就会增加2.7倍。
解释(Used_pin_number)。平 均而言,包括使用密码的信用卡交易与交易被欺诈的几率相乘为0。换句话说,平均而言,使用密码几乎可以完美地预测交易不会 被欺诈。
讨论
我希望这篇文章能帮助我们清楚地认识到如何从 极具意义的见解从logit模型参数中提取。很明显,以概率为单位的边际效应解释为Logit模型框架下的预测机制提供了巨大的直观性和可解释性。一般来说,这些参数解释了模型如何进行预测,以及解释了目标和特征之间的关联。然而,在额外的识别假设下,我们可以对解释模型参数作为某些特征和目标之间的因果关系做出更有力的陈述(我在之前的文章中简单讨论过)。我希望这篇文章能增加你对逻辑回归的了解和欣赏!我很感谢你读了我的文章。
相关帖子
我感谢你阅读我的帖子!我在Medium上的帖子旨在探索现实世界和理论应用,利用 计量经济学 和 统计/机器学习 技术。此外,我还试图通过理论和模拟来提供某些方法的理论基础的帖子。最重要的是,我写作是为了学习!我希望能使复杂的话题对所有人都更容易理解。如果你喜欢这篇文章,请考虑 在Medium上关注我!
Logistic回归中的预测参数。Making Sense of It All最初发表于Towards Data Scienceon Medium,在那里人们通过强调和回应这个故事继续对话。