逻辑回归:最大化正阳性-误阳性


9

我有一个逻辑回归模型(通过弹性网络正则化通过R中的glmnet拟合),并且我想最大化真实肯定和错误肯定之间的差异。为此,请注意以下步骤:

  1. 拟合标准逻辑回归模型
  2. 使用预测阈值为0.5,确定所有积极预测
  3. 为肯定预测的观测值分配权重1,为所有其他权重分配权重0
  4. 拟合加权逻辑回归模型

这种方法有什么缺点?解决此问题的正确方法是什么?

希望最大程度地提高正负数之间的差异的原因是由于我的应用程序的设计。作为课堂项目的一部分,我正在在线市场上建立一个自主参与者-如果我的模型预测它可以购买某些东西并以后以更高的价格出售,它就会出价。我想坚持逻辑回归并根据固定成本和单价增量(我在每笔交易中获得或损失相同的金额)输出二进制结果(成功,失败)。误报会伤害我,因为这意味着我买了东西,无法以更高的价格出售。但是,错误的否定并不会伤害我(仅就机会成本而言),因为这仅意味着如果我不购买,但如果我有购买,我就可以赚钱。同样,

我同意0.5的临界值是完全任意的,并且当我在预测阈值上优化了步骤1中的模型时,该模型在真/假阳性之间产生了最大差异,结果接近0.4。我认为这是由于数据的偏斜性质-负数与正数之比约为1:3。

现在,我正在执行以下步骤:

  1. 将数据拆分为训练/测试
  2. 在训练中拟合模型,在测试集中进行预测并计算真假阳性之间的差异
  3. 完全拟合模型,在测试集中进行预测并计算真假阳性之间的差异

尽管训练集是全套的子集,但在步骤3中,正确/错误肯定之间的差异小于在步骤2中。由于我不在乎#3中的模型是否具有更多的真实负数和更少的虚假负数,因此我可以做些什么而无需更改似然函数本身?


在问这种方法有什么缺点之前,也许您应该写出您认为这种方法为什么行得通的理由。您为什么认为第2-4步可以改善结果?
user31264

另外,我是否正确,最后您从步骤1中删除模型,而仅使用步骤4中的模型?
user31264

是的,我打算使用适合整个数据集的模型,但这样做没有意义,因为它的表现不及适合训练集的模型。
tmakino

2
我目前没有这方面的资料...但是您知道您可以优化逻辑回归模型以最大化(接收器工作特性)曲线(或AUC)下的面积吗?无需重新发明轮子。
2013年

2
我在这里不太明白的是,为什么您没有在模型中包含有关预测的未来价格的任何信息,也没有在优化中包含利润/亏损的幅度。即使“买”的决定肯定会导致99%的损失,但比“买”的决定会导致1%的损失要差得多,即使两者都是假阳性。
概率

Answers:


24

您似乎根本不需要逻辑回归。你说的是“我想最大程度地提高真实肯定和错误肯定之间的差异。” 那是一个很好的目标函数,但不是逻辑回归。让我们看看它是什么。

首先,一些符号。因变量将是ÿ一世

