Hackrank 统计十日通(第四天) 二项分布

来源

解决今天的挑战要用的术语都高亮在下面

随机变量

一个随机变量X,是一个实值单值函数X:S → R。在X这个函数中,一个事件会以一个周期I发生,通过X函数产生一个属于R样本空间的值。I ∈R。你可以认为它是同一个样本空间中,一组可能出现的结果所对应的概率。例如,如果你扔两个四面的骰子,每个骰子的投出数字的和:

  • X={2,3,4,5,6,7,8}
  • P(X=2) = p({(1,1)}) = 1/16

假设两个四面骰子a,b各有有(1,2,3,4),如果要投两个得到2,必须是两个1,a投得1的概率是1/4,在此基础上b也是1的概率也是1/4,结果就是1/4 * 1/4 = 1/16

  • P(X=3) = p({(1,2), (2,1)}) = 2/16
  • P(X=4) = p({(1,3),(2,2),(3,1)}) = 3/16
  • P(X=5) = p({(1,4),(2,3),(3,2),(4,1)}) = 4/16
  • P(X=6) = p({(2,4),(3,3),(2,4)}) = 3/16
  • P(X=7) = p({(3,4),(4,3)}) = 2/16
  • P(X=8) = p({(4,4)}) = 1/16

投两个骰子,每个骰子的值是相互独立的。

二项分布实验

一个二项分布实验(又称伯努利实验),是一种有以下性质的统计实验:

  • 实验有n次重复的测试
  • 每次测试都是独立的
  • 每次实验的结果都是要么成功(s)要么失败(f)

伯努利随机变量和分布

二项分布实验的样本空间就两个值,s和f。我们把伯努利随机变量定义成
随机变量X(s)=1和X(f)=0 。如果我们认为成功的概率是p且失败的概率是q(那么q=1 - p),则随机变量X的概率密度函数(probability mass function PMF)就是:

概率密度函数

如果x=0,函数p(x)的结果就是失败的概率
如果x=1,函数p(x)的结果就是成功的概率

我们也可以写成这样

f(x) = px×(1 - p)1-x 其中x∈{0,1}

当x=0

f(0) = p0×(1 - p)1-0
=1×(1 - p)1 = 1 - p = q (失败的概率)

当x=1

f(1) = p1×(1 - p)1-1
=p×(1 - p)0 = p (成功的概率)

二项式分布

一个满足以下条件的二项式分布实验我们就认为是一个二项式过程

  • 成功的次数是x
  • 总共次数是n
  • 一次成功的概率是p
  • 一次失败的概率是q,那么q = 1 - p
  • b(x, n, p)是二项式概率, 意味着n次实验中正好有x次成功

二项式随机变量就是n次实验中成功的次数x.

二项式分布就是二项式随机变量的概率分布, 由以下概率分布函数定义:


请注意: 这是组合

个人理解:
假设一个扔硬币的实验, 扔10次, 正面向上为成功(1), 一般扔硬币的概率都是0.5.
那扔10次中出现一次(不多不少)正面向上的概率是?
x = 1
n = 10
10!/(1! × (10 - 1)!) = 10! / 9! = 10

10 × p1 × q(10 - 1)
= 10 × 0.5 × (1 - 0.5)9 = 10 × 0.5 10 = 一个很小的概率
如果说要出现2次(不多不少)正面向上
x = 2
n = 10
10!/(2! × (10 - 2)!) = 10! / 8! = 90
90 × p2 × q(10 - 2)
= 90 × 0.52 × (1 - 0.5)8 = 90 × 0.5 10 = 一个很小的概率,但是比上一个大
要是5次正面向上呢?
x = 5
n = 10
10!/(5! × (10 - 5)!) = 6 × 7× 8× 9× 10 / 5! = 252
252 × p5 × q(10 - 5)
= 252 × 0.55 × (1 - 0.5)5 = 252 × 0.5 10 ≈ 0.24 概率要大得多
再往后推,又变小了

累积概率密度函数

当我们把概率密度函数应用在某些实数的随机变量上, X, 就成了 FX(x) = P(X ≤ x). 这是个不会减少(递增)函数, 因为它把X变量的值的概率累加起来,直到包括x. 我们称其为X的累加分布函数. 当一个累加分布函数表示一个累加范围的值, 我们可以用以下函数得到所有x ∈ [a, b] 的累加概率

P(a < X ≤ b) = FX(b) - FX(a)

注: 像计算某函数在区间[a,b]的积分.

例子

公平地扔10次硬币, 求以下概率:

  • 五次正面
  • 至少五次正面
  • 至多五次正面

解:



对于这个实验,n = 10, p = 0.5且q = 0.5 所求的概率就是

  • 正好五次正面是:

b(x = 5, n, p) = 0.24....

  • 至少5次是:


    g5.PNG
  • 至多5次是:


    l5.PNG

Java

    public static long factorial(int n) {
        return n != 0 ? LongStream.rangeClosed(1, n).reduce(1, (long a, long b)-> a * b) : 1;
    }

    public static double binomial(int n, int x, double p) {
        return factorial(n) / (double)(factorial(x) * factorial(n - x)) * Math.pow(p, x) * Math.pow(1 - p, n - x);
    }

    @Test
    public void examples() {
        System.out.printf("exact 5 times out of 10 %f\n", binomial(10, 5, 0.5));
        System.out.printf("at least 5 times out of 10 %f\n", IntStream.rangeClosed(5, 10).mapToDouble(i -> binomial(10, i, 0.5)).sum());
        System.out.printf("at most 5 times out of 10 %f\n", IntStream.rangeClosed(0, 5).mapToDouble(i -> binomial(10, i, 0.5)).sum());
    }

Scala

def factorial(n:Int):Long = if (n == 0) 1 else (1 to n).foldRight(1)(_ * _)

def binomial(n:Int, x:Int, p:Double, q:Double): Double = factorial(n).toDouble / (factorial(x) * factorial(n - x)) * Math.pow(p, x) * Math.pow(q, n - x)

Python

from math import factorial
def binomial(n, x, p, q):
    return factorial(n) / (factorial(x) * factorial(n - x)) * pow(p, x) * pow(q, n - x)

题目

俄罗斯的男女比例是1.09比1, 假设不生多胞胎, 求那些有6个孩子的家庭中, 有百分之几的家庭有起码3个男孩?

解: 当n = 6
p = 1.09 / (1 + 1.09)
q = 1 / (1 + 1.09)
求在x = 3, =4, =5, =6 这几种情况下的概率值



求和得到最后答案
套以上公式和函数,得到0.696

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容