当结果变量划分为5%-95%时,逻辑回归是否有偏差?


10

我正在为公用事业客户使用Logistic回归构建倾向模型。我担心的是,在样本总数中,我的“不良”帐户仅占5%,其余全部都是好帐户。我预计“不好”。

  • 结果会有偏差吗?
  • 建立一个好的模型的最佳“坏到好比例”是什么?

我认为根据经验法则总有50%的商品和50%的坏商品总是更好。超出模型范围一定不能偏向样本。

Answers:


7

我不同意评论中的其他答案,所以我给出自己的观点是公平的。令为响应(好/坏账),为协变量。YX

对于逻辑回归,模型如下:

log(p(Y=1|X=x)p(Y=0|X=x))=α+i=1kxiβi

考虑如何收集数据:

  • 您可以从一些假设的“人口”中随机选择观察值
  • 您可以选择基于的数据,然后查看值。XY

对于以上模型,这两个都可以,因为您仅对的分布建模。这些将被称为前瞻性研究Y|X

或者:

  • 您可以选择基于的观测值(每个假设100个),然后查看的相对患病率(即,您对进行分层)。这称为回顾性研究病例对照研究X YYXY

(您也可以根据和某些变量选择数据:这将是分层的病例对照研究,并且处理起来要复杂得多,因此在此不再赘述)。XYX

流行病学有一个很好的结果(参见Prentice和Pyke(1979)),对于一个病例对照研究,可以通过logistic回归找到的最大似然估计,即使用前瞻性模型作为回顾性数据。β

那么这与您的问题有什么关系?

好吧,这意味着,如果您能够收集更多数据,则可以查看不良账目并仍然使用logistic回归来估算(但您需要调整以解决过度表示)。假设每个额外帐户的费用为1美元,那么与仅查看所有帐户相比,这样做可能更具成本效益。 αβiα

但是另一方面,如果您已经拥有所有可能的数据,则没有必要进行分层:您只会丢弃数据(给出更差的估计值),然后要尝试估计。α


这仅是正确的,尽管如果您有足够的数据来充分代表少数群体(这通常是类别失衡很大的问题-问题本身就是失衡,但您没有足够的少数群体样本)类)。在那种情况下,基于正负类的交叉验证的差分加权,alpha的调整或乘性调整(所有等效的IIRC)将是提高少数族裔的好主意。对数据进行分层将是一种便宜而愉快的选择。
Dikran有袋动物2011年

@Dikran:在这种情况下,我看不出有什么不对:您不必代表少数派,您只需要代表与多数派的相对差异即可。如果您没有足够的数据,那么放弃大多数人的观察将无济于事。
西蒙·伯恩

@Simon,我已经同意您的看法,除非您不想调整alpha值,调整图案的权重或调整模型的输出,否则分层不是一个好主意。正如我所说,阶级失衡的问题本身并不是失衡,而是少数群体的数据不足,不足以界定“相对多数的相对差异”。发生这种情况时,平均而言,它会使输出偏向多数阶层,因此采取一些措施来弥补这种偏颇是有帮助的。分层是做到这一点的一种方法,但并不是最好的方法。
Dikran有袋动物2011年

@Simon,顺便说一句,感谢Prentice和Pyke的参考,它看起来很有用。
Dikran有袋动物

1
@Dikran:对于其他模型来说,这可能是有偏见的,但是对于逻辑回归,则不是,这就是重点。
西蒙·伯恩

3

渐近地,正负模式的比例基本上无关紧要。主要是当少数派样本的样本太少而无法充分描述其统计分布时,才会出现此问题。使数据集更大通常可以解决问题(在可能的情况下)。

如果无法做到这一点,最好的办法是对数据重新采样以获得平衡的数据集,然后对分类器的输出进行乘性调整以补偿训练集频率和操作相对分类频率之间的差异。尽管您可以计算(渐近的)最佳调整因子,但实际上最好是使用交叉验证来调整调整(因为我们正在处理的是有限的实际情况而不是渐近的情况)。

在这种情况下,我经常使用一个模型委员会,每个模型都接受所有少数派模式的训练,并且对多数派模式使用与少数派模式相同大小的不同随机样本。在选择多数模式的单个子集时,这可以防止运气不好。


2
但这与逻辑回归有关吗?我们不需要描述任何一个类别的统计分布,只需描述相对优势比(请参阅我对@Henry的评论)。
西蒙·伯恩

也许在单变量示例中,但是如果您有多个解释变量,那么您需要有关模式分布的信息以正确定向“判别式”。
2011年

在应用逻辑函数之前在对数优势空间中应用乘法调整会更好吗?
rm999

IIRC的渐近最优调整是乘以操作频率与训练集类别频率的比率,这是基于贝叶斯规则的,因此将其应用于概率而不是对数比。但是,由于我们只是试图校正估计中数学上难以解决的缺陷,因此如何进行调整可能并不重要,它实际上只是一个“忽悠因素”。
Dikran有袋动物2011年

