概率分布与编程:二项式分布、泊松分布的原理,Python3如何实现
在说二项式分布之前,先来复习一下排列组合的概念,尤其是组合(Combination) C。
排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号
或
表示。
计算公式:
组合的定义:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。
计算公式:
;
举例:组合怎么算
1、比如C73,就是7开始的3个数相乘(7*6*5)再除以3开始到1之间所有的数(3*2*1)
2、比如C52,分子是从5开始递减的两个数字相乘,即5*4;分母为从2开始到1,即2*1;所以结果为5*4÷(2*1)=10;
那么,什么是二项分布呢?只要符合下面3个特点就可以判断某事件是二项分布了:
1)做某件事的次数(也叫试验次数)是固定的,用n表示。
(例如抛硬币3次,投资5支股票),
2)每一次事件都有两个可能的结果(成功,或者失败)
(例如每一次抛硬币有2个结果:正面表示成功,反面表示失败。
每一次投资美股有2个结果:投资成功,投资失败)。
3)每一次成功的概率都是相等的,成功的概率用p表示
(例如每一次抛硬币正面朝上的概率都是1/2。
你投资了5家公司的股票,假设每一家投资盈利成功的概率都相同)
4)你感兴趣的是成功x次的概率是多少。那么就可以用二项分布的公式快速计算出来了。
比如抛硬币是一个典型的二项分布。
在概率论和统计学中,二项分布是n个独立的成功/失败试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败试验又称为伯努利试验。实际上,当n=1时,二项分布就是伯努利分布。 [2]
一般地,如果随机变量
服从参数为
和
的二项分布,我们记为
或
。n次试验中正好得到k次成功的概率由概率质量函数给出: [2]
式中k=0,1,2,…,n,
是二项式系数(这就是二项分布名称的由来),又记为
或者
。 该公式可以用以下方法理解:我们希望有k次成功(p)和n?k次失败(1 ?p)。并且,k次成功可以在n次试验的任何地方出现,而把k次成功分布在n次试验中共有
个不同的方法。
举个现实的例子:
经济学
在保险业务中,我们经常需要根据实际情况适当调整保费问题,以保证保险公司的利润达到一定要求,同时保险公司的业务量也达到要求,对于这一类问题,可以对已知实际情况做一定的概率分析。例如某保险公司有10000客户购买人身意外保险,该公司规定每人每年付公司120元 ,若遇意外死亡,公司将赔偿10000元。若每人每年死亡率为0.006,从而不难利用二项分布算出公司获利、亏本的各种情形了。实际上对于随机现象,了解其分布非常有意义,利用概率论讨论得到的结果对保险公司有一定的指导意义。
这里我二项式分布的公式也懒得套用了,直接Python交易。
上代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
# 绘制二项分布和泊松分布图
n = 10000
p=0.006
q=1-p
bino = stats.binom(n,p)
x = np.arange(0,n)
y1 = bino.pmf(x)
possion = stats.poisson(n*p)
y2 = possion.pmf(x)
plt.plot(x,y1,label="erxiang")
plt.plot(x,y2,label="bosong")
plt.legend()
plt.show()
结果生成的图是:
可以看出
挂几个人的概率最多也就刚超过0.05,然后挂的人数越多的概率就越趋于0了。
保险公司的钱来得是真轻松啊,赔付概率是很低的。
注:一般当n>=20,p<=0.05的时候,就可以用泊松分布近似替代二项分布了。
泊松分布的概率函数为:
泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生次数。 泊松分布适合于描述单位时间内随机事件发生的次数。
泊松分布的期望和方差均为
特征函数为
参考文献:
【1】百度百科的二项式分布
https://baike.baidu.com/item/%E4%BA%8C%E9%A1%B9%E5%88%86%E5%B8%83/1442377?fromtitle=%E4%BA%8C%E9%A1%B9%E5%BC%8F%E5%88%86%E5%B8%83&fromid=3565421&fr=aladdin
【2】百度百科的泊松分布
https://baike.baidu.com/item/%E6%B3%8A%E6%9D%BE%E5%88%86%E5%B8%83/1442110?fr=aladdin
【3】Python之二项分布、泊松分布
https://cloud.tencent.com/developer/article/1752135
扩展阅读:
【1】泊松分布的现实意义是什么,为什么现实生活多数服从于泊松分布? - 猴子的回答 - 知乎
https://www.zhihu.com/question/26441147/answer/208718584
【2】泊松分布的现实意义是什么,为什么现实生活多数服从于泊松分布? - 马同学的回答 - 知乎
https://www.zhihu.com/question/26441147/answer/429569625