本文讨论了数据分析中的辛普森悖论,通过医院死亡率和航空公司准点率的案例,展示了总体结论与分项结论可能相反的现象。指出辛普森悖论是由于分析对象在不同维度的比例结构有差别导致的,提醒数据分析师需保持质疑态度,多做下钻分析以避免被误导。
“ 今天聊聊一个很有意思的数据分析中的常见现象,也是一个分析逻辑陷阱。”
数据会说谎?数据同行们应该对这个话题都有较多的感触。今天咱们一起聊聊一个比较有意思、但经常忽略的数学现象:辛普森悖论,看一看这回数据到底是怎么说谎的。
1、到底哪个结论是对的
我们来看一个案例。
我们想判断医院A和医院B哪家医院的死亡率更低,希望通过死亡率判断医院的诊治水平。
统计A和B的总体死亡率,我们发现A的死亡率是36%(假设总病人100,死亡36人),B的死亡率是40%(假设总病人100,死亡40人)。
假设我们上述的数据统计口径都是完全一致的,没有口径上的差异,那是不是可以得出结论:B医院的诊治死亡率更高?再延伸一下,那是不是代表B医院的治疗水平差,毕竟死亡率高嘛!
如果是这样的推理逻辑,其实存在了巨大的漏洞。我们将A和B医院的病人按照危重程度进行二分类,分为危重病人和轻症病人,再来看一看数据情况,如下图:
通过上图我们发现,A医院的危重病人比重较低,100个人中只有20个,剩下的80个病人都是轻症病人;而B医院的情况恰恰相反,80个危重病人,20个轻症病人。无论是A医院还是B医院,重症病人的死亡率都很高,A医院甚至达到了100%;而轻症病人的死亡率相对较低,B医院0死亡。
纵向对比发现,无论是重症病人、还是轻症病人,B医院的死亡率都是要低于A医院的。但是由于B医院的重症病人比重远大于A医院,导致了总体的死亡率高。
因此,我们到底要说B医院的诊治死亡率是高呢,还是低呢?
如果单纯从总体数据上得出结论:B医院的总体死亡率更高,这个从统计上没问题,但是并不代表B医院的治疗水平差,因为从细分结构上看,B医院的水平都更高。
这就是典型的辛普森悖论:即总体得出的结论和拆分后分项得出的结论,完全相反。
2、为啥会出现这种现象
有没有觉得很神奇。那为啥会出现这种现象呢?我们从数学和通俗两个角度分别看一下。
(1)数据角度
我们先从数学的角度来看一看。其实可以用下面的图形化来表示:
上图中的3个黑点代表了A医院,3个白点代表了B医院。右上侧的黑点和白点代表了A医院和B医院的总体,适应于向量的加法,是由两个子向量(即重症和轻症)相加得到。x轴是患病人数,y轴是死亡人数。因此,每个向量的斜率代表了死亡比率。
通过上图,我们可以发现:
子部分的比例大小,汇总后的整体大小关系并无绝对性。
再看一个散点图,也是很直观地说明了这一点:
上面的散点图,如果不拆分到子部分,单纯看x和y,明显是负相关。但如果通过颜色第三个维度进行区分,明显发现x和y是正相关的。
(2)通俗实践角度
我们从通俗实践的角度,看看为啥会出现辛普森悖论。
简而言之:当我们对总体进行了第三个维度的拆分后(也就是我们常说的下钻),由于不同分析对象在第三维度的比例结构有差别,最终导致了悖论现象的发生。
换句话说,如果两个分析对象,在所有的维度拆分上的比例结构都一致,那么也就不会出现辛普森悖论。
但通常来讲,实践中总会有差别的结构维度,因此出现该悖论也是概率不低的。往往没发现结构性差异,是因为关键的拆解维度没有被找到,而不是不存在。比如下面这个航空公司准点率的例子:
总体延误率明显是西部航空更低,但是拆分到起飞机场维度,发现每个机场的阿拉斯加航空的延误率都低于西部航空。主要的干扰数据就是凤凰城机场,西部航空的航班异常多,拉低了整体的延误率。
但是拆分机场这种关键维度,有时候是不是也不太能想到。只有对业务充分了解、对数据足够敏感,才能发现这其中的问题吧~
3、一些启示
通过上面的案例及分享,不知道各位朋友是不是有了一些自己的想法。
其实多年前我搞数据分析的时候,确实遇到过这个问题。当初自己不知道辛普森悖论,一直觉得是自己数据算错了。结果核查了好几遍发现数据没问题,但就是结论和直观的感觉相悖。然后我就简单证明了一下,确实会出现这个现象。后来才知道这个是辛普森悖论。
一方面,希望各位朋友以后再碰到这种汇总统计数据的时候,保留一颗质疑的心,极有可能是隐瞒了关键维度而得出了误导性的结论。另一方面,各位朋友自己在做数据分析的时候,切记多多做下钻、多多尝试不同的维度进行分析。单单通过汇总数据得出的结论很有可能是和真相背道而驰的。
当然,这也给有些喜欢通过数据“说谎”的人,留下了后门。但这不应该是我们数据人所追求的。
本文转载自:首席数据科学家
作者:NK冬至
原文链接:https://mp.weixin.qq.com/s/MnOKHPCYIqR2DVDi5msJAQ
发布于 数据智能 社群
推荐阅读