处理稀有事件的逻辑回归策略


27

我想研究有限人群中的罕见事件。由于我不确定哪种策略最合适,因此我很高兴获得与该问题相关的技巧和参考,尽管我知道它已被广泛涵盖。我只是真的不知道从哪里开始。

我的问题是一门政治学,我的人口有限,有515,843条记录。它们与具有513,334个“ 0”和2,509个“ 1”的二进制因变量关联。我可以将我的“ 1”称为罕见事件,因为它们仅占人口的0.49%。

我有一组大约10个独立变量,我想建立一个模型来解释“ 1”的存在。像我们许多人一样,我阅读了King&Zeng在2001年发表的有关罕见事件校正的文章。他们的方法是使用案例控制设计来减少“ 0”的数量,然后对截距进行校正。

但是,这篇文章说,如果我已经收集了整个人群的数据,那么就不需要King&Zeng的论证了,这就是我的情况。因此,我必须使用经典的logit模型。对我来说不幸的是,尽管我获得了很好的显着系数,但是我的模型在预测方面完全没有用(无法预测99.48%的“ 1”)。

在阅读King&Zeng的文章之后,我想尝试一种案例控制设计,并且只选择10%的“ 0”和所有“ 1”。在几乎相同的系数下,该模型能够预测应用于全部人口的“ 1”的几乎三分之一。当然,有很多假阳性。

因此,我有三个问题想问你:

1)如果在您完全了解人口信息后,King&Zeng的方法是可取的,那么为什么他们会在文章中了解人口信息的情况下证明自己的观点呢?

2)如果我在logit回归中具有好的系数和微不足道的系数,但是预测能力很差,这是否意味着这些变量所解释的变化没有意义?

3)处理罕见事件的最佳方法是什么?我阅读了有关King的重新登录模型,Firth的方法,确切的登录等信息。我必须承认,我在所有这些解决方案中都迷失了。


这个数字听起来很熟悉……关于种族冲突的数据集有没有机会?如果是的话,那是一个时间序列-我在种族冲突研究中使用了生存模型取得了巨大成功……
Christian Sauer 2014年

足够近。它是有关非洲冲突事件地点的数据集。但是,我在不考虑时间的情况下研究了这些事件的位置。
Damien 2014年

1
啊,我的很多案件都来自非洲,因为那里的种族冲突猖ramp。你有地理研究吗?占时间会是一个大问题吗?我发现它真的很有用,尤其是由于某些变量随时间变化(政治制度,冷战等)的事实
Christian Sauer 2014年

我使用的是UCDP的GED数据集,涵盖了1989-2010年。我对可以在冲突事件的位置中起作用的地理因素感兴趣。时间变化当然有很多话要说,但是回答的问题是不同的。此外,我的许多自变量在不同时期(土地覆盖)不可用,或者根本没有变化(地形)
Damien 2014年

1
“(无法预测我的“ 1”的99.48%)。” 这听起来像是您在使用一些任意的截断规则[例如0.5!]进行分类,而逻辑回归的整体思想是输出是一个概率-由您决定平衡假阳性/阴性的阈值
seanv507

Answers:


17

(1)如果您“全面了解人口”,为什么需要模型进行预测?我怀疑您是在隐式地将它们视为假设的超级人口示例(请参见此处此处)。那么,您应该丢弃样本中的观察结果吗?不。金&曾不主张:

daccess-ods.un.org daccess-ods.un.org在诸如国际关系之类的领域中,可观察的1(例如战争)的数量受到严格限制,因此在大多数应用中,最好收集所有可用的1或其中的一个大样本。唯一真正的决定就是要收集多少个0。如果收集0是无价的,那么我们应该收集尽可能多的数据,因为更多的数据总是更好。

我认为您正在谈论的情况是“ 在军事化的州际争议数据中选择 ”的示例。K.&Z。用它来证明自己的观点:在此示例中,如果研究人员试图通过收集所有1和0的一部分来进行节约,那么他们的估计将类似于对所有可用1和0进行抽样的人。您还能如何说明呢?Y

(2)这里的主要问题是使用不正确的评分规则来评估模型的预测性能。假设您的模型是true,那么对于任何一个人,您都知道发生罕见事件的可能性-例如在下个月被蛇咬伤。通过规定一个任意的概率截止值并预测高于该概率的目标将被咬而低于该概率的目标将被咬,您还能学到什么呢?如果您将分界点定为50%,您可能会预测没人会被咬。如果将其降低到足够低的水平,则可以预测每个人都会被咬。所以呢?明智地应用模型需要区别对待-应该给谁提供唯一的防毒小瓶?-或标定-鉴于价格相对于蛇咬的价格,值得为谁购买靴子?


谢谢您的回答。关于(1),谈论到目前为止我们已经知道的观测样本以解释未来事件的可能性是否更合适?关于(2),我花了一点时间试图弄清楚一个计分规则。如果我正确理解Wikipedia文章,则应该在预期事件发生的不同概率值之间改变评分函数,然后选择具有最高得分的概率作为临界值。如果选择对数评分规则,应该如何实现期望值?
Damien 2014年

1
(1)是的,假设它们是从将要抽取未来事件的人群中抽样的。(2)忘记门槛。接收器工作特性曲线下方的区域可用于评估纯分辨力;对于整体表现,请使用将预测与结果之间差异的大小考虑在内的指标-例如Brier得分(二次)或Nagelkerke的(对数)。R2
Scortchi-恢复莫妮卡

@Scortchi;因此,您是否主张使用逻辑回归或不使用op的观察数/病例数(例如具有约10个连续预测变量),如果需要病例的可能性,这似乎被低估了?谢谢
user2957945 '16

3

在一个层面上,我想知道您的模型有多少不准确之处仅仅是因为您的过程难以预测,而您的变量不足以做到这一点。还有其他变量可能会解释更多吗?

另一方面,如果您可以将因变量转换为计数/常规问题(例如冲突造成的人员伤亡或冲突持续时间),则可以尝试使用零膨胀计数回归或障碍模型。这些可能具有相同的问题,即0到1之间的定义不佳,但是您的变量与之相关的一些冲突可能会远离零。


4
(+1)好的建议。我想竖起,模型的“不准确性”仅仅是无法预测许多超过50%的概率。如果“ 1”的预测概率通常为10%至40%,而“ 0”的预测概率略低于0.5%,则在许多应用程序中,这被认为是强大的预测性能。
Scortchi-恢复莫妮卡

2

除了对多数人群进行下采样之外,您还可以对稀有事件进行过采样,但是请注意,对少数族裔进行过采样可能会导致过拟合,因此请仔细检查。

本文可以提供有关它的更多信息:Yap,Bee Wah等。“过采样,欠采样,装袋和增强处理不平衡数据集的应用。” pdf格式

另外,我也想链接这个问题,因为它也讨论了相同的问题


0

您的问题归结为如何哄骗logit回归以找到更好的解决方案。但是您是否确定存在更好的解决方案?仅使用十个参数,您是否能够找到更好的解决方案?

我会尝试更复杂的模型,例如在输入端添加乘积项,或在目标端添加一个最大输出层(这样,对于目标1的各种自适应发现的子集,您实际上就有多个逻辑回归)。


感谢您的回答。我一定会尝试以不同的方式组合变量。但是在此之前,我想知道我的模型的不良表现是来自技术问题还是其他原因
Damien 2014年

-1

好问题。

在我看来,问题在于您是在尝试进行推断(您对系数告诉您的内容是否感兴趣?)还是在进行预测。如果是后者,那么您可以借鉴机器学习中的模型(BART,randomForest,增强树等),几乎可以肯定在预测方面比logit做得更好。如果您要进行推理,并且您有许多数据点,则尝试包括明智的交互作用项,多项式项等。或者,您可以从BART进行推理,如本文所述:

http://artsandsciences.sc.edu/people/kernh/publications/Green%20and%20Kern%20BART.pdf

我最近一直在做一些罕见事件的工作,并且事先不知道有多少罕见案例会影响分析。必须对0情况进行下采样。找到理想的下采样比例的一种策略是

  1. 取所有1,假设您有n1。
  2. 设置一些值z =您将绘制的n1的倍数;也许从5开始并减少到1。
  3. 画z * n1 0观察
  4. 根据子集数据的样本估算模型,确保对整个数据集进行交叉验证
  5. 保存您感兴趣的相关拟合度量:感兴趣系数,ROC曲线的AUC,混淆矩阵中的相关值等。
  6. 对连续较小的zs重复步骤2:5。您可能会发现,当您向下采样时,假阴性与假阳性比率(在您的测试集中)将减少。也就是说,您将开始预测更多的1,希望它们真正为1,但实际上也为0。如果在这种错误分类中存在一个障碍,那将是一个很好的下采样率。

希望这可以帮助。JS


1
(-1)完全不需要对逻辑回归进行下采样。见这里 ; 在响应上进行选择只会改变预期的截距,因此下采样只会降低估计的优势比的精度。Logistic回归可为您提供预测的概率,您可以使用预测的概率进行分类,该阈值的计算考虑到各种错误分类的成本,或者用于对个人进行排名或对自己的权利感兴趣。
Scortchi-恢复莫妮卡

您会注意到,我没有提到使用Logistic回归,而是建议有些方法(如降采样的BART)可能更适合罕见情况。
2014年

问题是关于逻辑回归,以及在进行逻辑回归时是否要下采样,并且当您撰写有关“包括合理的交互作用项,多项式项”的文章时,您似乎正在讨论逻辑回归。因此尚不清楚您关于下采样的建议仅适用于其他方法:也许您会考虑编辑答案以使其清晰。
Scortchi-恢复莫妮卡
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.