概率分布用来描述随机变量(含随机向量)在每一个可能状态的可能性大小。概率分布有不同方式,这取决于随机变量是离散的还是连续的。
对于随机变量X,其概率分布通常记为P(X=x),或X~P(x),表示X服从概率分布P(x)。概率分布描述了取单点值的可能性或概率,但在实际应用中,我们并不关心取某一值的概率,特别是对连续型随机变量,它在某点的概率都是0,这个后续章节将介绍。因此,我们通常比较关心随机变量落在某一区间的概率,为此,引入分布函数的概念。
定义:设X是一个随机变量,xk是任意实数值,函数:
称为随机变量X的分布函数。
由(4.1)式不难发现,对任意的实数x 1 、x 2 (x 1 <x 2 ),有:
成立。式(4.2)表明,若随机变量X的分布函数已知,那么可以求出X落在任意一区间[x 1 ,x 2 ]的概率。
设x 1 ,x 2 ,…,x n 是随机变量X的所有可能取值,对每个取值x i ,X=x i 是其样本空间S上的一个事件,为描述随机变量X,还需知道这些事件发生的可能性(概率)。
设离散型随机变量X的所有可能取值为x i (i=1,2,…,n):
称为X的概率分布或分布律,也称概率函数。
我们常用表格的形式来表示X的概率分布:
由概率的定义可知,Pi(i=1,2,...)必然满足:
1)P i ≥0 i=1,2,...,n
2)
例1 :某篮球运动员投中篮圈的概率是0.8,求他两次独立投篮投中次数X的概率分布。
解:X可取0,1,2为值,记A i ={第i次投中篮圈},i=1,2,则P(A 1 )=P(A 2 )=0.8
由此不难得到下列各情况的概率:
投了两次两次都投中,即:P(X=2)=P(A 1 A 2 )=P(A 1 )P(A 2 )=0.8×0.8=0.64
且P(X=0)+P(X=1)+P(X=2)=0.04+0.32+0.64=1
于是随机变量X的概率分布可表示为:
若已知一个离散型随机变量X的概率分布:
则由概率的可列可加性,可得随机变量X的分布函数为:
例如,设X的概率分布由例1给出,则
常见的离散随机变量的分布有:
若随机变量X只可能取0和1两个值,且它的分布列为P(X=1)=p,P(X=0)=l-P,其中(0<P<1),则称X服从参数为p的两点分布,记作X~B(1,p)。其分布函数为:
二项分布是重要的离散概率分布之一,由瑞士数学家雅各布·伯努利(Jokab Bernoulli)提出。一般用二项分布来计算概率的前提是,每次抽出样品后再放回去,并且只能有两种试验结果,比如黑球或红球,正品或次品等。二项分布指出,假设某样品在随机一次试验出现的概率为p,那么在n次试验中出现k次的概率为:
假设随机变量X满足二项分布,且知道n、p、k等参数,我们如何求出各种情况的概率值呢?方法比较多,这里介绍一种比较简单的方法,利用scipy库的统计接口stats即可,具体如下:
import numpy as np import matplotlib.pyplot as plt import math from scipy import stats %matplotlib inline n = 20 p = 0.3 k = np.arange(0,41) #定义二项分布 binomial = stats.binom.pmf(k,n,p) #二项分布可视化 plt.plot(k, binomial, 'o-') plt.title('binomial:n=%i,p=%.2f'%(n,p),fontsize=15) plt.xlabel('number of success') plt.ylabel('probalility of success', fontsize=15) plt.grid(True) plt.show()
运行后的二项分布图如图4-1所示。
图4-1 二项分布图
若随机变量X所有可能取值为0,1,2,…,它取各个值的概率为:
这里介绍了离散型随机变量的分布情况,如果X是连续型随机变量,其分布函数通常通过密度函数来描述,具体请看下一节。
与离散型随机变量不同,连续型随机变量采用概率密度函数来描述变量的概率分布。如果一个函数f(x)是密度函数,满足以下三个性质,我们就称f(x)为概率密度函数。
1)f(x)≥0,注意这里不要求f(x)≤1。
2) 。
3)对于任意实数x 1 和x 2 ,且x 1 ≤x 2 ,有:
第2个性质表明,概率密度函数f(x)与x轴形成的区域的面积等于1,第3个性质表明,连续随机变量在区间[x 1 ,x 2 ]的概率等于密度函数在区间[x 1 ,x 2 ]上的积分,也即与X轴在[[x 1 ,x 2 ]内形成的区域的面积,如图4-2所示。
图4-2 概率密度函数
连续型随机变量在任意一点的概率处处为0。
假设有任意小的实数Δx,由于{X=x}⊂{x-Δx<X≤x},由式(4.1)分布函数的定义可得:
令Δx→0,由夹逼准则,式(4.5)可求得:
式(4.6)表明,对于连续型随机变量,它在任意一点的取值的概率都为0。因此,在连续型随机变量中,当讨论区间的概率定义时,一般对开区间和闭区间不加区分,即:P(x 1 ≤X≤x 2 )=P(x 1 <X≤x 2 )=P(x 1 ≤X<x 2 )=P(x 1 <X<x 2 )成立。
最常见的正态分布的密度函数为:
这个连续分布被称为正态分布,或者高斯分布。其密度函数的曲线呈对称钟形,因此又称为钟形曲线,其中μ是平均值,σ是标准差(何为平均值、标准差后续我们会介绍)。正态分布是一种理想分布。
正态分布如何用Python实现呢?同样,我们可以借助其scipy库中stats来实现,非常方便。
import numpy as np import matplotlib.pyplot as plt from scipy import stats %matplotlib inline #平均值或期望值 mu=0 #标准差 sigma1=1 sigma2=2 #随机变量的取值 x=np.arange(-6,6,0.1) y1=stats.norm.pdf(x,0,1) #定义正态分布的密度函数 y2=stats.norm.pdf(x,0,2) #定义正态分布的密度函数 plt.plot(x,y1,label='sigma is 1') plt.plot(x,y2,label='sigma is 2') plt.title('normal $\mu$=%.1f,$\sigma$=%.1f or %.1f '%(mu,sigma1,sigma2)) plt.xlabel('x') plt.ylabel('probability density') plt.legend(loc='upper left') plt.show()
sigmal系统与正态分布如图4-3所示。
图4-3 sigmal系统与正态分布
正态分布的取值范围是负无穷到正无穷。这里我们为便于可视化,只把X数据定义在[-6,6]之间,用stats.norm.pdf得到正态分布的概率密度函数。另外从图形可以看出,上面两图的均值u都是0,只是标准差(σ)不同,这就导致图像的离散程度不同,标准差大的更分散,个中原因,我们将在介绍随机变量的数字特征时进一步说明。