Towards Data Science

Both Charts Are Right. So Why Do They Disagree?

7.1内容质量

TL;DR · AI 摘要

Both Charts Are Right. So Why Do They Disagree? Towards Data Science Data Science Both Charts Are Right. So Why Do They...

核心要点

  • 主题聚焦:Both Charts Are Right. So Why Do They Disagree?
  • 来源:Towards Data Science,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#产品
打开原文

两个图表都正确。那为什么它们会存在分歧? | Towards Data Science

数据科学

两个图表都正确。那为什么它们会存在分歧?

一个统计悖论,展示了如何合并数据会逆转结论。

Sara A. Metwalli

2026年10月18日

7分钟阅读

在Google上关注我们

分享

图片由Jakub Zerdzicki提供,来自Pexels

数据分析和可视化中最让我着迷的部分是讲故事。我理解我们常常急于得出结论,因为下一步行动——无论是做出商业决策、将数据输入机器学习模型,还是向股东证明公司发展良好——都至关重要。然而,我热爱尝试解读数据背后的故事,为了故事本身,或者更进一步,探索我们如何讲述这个故事。

好的,让我们退后一步,想象你正在比较两种新的医疗方案A和B(我给它们起名字的创意有限!)。初步评估显示,方案A的成功率高于方案B。于是你查看数据,核对计算,得出结论:方案A更优。这看起来合理,对吗?

你决定征求朋友对数据的看法;他们指出方案B的整体成功率更高。于是你再次检查,计算仍然正确。

你开始疑惑:“为什么会这样?”这促使你更仔细地观察,发现方案A在每种患者类型上的成功率都高于方案B。然而,方案B却在整体上胜出!

有人犯了错误吗?数据有问题吗?Python是不是悄悄决定毁掉你的下午?(它有时确实会这么做;我们都经历过。)

不。你可能无意中触及了一个被称为“辛普森悖论”的现象。

这是那些听起来像是数学把戏的统计现象之一,直到你意识到它如何轻易影响我们从真实数据中得出的结论。最有趣的是?你不需要改变任何单个数据点,故事就会反转。

为了使这个例子更清晰,让我们为这两种治疗方案增加更多背景信息!假设这两种治疗方案的患者分为以下群体:

  • 低风险患者,无论接受哪种治疗,他们更有可能康复。
  • 高风险患者,无论接受哪种治疗,他们更不容易康复。

为简化起见,让我们假设以下结果:

| 患者群体 | 方案A | 方案B | |----------------|-------|-------| | 低风险患者 | 90% | 80% | | 高风险患者 | 40% | 30% |

在两个群体中,方案A都胜出。在低风险患者中,其成功率高出10个百分点;在高风险患者中,同样高出10个百分点。如果仅根据这些数字选择,方案A看起来显然是赢家!

但让我们再添加一个信息(让情况更现实):每种治疗方案分别有多少患者接受了治疗。

方案A主要提供给高风险患者,而方案B主要提供给低风险患者。

现在结果如下:

| 患者群体 | 方案A | 方案B | |----------------|-------------|-------------| | 低风险患者 | 9成功/10 | 80成功/100 | | 高风险患者 | 3成功/10 | 80成功/200 | | 总计 | 89成功/210 (42.4%) | 83成功/110 (75.5%) |

方案A在两个群体中的成功率都更优,但方案B的整体成功率更高。对我们故事中最重要的部分是,数字之间并没有相互矛盾;我们只是在比较两件完全不同的事情。

在每个患者组中,治疗A的表现更优。但在所有患者整体来看,治疗B似乎表现更优,因为两种治疗方案被分配给了截然不同的患者群体。

整体结果同时反映了治疗效果和比较组的构成。这种结果反转正是辛普森悖论的体现。

尽管我非常欣赏表格的价值,但人们通过可视化更能理解数据!我们可以使用Python来比较每个组内的成功率,再比较整体成功率。

观察前两组柱状图:治疗A在两个组中都占优,但在第三组中胜出方发生了变化。图表本身没有错误,计算也没有错误,但整体比较隐藏了一个关键差异——接受不同治疗的患者群体存在差异。

