Python实现概率分布
概率分布基础
概率分布,是概率论大的基本概念之一,主要用以表述随机变量取值的概率规律。为了使用的方便,根据随机变量所属类型的不同,概率分布取不同的表现形式。
概率分布包括离散概率分布和连续概率分布。
离散数据:数据由一个个单独的数值组成,其中的每一个数值都有相应概率。
连续数据:数据涵盖的是一个范围,这个范围内的任何一个数值都有可能成为事件的结果。
离散概率分布包括:伯努利分布、二项分布、几何分布、泊松分布
连续概率分布包括:正态分布、幂律分布
安装python的科学计算包scipy
在python的科学计算包scipy的stats模块计算出常见概率分布的概率值,并用matpotlib包进行绘图。
概率分布
-
离散概率分布:伯努利分布(Bernoulli Distribution)
2.伯努利分布亦称“零一分布”、“两点分布”,即事件的结果只有两个值,且事件之间相互独立,例如抛一次硬币就为一次伯努利试验,结果要么为正面要么为反面,因此它伯努利分布。伯努利试验只做一次。
伯努利试验的特点是:
1)每次试验中事件只有两种结果:事件发生或不发生,如硬币正面或反面,患病或没患病。
2)每次试验中事件发生的概率是相同的,注意不一定是0.5
3)N次试验的事件相互之间独立。
Python代码实现:
-
离散概率分布:二项分布(Binomial Distribution)
二项分布就是重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,而且事件相互独立,事件发生与否的概率在每一次独立试验中都保持不变。当试验次数为1时,二项分布服从0-1分布。它计算的结果是做n次试验发生某个结果的概率,例如:抛一次硬币正面朝上的概率,抛两次正面朝上,抛n次正面朝上的概率。
二项分布的特点是:
1)是在进行一系列独立试验;
2)每一次都存在成功或失败的可能,每一次试验的成功概率相同;
3)试验次数有限。
如果事件发生的概率是P,则不发生的概率q=1-p,n表示试验次数,X和r表示n次试验中的成功次数。
Python代码实现:
-
离散概率分布:几何分布(Geometric Distribution)
几何分布就是中n次伯努利试验中,试验k次才得到第一次成功的几率。
几何分布的特点:
1)进行一系列相互独立的试验;
2)每一次试验既有成功的可能,也有失败的可能,且单次试验的成功概率相同;
3)主要是为了取得第一次成功需要进行多少次试验。
Python代码实现:
-
离散概率分布:泊松分布(Poisson Distribution)
泊松分布描述的是已知一段时间内事件发生的平均数,求某个事件内发生的概率。
泊松分布的特点:
1)单独事件中给定区间内随机、独立地发生,给定区间可以是时间或空间;
2)已知该区间内的时间平均发生次数(或叫做发生率),且为有限数值。该事件平均发生次数通常用希腊字母(lamada)表示。
Python代码实现:
-
连续概率分布:正态分布(Normal Distribution)
正态分布,又名高斯分布,正态曲线呈钟型,两头低,中间高,左右对称,中央部位的概率密度最大。越偏离均值,其概率密度减小。
若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。
概率密度函数f(x):通过它可以求出一个数据范围内的某个连续变量的概率,可以指出该概率分布的形状。
概率密度:通过面积指出各种范围内的概率大小,通过概率密度函数进行描述。
求解正态分布概率步骤:
1)确定分布和范围,即算出均值和标准差;
2)将分布标准化,求出标准分;
3)查找概率,通过中概率表中查找标准分可以求出正态概率,概率表给出的是等于或小于这个数值的概率。
Python代码实现: