无处不在的辛普森悖论

2020-07-30 10:10:07 浏览数 (1)

1. 简介

      Simpson’s Paradox refers to situations in which a trend or relationship that is observed within multiple groups reverses when the groups are combined.

在数据分析中,我们会时有碰到辛普森悖论(Simpson’s Paradox),即总体的变化方向和各子群体的变化方向相反的一种情况。例如当我们做一个AB实验,发现用户整体的人均时长是增加的,但是当我们进行维度下钻时,却发现各个子群体的人均时长却是下降的。这是奇怪的,但却又是正常的,当我们遇到这一问题,可能需要用到一定的数学知识和在对业务充分理解的基础上来进行深入分析。

2. 从实际case中看辛普森悖论

case 1:

      1996年,Appleton, French, 和 Vanderpump三位学者做过一个探索吸烟和死亡率的关系实验,具体数据如下:

Died

Survived

Total

Mortality rate

Smoker

139

443

582

23.9%

Non-smoker

230

502

732

31.4%

Total

369

945

1314

28.1%

       实验结果表明,非吸烟人群死亡率高于吸烟人群,但这明显违背了医学对我们传达出的吸烟有害健康的常识。接下来,我们尝试按照年龄对人群进行分组,则得到另一个截然不同的结果。

       从上图我们可以看到,按年龄划分后,几乎所有子群体中,吸烟者的死亡率都要高于非吸烟者,这就是典型的辛普森悖论。由此可以看出,在分析吸烟和死亡率之间的关系时,年龄似乎是一个重要的应该被考虑进去的因素。因此,进一步地,我们可以继续探查吸烟者与非吸烟者的各年龄段组成:

       从上图我们可以看出,吸烟者和非吸烟者,年龄分布差异很大,尤其是65岁以上人群,吸烟者中的占比(8%)远少于非吸烟者(27%)占比。65岁是高死亡率人群,此阶段影响死亡的更大的因素是由于高龄带来的身体机能的下降,而非吸烟。若我们在分析的时候,仅着眼于吸烟与否与死亡率的关系时,可能会造成偏差,因为非吸烟者中65岁以上人群占比较大,且是高死亡率人群,因此拉高了非吸烟者人群整体的死亡率,从而造成了非吸烟者人群死亡率高于吸烟者人群死亡率的”假象“。此外,这些数据某种程度上可以说明,长期吸烟缩短了人的寿命,使得在整体人群中,吸烟者与非吸烟者的年龄分布不同。

      也许有人会说,我们完全可以在对人群抽样时,通过均衡吸烟者与非吸烟者的各年龄段的人数,来回避这样一种”悖论“的结果。这当然可以实现,但在更为复杂的现实问题的分析时,我们并不知道人群的何种属性会影响我们想要分析的指标,使得我们不知通过人群的哪个维度来进行采样的均衡。

case 2:

       这个case中的数据是商品的价格与销量,如下图所示,某一较长时间段,某个商品价格和销量的的散点图,其中x轴代表价格,y轴代表销量,蓝线为用这些点拟合出来的关系,其中线的斜率代表价格弹性。一般我们认为,该回归线是右下方倾斜的,即价格越高,销量越低,然而,下图中的回归线是向右上方倾斜的,这再一次与我们的认知相悖。

       上面是某一较长时间段的数据,现在我们将时间分细,看每周的价格与销量之间的关系,蓝线表示销量,红线表示价格。大多数时候,价格与销量都是负向的关系,尤其是在价格波动较大的时候。

       另外,上图中虚线部分是价格和销量的长期趋势,在这150多周中,价格和销量的长期趋势是变化的,我们可以考虑在某个较为稳定的趋势内,分析价格和销量的关系,则有下图。从图中可以看到,右上的All Weeks就是上面的某一较长时间段的数据,此时价格和销量呈正相关,但当我们将整个周期划分为如下3段后,可以看到在3个子时间段内,价格和销量都是呈负相关,与我们的认知一致。

      价格这种指标,在很多时候都是有时间序列属性的,即可能会有自相关性,当分析这种数据的时候,”时间“这一因素,往往会造成辛普森悖论。