这就是为什么仅依赖单一汇总统计指标,可能会让我们忽略数据背后的故事。

更深入的分析

整体成功率是各组成功率的加权平均值。换句话说,每个组的贡献不仅取决于其成功率,还取决于该组包含的患者数量。

治疗A的整体成功率计算如下:

$$ \frac{9+80}{10+200} = \frac{89}{210} \approx 42.4\% $$

治疗B的整体成功率计算如下:

$$ \frac{80+3}{100+10} = \frac{83}{110} \approx 75.5\% $$

治疗A的整体结果受到高风险患者群体表现的强烈影响,因为大多数接受该治疗的患者都属于这个群体。而低风险患者群体主导了治疗B的结果,因为大多数接受该治疗的患者都属于这个群体。

整体成功率并不是两个百分比的简单平均,而是基于每组患者数量的加权平均。

这正是辛普森悖论如此有趣的原因:你在单独组中观察到的关系,与合并所有数据后观察到的关系可能完全不同。

数学计算正在准确地执行其职责。问题在于:这种比较是否真正回答了你最初想提出的问题?

当我第一次了解这个现象时,我认为这可能是一个特殊构造的异常情况,用来让统计学看起来不可靠。不幸的是,这种模式可能出现在许多日常比较中。

  • 大学录取

一所大学可能在每个系的录取率上都对某一类申请者更友好,但整体录取率却对该类申请者更低。原因可能在于:申请者可能倾向于申请录取率差异显著的系,而不同群体可能在系别分布上存在差异。

  • 产品性能

假设我们比较两个应用程序版本。版本A在旧设备和新设备上都表现更好,但版本A主要在旧设备上使用,而版本B主要在新设备上使用。整体性能数据可能让版本B看起来更快,尽管版本A在每个设备类别中都表现更优。

  • 学校成绩

一所学校可能在每个科目考试中表现更好,但整体成绩却更差,因为该校学生选择的科目组合不同,且科目难度差异较大。

现在你可能在思考:我们是否应该始终将数据拆分为不同组别进行分析?

不一定。我知道这可能不是你期待的答案,但这是一个非常有趣的结论!

我想强调的重点不是聚合数据本身不好,也不是子组分析总是正确。关键在于:我们对数据的分组方式,必须与我们试图回答的问题相匹配。

所以,应该提出哪些问题?

你不需要每次看到柱状图时都成为统计学家。但提出几个问题可以帮助你识别何时需要更仔细地审视数据摘要。

  1. 正在合并的是什么?

我们关注的是人、产品、部门、国家还是不同时间段?这些群体的行为是否可能不同?

  1. 这些群体是否具有可比性?

如果比较的是两种治疗方案、产品或政策,它们是否应用于相似的人群?如果不是,人群差异可能会影响结果。

  1. 每个群体中有多少观测值?

没有分母的百分比可能令人惊讶地缺乏信息。10个案例中90%的成功率与10,000个案例中90%的成功率,其证据价值截然不同。

  1. 当我查看子群体时,结论是否发生变化?

如果总体结果指向一个方向,而子群体结果指向另一个方向,不要立即假设其中一方是错误的。找出导致差异的根本原因。

  1. 这个统计数据实际回答了什么问题?

这可能是最重要的问题!一个计算可能完全正确,但仍可能对您关心的问题给出糟糕的答案。

最后思考

我们常常认为统计学能提供客观答案:输入数据,运行计算,然后得到结果。

但作为数据分析师,你需要做出大量决策!你决定包含哪些观测值、比较哪些群体、如何计算平均值以及展示哪些结果。每个决策都可能改变最终呈现的故事。

辛普森悖论是一个特别令人难忘的例子,因为它让这个问题无法被忽视。一个结论在某个分析层级上看似合理,但在另一个层级上可能完全相反,而两种计算在数学上都是正确的。

答案不是要怀疑每一个图表、每一个百分比或每一个平均值,而是要抵制将摘要视为完整故事的诱惑。因此,下次有人向你展示统计数据并说“数字本身就能说明问题”时,请再问一个问题:

是哪些数字?剩下的部分又发生了什么?