跳到内容

定义辛普森的悖论以及如何自动检测它

当我们想要研究数据中的关系时,我们可以绘制、交叉表格或建立数据模型。当我们这样做的时候,我们可能会遇到这样的情况:我们从一个数据集的两个不同的观点中看到的关系导致我们得出相反的结论。这些都是辛普森悖论的例子。

找到这些案例可以帮助我们更好地了解我们的数据并发现有趣的关系。本文提供了一些案例发生的示例,讨论了它们发生的方式以及为何,并建议在您自己的数据中自动检测这些情况的方法。

什么是辛普森的悖论?

辛普森的悖论是指你相信你理解两个变量之间关系的方向的情况,但是当您考虑额外的变量时,那么该方向似乎是反向的。

为什么辛普森的悖论发生了?

辛普森的悖论发生了因为数据分解(例如,将其分成子组)可能导致某些子组与其他子组相比具有不平衡的表示。这可能是由于变量之间的关系,或者只是因为数据已经被分成了子组的方式。

示例#1:招生

辛普森悖论的一个著名例子出现在UC Berkeley研究生学校的招生数据1973年。在这个例子中,在查看研究生招生数据时整体它似乎比女性(性别歧视!)更有可能被录取,但在查看数据时单独为每个部门在大多数部门中,男性比女性更不可能被录取。

page2image21655328Page2Image21655536

以下是对原因发生的说明:

  1. 不同的部门的验收率非常不同(有些人“越来越多”)比其他人更有“更难”)
  2. 更多的女性适用于“更难”的部门
  3. 因此,总体上女性的接受率较低

这让我们不禁要问:哪种观点才是正确的观点?男性和女性的录取率更高吗?这所大学在招生时存在性别偏见吗?

在这种情况下,似乎最合理的结论是,按部门查看录取率更有意义,分类的观点是正确的。

示例#2:棒球

辛普森的悖论的另一个例子可以在其中找到两个著名棒球运动员的击球率,德里克乔特和大卫正义,1995年和1996年。David Justice在1995年和1996年的单独击球平均水平较高,但德里克Jeter在两年内击中平均水平更高。

Page3Image21497888page3image21498304

以下是对原因发生的说明:

  1. 两名球员在1996年的击球平均值明显高于1995年
  2. 德里克·乔特于1996年在蝙蝠均有更多更多;大卫正义于1995年略高得多
  3. 因此,基特的总打击率较高

图1:Altair知识工作室决策树在1995年和1996年显示每位玩家的每个玩家的不平衡数量。

再一次,我们可以问:哪种观点才是正确的观点?德瑞克·基特或大卫·贾斯蒂斯是更好的击球手吗?在这种情况下,似乎最合理的结论是聚合的观点是正确的观点,队长是更好的打者在过去的两年。

通过这两个例子,清楚为什么Simpson的悖论可能是一个问题。当数据同时告诉我们两个对立故事时,很难从数据中得出结论。可能很想认为分列的视图总是更好的,因为它包含更多信息,但是可以在额外变量上分解可以提供不必要或混乱的视角。

正如我们在上面的示例中看到的,这两种情况都是可能的:有时聚合视图是正确的,有时分类视图是正确的。

如何处理辛普森悖论

如果没有足够的域知识,很难知道两个变量之间的关系的观点更为意义 - 有或没有第三变量的那个。

但在我们思考如何处理辛普森悖论之前,我们需要找到一种在数据集中有效检测它的方法。如前所述,只需分解列联表或数据点图并研究结果,就可以找到辛普森悖论(“辛普森对”)的实例。然而,我们也可以通过其他方式使用模型来找到辛普森配对,例如:

  1. 通过建立决策树并进行比较分布,或者
  2. 通过构建回归模型并比较系数的迹象

两者都有好处,但这可能很快就会变得困难,尤其是在处理大数据集时。很难知道数据集中哪些变量可能逆转其他两个变量之间的关系,而且手工检查所有可能的变量对也很困难。假设我们有一个只有20个变量的数据集:我们需要检查近400对,以确保找到辛普森悖论的所有情况。

即使我们已经搜索(并找到)了所有可能的辛普森配对,也还有进一步的挑战需要考虑。这些挑战与解读有关,例如:

  • 趋势是否需要在每个子组中逆转,以考虑辛普森对的某些东西?或者是大多数子组足够?
  • 子群的大小是否重要?如果趋势在很多小亚组中逆转,但不是最大的子组?

在尝试自动检测辛普森的悖论时,这些最后挑战不会消失,而是通过被迫做出决策,我们至少可以以系统和一致的方式处理它们。

用于自动检测辛普森的悖论的现有工具

幸运的是,已经开发了一些工具来应对辛普森在数据集中的悖论:

1.R包,辛普森一家,可以通过使用户指定独立变量,依赖变量和它们希望与其数据分解的变量来检测辛普森的悖论。但是,这仅适用于连续数据,不会检查整个数据集中的SIMPSON的PARADOX(例如,您必须知道在哪里预先查看,这可能是硬部件)。

2.这篇论文,《你能相信趋势吗:发现社交数据中的辛普森悖论》讨论了识别“辛普森对”的算法,作者还很有帮助地在GitHub上包含了代码。此代码仅适用于带有二进制依赖变量的数据集。

我们如何自动检测辛普森的悖论

我们在数据集中自动查找SIMPSON的对进行自己的函数。有两个版本:一个使用决策树(目前只能在Altair的知识工作室软件内使用),以及使用回归模型的一个版本,它可以在Python中使用下载

我们借鉴了《你能相信趋势吗》的许多观点,并在一些关键领域展开了工作。我们扩展了他们的工作,也考虑了连续的因变量和离散的,非二进制的因变量,并提供了额外的装箱方法。我们还采取了一些步骤来排除相关性很小或没有相关性或系数很小的对。这最后一步阻止了该函数为不能显示Simpson悖论(以提高效率)的对建立模型,以及系数足够小以至于符号反转很容易被记为数值错误的情况。

结论

辛普森悖论是一个棘手的问题,但一个优秀的分析师或数据科学家可以用正确的工具和知识来处理它。我们希望我们的新工作可以帮助其他人更容易和更有效地处理这个问题。

作者是埃里克·哈特医生和玛利亚姆·瓦拉

Eric Hart博士是Altair Antair和Mariam Walaa的服务团队的高级数据科学家,是Altair的服务团队实习生,多伦多大学的本科学员。本文作为Altair夏季研究项目的一部分,也涉及kdnuggets.com。