ÿ一世={1个采购 一世 有利可图0采购 一世 没有利润

自变量(用于预测是否应该购买的东西)将是(向量)。您尝试估计的参数将是(向量)。您将在时预测购买。对于观察,您预测当或指标函数。X一世βX一世β>0一世X一世β>01个X一世β>0=1个

当和时,观察上会出现真正的正数。当且时,会发生对观察误报。您希望找到,它使真实的正数减去错误的正数最大化,或者: 一世ÿ一世=1个1个X一世β>0=1个一世ÿ一世=01个X一世β>0=1个β

一个Xβ一世=1个ñÿ一世1个X一世β>0-一世=1个ñ1个-ÿ一世1个X一世β>0

这不是一个用于估计离散响应模型的特别熟悉的目标函数,但是当我对目标函数做一些代数时,请耐心等待:

一世=1个ñÿ一世1个X一世β>0-一世=1个ñ1个-ÿ一世1个X一世β>0=一世=1个ñÿ一世1个X一世β>0-一世=1个ñ1个X一世β>0+一世=1个ñÿ一世1个X一世β>0=一世=1个ñÿ一世1个X一世β>0-一世=1个ñ1个X一世β>0+一世=1个ñÿ一世1个X一世β>0+一世=1个ñ1个-一世=1个ñ1个+一世=1个ñÿ一世-一世=1个ñÿ一世=一世=1个ñÿ一世1个X一世β>0+一世=1个ñ1个-ÿ一世1个-1个X一世β>0-一世=1个ñ1个+一世=1个ñÿ一世

好的,现在请注意,该总和的最后两项不是函数,因此我们可以在最大化中忽略它们。最后,我们刚刚表明,您要解决的问题“最大化正阳性和假阳性之间的差异”与该问题相同: β

一个Xβ一世=1个ñÿ一世1个X一世β>0+一世=1个ñ1个-ÿ一世1个-1个X一世β>0

现在,这个估算器有了一个名字!它被称为最高分数估算器。这是一种估计离散响应模型参数的非常直观的方法。选择参数以便最大化正确预测的数量。第一项是真实正数,第二项是真实负数。

这是估计(二进制)离散响应模型的一种很好的方法。例如,估计量是一致的。(Manski,1985,Econometrics J)但是,这个估计量有些奇怪。首先,它在小样本中不是唯一的。一旦找到一个可以解决最大值的,那么在您的数据集中做出完全相同的预测的其他也会解决该最大值-因此,无限多个接近您找到的。另外,估计量不是渐近正态的,并且收敛速度比典型的最大似然估计量慢-求根而不是根βββññ收敛。(Kim和Pollard,1990,Stat的安)最后,您不能使用自举对其进行推断。(Abrevaya&Huang,2005,Econometrica)尽管有一些论文使用了这种估算器--- Caudill的《 NCAA篮球锦标赛》中关于预测结果的预测很有趣,《国际预测杂志》,2003年4月,第19版,iss。2,第313-17页。

克服大多数问题的一种估计器是Horowitz的平滑最大得分估计器(Horowitz,1992; Econometrica和Horowitz,2002,计量经济学杂志)。它给出了根一致的,渐近正态的唯一估计量,该估计量适合自举。Horowitz提供示例代码以在其网页上实现其估算器ñ


感谢您包含代数,以使我的成本函数与最大分数估算器相等。使用给定的指标函数,这是否意味着我将始终将归为正,而归为负?另外,是否使用对数使用对数函数计算p(模型输出)?我当前使用的方法是AUC成本函数,然后在预测阈值上进行优化,以找到在真阳性和假阳性之间差异最大的值。我了解您的答案明确找到了最大的不同βŤX>0p>0.5p<=0.5βŤX
tmakino

(续),方法是在成本函数中将其定义(并将预测阈值固定为0.5),从而跳过我采取的中间步骤。但是,AUC已经存在于我正在使用的回归包(glmnet)中,而最高得分模拟器却不存在。考虑到我的目标,您认为我的方法合理吗?
tmakino 2013年

1
不幸的是,我对AUC方法不是很熟悉,所以我不能说这里的适用性。在最高分数估算器中,实际上没有,因为您没有假设逻辑模型。您只是决定在时预测1 ,然后找到最佳。pX一世β>0β
法案

15

这种方法有很多问题,包括:

  • 寻求极限的连续概率
  • 使用0.5的任意截止
  • 假设所有主题的“假阳性”和“假阴性”的成本相同
  • 使用非分数的权重
  • 使用估计的权重
  • 覆盖最大似然估计
  • 没有利用最佳贝叶斯决策理论,该理论表明最佳决策是基于全部信息(而不是某物是否超出某物)和效用/损失/成本函数

1
谢谢您,在坚持逻辑回归(即不涉及似然函数)的同时,有没有办法实现这一目标?
tmakino

这取决于“这个”是什么。最终目标是什么?如何使用该模型?
Frank Harrell 2013年

我编辑了问题,以详细说明我要实现的目标。
tmakino

1
除非我缺少任何内容,否则您添加的任何内容都不会暗示使用切点。注意,预测概率提供了自己的错误率。
Frank Harrell

8

实现您要描述的内容的最佳方法可能是使用AUC损失函数直接优化逻辑回归参数。Zhou撰写的教科书“诊断医学中的统计方法”描述了这种方法。

AUC(接收器工作特性曲线或ROC下的区域)粗略地解释为随机采样的“案例”具有比“控件”更高的标记值的概率。这是对模型歧视或其正确分类结果的能力的一种度量。ROC是单位平面中的曲线,显示了回归模型中所有可能的标记值(拟合结果)的灵敏度与1-特异性的关系。

通过使用逻辑回归模型的传统公式,

Logit Prÿ=1个|X=α+βX

利用模型参数的对数优势比,您可以粗略定义基于AUC的损失函数以获得最佳参数。与基于似然的逻辑回归不同,AUC回归不规则,可以收敛到参数空间中的局部最大值。


1
我本来以为AUC并不是最好的选择,因为假阴性的损失很小,但假阳性的损失很大。
概率

好吧,真正的问题是OP具有连续的结果(ROI),并且将其分为损失/收益。但是撇开头发,ROC回归通常使 “愚蠢”的标记截断区域确实计入AUC。如果预先指定有意义的值和愚蠢的标记值,则可以使用部分AUC,并且部分AUC回归具有所有相同的性能(和问题)。
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.