case 3:

       假设某厂商拥有A、B、C三个商店品牌,各有400,200,100家店铺,每种品牌商店提供的产品是一样的,但是客户群体和产品价格有所差异,先希望通过某种策略(如改变各品牌店铺数等),实现如下目标:在整体利润不下降的前提下,各个品牌商店的利润都有所提升。

下表为策略前后,各个品牌的利润率以及变化

Store Brand

策略前

策略后

Change

Brand A

10%

12%

20%

Brand B

5%

6%

20%

Brand C

4%

5%

25%

      初看上表,感觉三个品牌的利润率都是提升的,总体的利润率也应该是提升的,因此推测原先设定的目标实现了。但是事实并非如此,我来来看下面更详细的数据。

策略前

店铺数

店铺占比

利润率

Change

Brand A

400

57%

10%

/

Brand B

200

29%

5%

/

Brand C

100

14%

4%

/

Total

700

100%

7.7%

/

策略后

店铺数

店铺占比

利润率

Change

Brand A

200

29%

12%

20%

Brand B

300

43%

6%

20%

Brand C

200

29%

5%

25%

Total

700

100%

7.4%

-3.7%

       由此可见,策略后,尽管三个品牌的利润率都是提升的,但加权平均后的总体是下降的,即整体的利润率是下降的,因此该策略未能实现预先设定的目标。

即便是同一整体,实验前后内部子群体结构发生了变化,也会导致辛普森悖论的产生。

3. 从数学中看辛普森悖论

       从上面几个case可以看到,辛普森悖论本质上都是总体与子群体之间负向趋势的一种体现,可以用如下数学表达式就行表达: a/b<A/Bc/d<C/D(a c)/(b d)>(A C)/(B D)(1)a/bc/d(a c)/(b d)<A/B<C/D>(A C)/(B D)(1)       例如回归到探究吸烟与死亡率的关系的case1中,此处以性别对人群进行分类,小写为非吸烟人群,大写为吸烟人群,b、B分别为非吸烟人群中和吸烟人群中的男性,d、D分别为非吸烟人群中和吸烟人群中的女性,a( A )、c( C )分别为其中的死亡人数,上面的式子就是其辛普森悖论的数学表现。从数学层面,上式其实是很容易满足,比如:

1/5<2/86/8<4/57/13>6/131/5<2/86/8<4/57/13>6/13

再有,假设吸烟者和非吸烟者按性别划分后,数据如下:

策略后

非吸烟者(10人)

吸烟者(10人)

男性

a∈[1,9]

A∈[1,9]

男性死亡人数

b∈[0,a]

B∈[0,A]

女性

c=10-a

C=10-B

女性死亡人数

d∈[0,c]

D∈[0,C]

      满足上表的情况下的[a,b,d,A,B,D]组合共计69696种,其中满足辛普森悖论数学表达式(1),即会产生辛普森悖论的组合共计348种,占比为0.5%。

      由此可见,给定一个群体,尽管出现辛普森悖论的概率比较小,但无论如何,总是可以找到某种划分,使其出现辛普森悖论。

4. 总结

       作者认为:辛普森悖论不一定会被看到,但它却又是一直存在的。结合到我们实际的业务中,当对人群维度的划分种类足够多的时候,总是能找到某一种或多种划分的方式,使得辛普森悖论的产生。

       当然,在日常工作中对用户群体划分时,用户维度的划分一般不会有无限多种,即在我们日常分析的框架中,出现辛普森悖论的概率不是很大,但当其真的出现的时候,有必要做进一步的深入分析,因为这大概率是由于lurking variable(潜伏变量)造成的。所谓lurking variable是指在分析中,未被包含在自变量和因变量中,但却又会影响自变量和因变量相关关系的变量,遗漏了它,会导致错误地推断自变量和因变量之间真实的关系,如上面的几个case中,年龄、时间(趋势)、内部组成就是造成辛普森悖论的lurking variable。若出现辛普森悖论,只有找到lurking variable,才能让我们更好的定位问题,同时也会助力我们更好的理解业务。

文本 视觉,跨模态给你带来不一样的视角

走近鹅厂专家 | Ta们靠什么成为专家?

如何通过画像洞察用户价值点

0 人点赞