在平时统计数据,做数据处理的过程中,经常会遇到一些意识不到的问题,这些问题奇奇怪怪,各式各样,此文章简单的整理一下场景的坑
例题:
二战期间,统计者发现,飞回来的飞机翅膀中弹特别严重,机舱弹孔反而没有多少,就决定要加固翅膀。
这个逻辑对么?事实上,恰恰应该加固机舱和发动机装甲,因为"飞回来的飞机"翅膀弹孔多,正说明了,打中翅膀了飞机还能飞回来,可打中机舱飞机就彻底没救了,直接坠毁,根本不给你机会去数弹孔。
后来的实践证实了这一点,他们加固了机舱装甲,果然,飞机的坠毁率下降了。
这种"如果统计对象挂了你就统计不到了"的偏差,称之为 幸存者偏差。幸存者偏差(Survivorship bias),另译为“生存者偏差”或“存活者偏差”,驳斥的是一种常见的逻辑谬误(“谬误”而不是“偏差”),这个被驳斥的逻辑谬误指的是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。这东西的别名有很多,比如“沉默的数据”、“死人不会说话”等等。
例题:
A医院某天收了300个病人,治愈了210个,治愈率70%;B医院收了250个病人,治愈了140个,治愈率56%。
——>结论:从总体数据来看,B医院治愈率低,水平不行
如果我们把病人分成“重症”和“轻症”两组的话,就会发现数据变成了这样:
A医院收治重症病人50个,治好了10个,治愈率20%;A医院收治轻症病人250个,治好了200个,治愈率80%;
B医院收治重症病人150个,治好了50个,治愈率30%;B医院收治轻症病人100个,治好了90个,治愈率90%
——>结论:从分组数据来看,B医院无论在任何一个分组中的治愈率都高于A医院,显然是B医院医术更高
为什么两组数据会呈现出不同的结果呢?
简单来说,恰恰是因为B医院水平高,所以重症病人更愿意去B医院治病,如此一来反而“拖累”了B医院的总治愈率,导致表面上看起来,B医院的医术还不如A医院。
这种现象,在统计学上叫做“辛普森悖论”:在各个分组中都占据优势的一方,却反而可能会在总评中呈现出劣势。
“辛普森悖论”提醒我们的是,下次再见到那种流于表面的喜大普奔的数据,请多留个心眼:如果不去挖掘数据背后的潜在因素的话,就可能会被蒙骗。
例题:
在生活中,我们经常会去挑选"大家最喜欢"的东西,但是怎么去挑选呢?
方法1:得分=喜欢的-不喜欢的。假定有两个项目,项目A是60张赞成票,40张反对票,项目B是550张赞成票,450张反对票。请问,谁应该排在前面?按照前面的公式,B会排在前面,因为它的得分(550 - 450 = 100)高于A(60 - 40 = 20)。但是实际上,B的好评率只有55%(550 / 1000),而A为60%(60 / 100),所以正确的结果应该是A排在前面。
方法2:得分=喜欢的/总投票的,如果"总票数"很大,这种算法其实是对的。问题出在如果"总票数"很少,这时就会出错。假定A有2张赞成票、0张反对票,B有100张赞成票、1张反对票。这种算法会使得A排在B前面。这显然错误。
解决方法:简单说,就是在方法2的基础上,引入置信区间。具体的公式如下,是美国数学家 Edwin Bidwell Wilson提出了一个修正公式,被称为"威尔逊区间",很好地解决了小样本的准确性问题。
具体的解释,请阅读阮一峰的博客:http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_wilson_score_interval.html
威尔逊大法好,但是也面临一定的问题:威尔逊区间法很好地解决了投票人数过少、导致结果不可信的问题,但同时也存在一个致命问题,即马太效应:排行榜前列总是那些票数最多的项目,新项目或者冷门项目,很难有出头机会,排名可能会长期靠后。
例题:
一部好莱坞大片有10000个观众投票,一部小成本的文艺片只有100个观众投票。这两者的投票结果,怎么比较?如果使用"威尔逊区间",后者的得分将被大幅拉低,这样处理是否公平,能不能反映它们真正的质量?
一个合理的思路是,如果要比较两部电影的好坏,至少应该请同样多的观众观看和评分。既然文艺片的观众人数偏少,那么应该设法为它增加一些观众。
基于这个思路,IMDB数据库在其网站的电影推荐功能中提出了贝叶斯平均法进行排序。具体计算公式如下:
把这个公式写成更一般的形式:
其中:
- C,投票人数扩展的规模,是一个自行设定的常数,与整个网站的总体用户人数有关,可以等于每个项目的平均投票数
- n,该项目的现有投票人数
- x,该项目的每张选票的值
- m,总体平均分,即整个网站所有选票的算术平均值
这种算法被称为"贝叶斯平均"(Bayesian average)。因为某种程度上,它借鉴了"贝叶斯推断"(Bayesian inference)的思想:既然不知道投票结果,那就先估计一个值,然后不断用新的信息修正,使得它越来越接近正确的值。(先验不断增加信息变后验)。具体可以看文章:https://www.cnblogs.com/berkeleysong/articles/3352937.html