作者 | 梁唐
大家好,我是梁唐。
最近在工作当中做模型的时候,遇见了一件很神奇的怪事,明明一件商品在两类人群当中的点击率都比另外一件要高。但是当我把它们的数据汇总之后,结论反而变了。
我查了很久的资料,才发现这种现象叫做辛普森悖论,非常有意思,今天就和大家来聊一下这个问题。
这里的辛普森不是杀妻的那个,而是20世纪时的一名统计学家,正是他在论文当中详细阐述了这个现象,所以便以他的名字命名了。
我们来看维基百科当中对于这个现象的举例,说是美国高校有两所学院,一所是法学院一所是商学院,有人怀疑这两所学院有性别歧视。为了印证这个观点就有人做了调查统计,统计之后得到了这样的结果:

从这两张表格我们可以看出,两个学院都是女生的录取比例更高。但是当我们把它们合在一起之后,这个结论却神奇地逆转了。

女生的录取比例反而变低了,这个统计学里前后矛盾的神奇现象就叫做辛普森悖论。
辛普森悖论这个现象我们了解了,那么它出现的原因到底是什么呢?
其实也很简单,我们单纯地纠结录取率这个点往往很难得出答案,需要我们反其道而行之,从相反的方向入手。我们观察一下拒收的人数就能发现端倪了。
男生的拒收人数更少,而女生更多,进一步分析会发现是因为男生申请法学院的较少,而女生申请法学院的较多。并且法学院的录取率很低,因此男性在总人数上被拒收得更少,相当于商学院拉高了男性的录取率,而法学院拉低了女性的录取率。
进一步总结一下,辛普森悖论的出现往往有着这样的客观因素。一是两个分组的命中率相差很大,一组很高一组很低。二是两组样本的分布完全相反,这就导致了汇总的时候很有可能出现结论的逆转。
现在辛普森悖论我们已经了解了,原理也搞懂了,我们进一步思考,它和我们日常的工作有什么关系呢?
其实很有关系,我们以电商场景举例。比如说某两个商品类别A和B,因为辛普森悖论,很有可能就会出现A类别对于男性和女性用户的点击率都比B类别来得高。但当我们汇总之后反而会得出相反的结论,也就是B比A更高。这就导致了一个什么问题?这就导致了如果我们只是单纯的设计一个类别点击率的特征,很有可能就是不准的。
这个很好理解,比如说有些类目尤其是小众类目它的点击率就是要比一些大众类目高的。这是因为越小众的商品,它的倾向性就越强,比如说连衣裙和人字拖。显然后者的倾向性比前者大得多,因为大部分女生不论一开始打开淘宝的初衷是什么,可能看着看着都会去看一些连衣裙,而会去点击人字拖往往都是真的考虑购买的。
所以如果我们只是单纯地把点击率设计成特征的话,那么模型就会学到错误的内容。它就会发现人字拖的点击率要比连衣裙高得多,于是疯狂给用户推人字拖。但显然这样是不对的,会有巨大的偏差。
怎么解决这个问题呢?很简单,我们需要把特征做细一些,比如把单纯的点击率替换成性别_点击率的交叉特征,再比如在点击率之外我们引入一些其他维度的信息,比如热度信息来表示商品受欢迎的程度。从而避免模型只能学到单一的点击率信息。
统计学当中有很多这样违反直接的情况,我们在进行数据相关工作的时候,一定要非常小心,千万不要轻易下结论。