- # 数据载入
- UCBA <- data.frame(datasets::UCBAdmissions)
- # 为更好地展示和分析问题,将数据截取部分
- UCBA <- filter(UCBA, Dept %in% c("A", "D"))
| Admit | Gender | Dept | Freq |
| Admitted | Male | A | 512 |
| Rejected | Male | A | 313 |
| Admitted | Female | A | 89 |
| Rejected | Female | A | 19 |
| Admitted | Male | D | 138 |
| Rejected | Male | D | 279 |
| Admitted | Female | D | 131 |
| Rejected | Female | D | 244 |
数据的内容是不同性别(Gender)的人申请不同的系(Dept),获得同意或拒绝(Admit)的次数(Freq)。
将数据汇总后,可以形成下面的图(制图比较简单,不赘述了):
从图上可以看到,男性(Male)的录取(Admitted)率,比女性要高。对吧?没错吧?但是——如果我们将这两个系各种申请的男女通过率展现出来:
WTF?!每一个系都是女生的录取率高于男生的录取率,但是为什么数据合在一起,就出现截然相反的结论呢?
为了展示问题,我们换一种方法画图:
在这张图中,横坐标变成了被拒绝的频次(Freq),纵坐标变成了申请成功的频次,图上的点对应男(粉色)、女(青色)申请某个系,和汇总的情况,每个点到原点(0,0)的线段的斜率表示(申请成功/申请失败)的比率,代表了成功率的高低。
从上图可以看到,青色的两条实线都比红色的两条实线的斜率要大,但是,当数据汇总后,青色的虚线的斜率却要比红色虚线的要小!这就是Simpson's Paradox的具体展现。从图上,我们大致可以看出原因——左边第一条青色实线的长度太短了!这可能是导致问题发生的原因。
如果其他条件不变,但是左边第一条青色实线的长度增加到3倍,情况会怎么样呢?——
OK,确实如此,情况逆转了!我们可以用公式粗糙地验证一下:
这提醒了我们一个道理,当我们在进行比率相关的数据分析时,不仅要考虑总体和各子项目的比率情况,还要考虑另外一个维度——各子项目所占权重的情况,因此,对于类似的问题,我在最上面用到的“条形图”就不合适了,这种情况下应该用“马赛克图”用ggmosaic包:
- library(tidyverse)
- library(ggmosaic)
- # 载入全部院系的数据
- UCBA <- data.frame(datasets::UCBAdmissions)
- UCBA %>%
- ggplot() +
- geom_mosaic(aes(weight = Freq, x = product(interaction(Dept, Gender)),
- fill = factor(Admit))) +
- theme(axis.text.x = element_text(angle = 90, vjust = 0.2)) +
- labs(x = "Dept | Gender", fill = "Admit:") +
- guides(fill = guide_legend(reverse = TRUE))
从上面这张图上,Simpson's Paradox想要“骗”我们就没有那么容易了!
好了!我们已经知道了,比率很总要,权重也很重要。那么?问题又来了,如果在一个概率可知且稳定的投资过程中,策略A会稳定的输钱,策略B也会稳定地输钱(相当于比率已知)。如果将策略A、B随机组合或者间隔组合在一起(权重各50%),这个策略一定是稳定输钱吗?——答案还是不一定,有可能会稳定地赚钱!WTF?!是的,这就是Parrondo’s Paradox,有机会我再发帖说明。
另:对概率统计的经典问题感兴趣的坛友,可以看看我发过的另外一个帖子:用R语言实验验证经典概率问题:The Monty Hall problem


雷达卡




京公网安备 11010802022788号







