《大数据》笔记 Bonferroni correction

来源:互联网 发布:es6数组去重 编辑:程序博客网 时间:2024/05/17 09:10

引用《大数据》原文


假设我们确信在某个地方有一群恶人,目标是把他们揪出来。再假定我们有理由相信,这些恶人会定期在某个宾馆聚会来商讨他们的作恶计划。为限定问题的规模,我们再给出如下假设:

(1) 恶人数目可能有10亿;(这里翻译的不好,不是说有10亿个恶人,而是这10亿个人都有作恶的嫌疑,实际的恶人数只是这10亿人中的10人)

(2) 每个人每100天当中会有一天去宾馆;

(3) 一个宾馆最多容纳100个人。因此,100 000个宾馆已足够容纳10亿人中的1%在某个给定的日子入住宾馆;

(4) 我们将对1000天的宾馆入住记录进行核查。

为了在上述数据中发现恶人的踪迹,我们可以找出那些在两个不同日子入住同一宾馆的人。但是假设并没有恶人,也就是说,给定某一天,对每个人来说,他们都是随机地确定是否去宾馆(概率为0.01),然后又是随机地从10^5个宾馆中选择一个。从上述数据中,我们能否推断出某两个人可能是恶人?

接下来我们做个简单的近似计算。给定某天,任意两个人都决定去宾馆的概率为0.000 1,而他们入住同一宾馆的概率应该在0.000 1基础上除以10^5(宾馆的数量)。因此,在给定某天的情况下,两个人同时入住同一宾馆的概率是10^(-9)。而在任意给定的不同的两个日子,两人入住同一宾馆的概率就是10^(-9)的平方,即10^(-18)。需要指出的是,上述推理中只需要两人两次中每次住的宾馆相同即可,并不需要两次都是同一家宾馆 。

基于上述计算,我们必须要考虑到底事件出现多少次才意味着作恶事件的发生。上例中,"事件"的含义是指"两个人在两天中的每一天入住相同宾馆"。为简化数字运算,对于较大的n, 大概等于n^2/2。下面我们都采用这个近似值。因此在109中的人员组对个数为 =5×10^17,而在1000天内任意两天的组合个数为 =5×10^5。疑似作恶事件的期望数目应该是上述两者的乘积再乘上"两个人在两天中的每一天入住相同宾馆"的概率,结果为

5 × 10^17 × 5 × 10^5 × 10^(-18) = 250 000

也就是说,大概有25万对人员看上去像恶人,即使他们根本不是。

现在假定实际上只有10对人员是真正的恶人。警察局需要调查25万对人员来寻找他们。除了会侵犯近50万无辜人们的生活外,所需的工作量非常大,以至于上述做法几乎是不可行的。


总结:

Bonferroni correction方法在这个案例中的应用:

1.确定一个认定恶人的方法(1000天中有2天住在同一宾馆的两个人都是恶人)

2.给出问题的规模(总人数有10亿,每人每天去宾馆概率为1%,共100 000个宾馆)

3.分析这种方法会把多少无辜的人当做恶人(根据概率算出250000个,但实际上恶人没那么多,可能只有10个,所以这种方法正确找出恶人的概率很低:1/25000)。


普遍应用方法:

1.确定一个找出特定类型事件的方法,即数据符合某一规律时认为它是某一类型。

2.给出问题规模。

3.根据问题规模,分析随机出现但符合这一规律的数据的个数的期望值。

4.若计算出来的期望值大大于特定事件个数的期望值,则这一方法不合适。

原创粉丝点击