@Dikran:我不明白您对正确定向“区别对待”的意思。即使在多变量情况下,逻辑回归仍仅在计算相对比值比。
西蒙·伯恩

1

从理论上讲,如果“好”和“坏”的比例大小大致相似,您将能够更好地进行区分。您可能可以通过分层采样,对不良情况进行过度采样然后重新加权以稍后返回到真实比例来实现这一目标。

这会带来一些风险。特别是您的模型很可能会将个人标记为“潜在不良”,大概是那些在到期时未支付水电费的人。重要的是要正确识别执行此操作时错误的影响:尤其是模型会将多少个“良好客户”标记为“潜在不良”,并且如果您没有扭曲自己的加权,则不太可能出现重新加权的情况通过分层抽样建立模型。


实际上,我不认为逻辑回归是正确的:赔率比参数(执行判别)对于响应变量的分层是不变的。这就是为什么它可以用于病例对照研究的原因。
西蒙·伯恩

@西蒙(Simon):我不同意您对比值比的评论,但我看到人们在进行分层抽样后(在其他情况下这样做),却未能正确地将其归还给总体后果。例如,如果您发现因子A为真的人的“坏”几率是没有因子A的人的两倍,那么分层抽样应该不会改变这种情况,但是如果您想知道人口的比例是多少如果以因子A为靶标,则不必要地受到影响,则需要仔细权衡样本中的信息。
亨利

抱歉,这不是我不同意的地方。它是第一位:不变性的结果是,一旦有了数据,就没有分层的意义,您只是在丢弃数据。(在收集数据的成本方面,情况有所不同,因此存在案例对照研究)。
西蒙·伯恩

@Simon:当您说“案例对照研究”时,您的意思是说您最初打算抽样“不良”案例和“良好”案例吗?“不良”案件所占比例要高于人口中一小部分?如果是这样,这就是我在答案中“分层抽样,对坏情况进行过度抽样”的目的。
亨利

是的,这也正是我的意思。问题似乎表明他们已经有了数据,因此进行分层没有任何意义。
西蒙·伯恩

0

您可以通过多种方式来考虑逻辑回归。我最喜欢的方式是认为您的响应变量遵循伯努利分布,概率为。而是某些预测变量的函数。更正式地:p p yipipi

p = 分对数- 1一个+ b 1 X 1 + + b Ñ X Ñ分对数- 1 = EXP X

yiBernoulli(pi)
pi=logit1(a+b1x1+...+bnxn)
其中logit1=exp(X)1+exp(x)

现在,故障率低(不良帐户)是否重要?正如某些人已经指出的,只要您的样本数据是均衡的,那不是真的。但是,如果您的数据不平衡,那么如果您没有考虑某些选择效果,则获取更多数据可能几乎没有用。在这种情况下,您应该使用匹配,但是缺乏平衡可能会使匹配变得毫无用处。另一种策略是尝试找到自然的实验,因此您可以使用工具变量或回归离散度设计。

最后但并非最不重要的一点是,如果您的样本数量均衡或没有选择偏见,您可能会担心不良账目很少见。我认为5%并不罕见,但是以防万一,请看Gary King关于运行稀有事件物流的论文。在R的Zelig程序包中,您可以运行罕见的事件逻辑。


0

好的,所以我从事欺诈检测工作,因此这种问题对我而言并不陌生。我认为机器学习社区对于不平衡的数据有很多话要说(因为课堂上是不平衡的)。因此,我认为已经提到了一些非常简单的策略,还有一些巧妙的想法,还有一些出路。我什至不假装知道这对于您的问题的渐近性意味着什么,但是在逻辑回归中它总是给我带来合理的结果。可能不知道那里有纸。

我认为这是您的选择:

  1. 对少数群体进行过度采样。这等于对少数类进行替换抽样,直到您获得的观察数与多数类相同。有多种方法可以执行此操作,以便您进行诸如抖动观察值之类的操作,以使它们的值接近原始值,但不是完美的副本等。
  2. 欠采样,这是您获取多数类的子采样的地方。同样,这样做的方法还不错,因此您可以使用最近的邻居算法等来删除与少数采样最接近的多数采样。
  3. 重新调整课程。对于逻辑回归,这就是我要做的。本质上,您正在更改损失函数,以对错误分类的少数派案件进行处罚,而对错误分类的少数派案件的处罚要严重得多。但是话又说回来,从技术上讲,您没有做到最大可能。
  4. 模拟数据。我在这里玩过很多巧妙的想法。您可以使用SMOTE生成数据,生成对抗网络,使用生成部分的自动编码器,内核密度估计器以绘制新样本。

无论如何,我已经使用了所有这些方法,但是我发现最简单的方法是无论如何都只是为逻辑回归加权问题。您可以做的一件事就是对模型进行检查:

-Intercept/beta

那应该是给定变量ceteris paribus的决策边界(在任一类中为50%的概率)。如果这没有道理,例如,决策边界在严格为正的变量上为负数,则您的逻辑回归中存在偏差,需要纠正。

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.