精华内容
下载资源
问答
  • 常见分布的表示方法
    万次阅读 多人点赞
    2019-05-09 16:40:49

    概率分布有两种类型:离散(discrete)概率分布连续(continuous)概率分布

    离散概率分布也称为概率质量函数(probability mass function)。离散概率分布包括:

    • 伯努利分布(Bernoulli distribution)
    • 二项分布(binomial distribution)
    • 几何分布(geometric distribution)
    • 泊松分布(Poisson distribution)等。

    连续概率分布也称为概率密度函数(probability density function),它们是具有连续取值(例如一条实线上的值)的函数。连续概率分布包括:

    • 正态分布(normal distribution)
    • 指数分布(exponential distribution)
    • β分布(beta distribution)等。

    1. 两点分布(伯努利分布)

    伯努利试验:

    伯努利试验是在同样的条件下重复地、各次之间相互独立地进行的一种试验。

    即只先进行一次伯努利试验,该事件发生的概率为p,不发生的概率为1-p。这是一个最简单的分布,任何一个只有两种结果的随机现象都服从0-1分布。

    最常见的例子为抛硬币

    其中,期望 E = p E = p E=p ,方差 D = p ( 1 − p ) 2 + ( 1 − p ) ( 0 − p ) 2 = p ( 1 − p ) D = p(1-p)^2+(1-p)(0-p)^2 = p(1-p) D=p(1p)2+(1p)(0p)2=p(1p)

    2. 二项分布(n重伯努利分布)

    用数学符号 X~B(n,p) 来表示二项分布。即做n个两点分布的实验,其中, E = n p E = np E=np D = n p ( 1 − p ) D = np(1-p) D=np(1p)。而它的概率分布函数为: P ( k ) = C n k p k ( 1 − p ) n − k P(k)=C_n^kp^k(1-p)^{n-k} P(k)=Cnkpk(1p)nk

    对于抛硬币的问题,做100次实验,正反面概率都为0.5,观察其概率分布函数:

    from scipy.stats import binom
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    
    # Binomial distribution
    n = 100
    p = 0.5
    k = np.arange(20,80)
    binomial = binom.pmf(k,n,p)
    plt.plot(k, binomial, 'o-')
    plt.title('binomial:n=%i,p=%.2f'%(n,p))
    plt.xlabel('number of success') #正面向上的次数
    plt.ylabel('probalility of success')
    plt.grid(True)
    plt.show()
    

    结果显示如下:
    二项分布
    观察概率分布图,可以看到,对于n = 100次实验中,有50次成功的概率(正面向上)的概率最大。

    3. 几何分布

    用数学符号 X~GE(p) 来表示几何分布。即在n次伯努利实验中,第k次实验才得到第一次成功的概率分布。其中: P ( k ) = ( 1 − p ) ( k − 1 ) p P(k) = (1-p)^{(k-1)}p P(k)=(1p)(k1)p。期望值 E = 1 / p E = 1/p E=1/p 推导方法就是利用利用错位相减法然后求lim - k ->无穷 。方差 D = ( 1 − p ) / p 2 D = (1-p)/p^2 D=(1p)/p2 推导方法利用了 D ( x ) = E ( x ) 2 − E ( x 2 ) D(x) = E(x)^2-E(x^2) D(x)=E(x)2E(x2),其中 E ( x 2 ) E(x^2) E(x2)求解同上。

    对于抛硬币的问题,正反面概率都为0.5,观察第k次实验才得到第一次成功的概率分布函数:

    from scipy.stats import geom
    
    # 几何分布(geometric distribution)
    n = 10
    p = 0.5
    k = np.arange(1,10)
    geom_dis = geom.pmf(k,p)
    plt.plot(k, geom_dis, 'o-')
    plt.title('geometric distribution')
    plt.xlabel('i-st item success')
    plt.ylabel('probalility of i-st item success')
    plt.grid(True)
    plt.show()
    

    显示结果如下:
    几何分布

    4. 泊松分布

    用数学符号X~P(λ) 表示泊松分布。描述单位时间/面积内,随机事件发生的次数。 P ( x = k ) = λ k k ! e ( − λ ) , k = 0 , 1 , 2 , . . . λ > 0 P(x = k) = \frac{λ^k}{k!}e^{(-λ) } ,k = 0,1,2, ... λ >0 P(x=k)=k!λke(λ),k=0,1,2,...λ>0。泊松分布可作为二项分布的极限而得到。

    一般的说,若X~B(n,p),其中n很大,p很小,因而 np=λ 不太大时,X的分布接近于泊松分布 P(λ)。λ:单位时间/面积下,随机事件的平均发生率。期望值E = λ,方差D = λ。譬如:某一服务设施一定时间内到达的人数、一个月内机器损坏的次数等。

    假设某地区,一年中发生枪击案的平均次数为2。考察一下不同次数的概率分布:

    from scipy.stats import poisson
    
    # 泊松分布(poisson distribution)
    mu = 2
    x = np.arange(10)
    plt.plot(x, poisson.pmf(x, mu),'o')
    plt.title(u'poisson distribution')
    plt.xlabel('shot case count')
    plt.ylabel('probalility of shot case count')
    plt.grid(True)
    plt.show()
    

    结果显示如下:

    泊松分布
    一年内的枪击案发生次数的分布如上所示。可以看到1次和2次的枪击案发生概率最高。

    与二项分布对比:

    # 二项分布和泊松分布对比
    fig,ax = plt.subplots(1,1)
     
    n = 1000
    p = 0.1
    x = np.arange(80,120)
    p1, = ax.plot(x, binom.pmf(x, n, p),'b*',label = 'binom')
     
    mu = n*p
    p2, = ax.plot(x, poisson.pmf(x, mu),'ro',label = 'poisson')
     
    plt.legend(handles = [p1, p2])
    plt.title(u'possion and binomial')
    plt.show()
    

    对比

    可以看到这里当n=1000,p=0.1时, λ=100,泊松分布和二项分布已经很接近了。

    5. 指数分布

    用数学符号 X~E(λ) 表示指数分布。

    指数分布的特性:无记忆性。比如灯泡的使用寿命服从指数分布,无论他已经使用多长一段时间,假设为s,只要还没有损坏,它能再使用一段时间t 的概率与一件新产品使用时间t 的概率一样

    这个证明过程简单表示: P ( s + t ∣ s ) = P ( s + t , s ) / P ( s ) = F ( s + t ) / F ( s ) = P ( t ) P(s+t| s) = P(s+t , s)/P(s) = F(s+t)/F(s)=P(t) P(s+ts)=P(s+t,s)/P(s)=Fs+t/Fs=P(t)

    它的概率密度函数为:

    f ( x ) = { λ e − λ x x > 0 , λ > 0 0 x ≤ 0 f(x)=\begin{cases} \lambda e^{-\lambda x} & x>0,\lambda > 0\\ 0 & x\le0 \end{cases} f(x)={λeλx0x>0,λ>0x0

    期望值 E = 1 / λ E=1/λ E=1/λ,方差 D = 1 / λ 2 D=1/λ^2 D=1/λ2

    from scipy.stats import expon
    # 指数分布
    fig,ax = plt.subplots(1,1)
     
    lambdaUse = 2
    loc = 0
    scale = 1.0/lambdaUse
     
    #ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。
    x = np.linspace(expon.ppf(0.01,loc,scale),expon.ppf(0.99,loc,scale),100)
    ax.plot(x, expon.pdf(x,loc,scale),'b-',label = 'expon')
    plt.xlabel('x')
    plt.ylabel('f(x)')
    plt.title(u'expon distribution')
    plt.show()
    

    显示结果如下:

    指数分布

    6. 正态分布(高斯分布)

    用数学符号 X~N(μ,σ^2) 表示正态分布。期望值 E = μ E = μ E=μ,方差 D = σ 2 D = σ^2 D=σ2

    正态分布是比较常见的,譬如学生考试成绩的人数分布、身高分布等。

    它的概率密度函数是:

    f ( x ) = 1 2 π σ e x p ( − ( x − μ ) 2 2 σ 2 ) f(x)=\frac{1}{\sqrt{2\pi} \sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) f(x)=2π σ1exp(2σ2(xμ)2)

    from scipy.stats import norm
    # 正态分布(normal distribution)
    fig,ax = plt.subplots(1,1)
     
    loc = 1
    scale = 2.0
    
    #ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。
    x = np.linspace(norm.ppf(0.01,loc,scale),norm.ppf(0.99,loc,scale),100)
    ax.plot(x, norm.pdf(x,loc,scale),'-',label = 'norm')
     
    plt.title(u'normal distribution')
    plt.show()
    

    正态分布


    附:
    code


    参考:

    1. 概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布

    THE END.

    更多相关内容
  • 随机变量之常见分布

    千次阅读 2022-04-24 16:23:54
    0、概述 统计分析是可以帮助人们认清、刻画不确定性的方法。总体是某一特定事物可能发生结果的集合, 随机变量(Random ...常用的离散型随机变量分布包括:0-1分布、二项分布、泊松分布和二项式分布等。常用的连续...

    0、概述

            统计分析是可以帮助人们认清、刻画不确定性的方法。总体是某一特定事物可能发生结果的集合, 随机变量(Random Variable) 则是一个不确定事件结果是数值函数(Function)。也就是说,把不确定事件的结果用数值来表述,即得到随机变量。随机变量包括离散型随机变量(Discrete Random Variable) 和 连续型随机变量(Continuous Radom Variable)。常用的离散型随机变量分布包括:0-1分布、二项分布、泊松分布和二项式分布等。常用的连续型随机变量分布包括:正态分布、卡方分布、T分布和 F分布等。

    1、概率与概率分布

            概率(Probability)是用来表示事物不确定性的一种测度(Measure),根据概率的大小,我们可以判断不确定性的高低。

    1.1 离散型随机变量

    1.1.1概率质量函数(PMF)

            假设X是一个离散型随机变量,其所有可能取值为集合{ak},k=1,2,…,我们定义X的概率质量函数(Probability Mass Function) 为:

                            fX (ak) = P{ X = ak } , k = 1 , 2 , ⋯

            概率质量函数可以量化地表达随机变量X取每个数值可能性的大小

    1.1.2 累计分布密度函数(CDF)

            对于离散型随机变量,累计分布函数可以用概率质量函数累加来获得:

                            FX(a) = P{ X ≤ a } = ∑fX (ai)

    1.1.3 Python 实现

            通过Numpy包的random模块中的choice()函数可以生成服从待定的概率质量函数的随机数。

            choice()函数:

                    choice(a, size=None, replace=True, p=None)

                    参数a: 随机变量可能的取值序列。

                    参数size: 我们要生成随机数数组的大小。

                    参数replace: 决定了生成随机数时是否是有放回的。

                    参数p:为一个与x等长的向量,指定了每种结果出现的可能性。

            计算频数分布使用value_counts()函数

    # 以数组形式 
    import numpy as np 
    import pandas as pd 
    RandomNumber=np.random.choice([1,2,3,4,5],size=100, replace=True,p=[0.1,0.1,0.3,0.3,0.2]) 
    pd.Series(RandomNumber).value_counts() # 计算频数分布value_counts()函数 
    pd.Series(RandomNumber).value_counts()/100 #计算概率分布

     

    • 增大size参数,即生成随机数的数目,得到的结果则会更接近设定的概率。

    1.2 连续性随机变量

            若随机变量X是连续的,我们则不再能通过概率质量函数来刻画随机变量的随机性,对任意ak都有P { X = ak } = 0

            连续型随机变量没有PMF。对于连续型随机变量,累积分布函数FX ( a ) = P { X ≤ a } 可以表达为:

     

            其中fX = dFX(x) / dx ,被称作概率密度函数(Probability Density Function)(PDF),X的取值落在某个区间的概率可以用概率密度函数在这个区间上的积分来求得。

            算法逻辑:

    • 使用stats模块kde包中的gaussian_kde()可以估计数据的概率密度,在其中传入我们要统计的Series类型的变量名即可,得到的是一个“scipy.stats.kde.gaussian_kde”类型的对象,我们暂先给其命名为density。
    • 然后设定好分割区间,设为数组格式,暂将该对象命名为bins。
    • 注意,这次与以往绘图不同,这次是以研究的对象数据为行进行绘图。
    • 使用上边得到的数据类型density,以 density(bins)格式的语法可以得到一个以设定的分割区间为界限的概率密度数组,让将density(bins)这个对象作为行传入plot即可。
    • 如果要绘制累计分布函数图,则只需在上边的density(bins)对象后再调用一下cumsum()函数,对数组数据进行累加后在传入即可。
    # 实现概率分布
    import matplotlib.pyplot as plt
    from scipy import stats
    
    df = pd.DataFrame(np.random.normal(0,1,[100,5]),columns=["a","b","c","d","e"])
    density = stats.kde.gaussian_kde(df['a']) #研究数据格式化
    bins=np.arange(-3.2,3,0.02)  # 设定分割区间
    
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    plt.subplot(211)
    plt.plot(bins,density(bins))
    plt.title('序列a概率密度曲线图')
    plt.subplot(212)
    plt.plot(bins,density(bins).cumsum())
    plt.title('序列a累积分布函数图')
    
    plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=0.35,hspace=0.35)
    plt.show()

     

    1.3 分位数的概念

            分位数是指将一个随机变量的概率分布范围分为几个等份的数值点,用于分析数据变量的趋势。分位数分的是某个特定分布的概率密度函数曲线下的面积。常用的有中位数、四分位数、百分位数等。

            假设连续型随机变量 X的分布函数为 F(X) ,那么满足条件的 F(X0=1/4 ,称为 X或分布 F 的四分位数。也就是说,对于概率密度函数,四分位点就是将概率密度曲线下的面积均分为4部分的点。

            上 α分位数:该数值将概率密度函数曲线下的面积沿x轴分成两部分,其中该点右侧部分概率密度函数曲线与x轴围成的面积等于  α 。

            调用scipy包的stats统计模块,可以直接得出不同分布的分为点的值,相对于,查表,或使用excel,使用起来会更加便捷

              对于概率密度函数曲线,它下方的面积就是概率,因此上 α 分位数中的 α 既是该点右侧区域的面积,又是在这个分布中取到所有大于该点的值的概率。

    2、期望与方差

            可以用样本数据的平均值来刻画样本的中心位置,期望(Expectation)是随机变量所有可能取的结果的均值,用来呈现总体的中心位置。对于离散型随机变量,期望是该随机变量所有可能结果的取值与其概率的乘积之和:

      

            方差(Variance)则是:

            随机变量可能的取值有很多(比如连续型随机变量的取值为无穷),但其观测值(实际值)个数有限,因此现实中随机变量的概率分布、期望、方差等特征值通常是不可知的,推断统计就是透过其观测值的集合——样本数据来刻画这些特征的。

    3、常见分布

    3.1 离散型随机变量及其分布规律

            设离散型随机变量X的所有可能取的值为Xk(k=1,2,···),X取各个可能值的概率,即事件{X=Xk}的概率,为

                                    P{X=Xk}=pk ,k=1,2,···

            则为离散型随机变量 X 的概率分布或分布。显然,离散型随机变量的概念分布具有 

    pk >0 和 sum(pk)=1 两个基本性质。离散型随机变量的分布律也可以表示为:

     

     

            常见的离散型随机变量的概率分布:

    3.1.1 0-1分布(又称伯努利分布或两点分布)

            如果随机变量X的分布为

      

            称X服从参数为p的(0-1)分布

            0-1分布的数学期望,方差分别为

                    E(X) = p

                    D(X) = p*(1-p)

    3.1.2 二项分布

            (1) 独立重复试验

            将试验E重复进行n次,若个各次试验的结果互不影响,则称这n次试验是相互独立的或称为n次独立重复试验

            (2) n重伯努利试验

            设试验E只有两个可能结果,则称E为伯努利试验。将E独立重复进行n次,则称为n重伯努利试验

            (3)、二项概率公式

            若X表示n重伯努利试验中A发生的次数,X所有可能取的值为0,1,2,···,n

    X的分布律为

              称这样的分布为二项分布,记为X~b(n,p)

            二项分布的数学期望,方差分别为

                    E(X) = p

                    D(X) = n*p*(1-p)

            在Numpy库中可以使用binomial()函数来生成二项分布随机数。

             形式为:binomial(n, p, size=None)

            参数n是进行伯努利试验的次数,参数p是伯努利变量取值为1的概率,size是生成随机数的数量。

            研究0-1分布时,我们关注的期望是进行一次试验结果的期望值,这样的结果有两种情况,所以伯努利分布也称“两点分布”。

            而研究二项分布时,我们关注的是n次试验的结果,这样的结果有多种组合。

            为直观说明,假设二点分布结果0的概率为0.4,结果为1的概率为0.6;

            二项分布结果为0的概率为0.4,结果为1的概率为0.6,且进行十次。则:

    n = 10
    p1 = 0.6
    p2 = 0.6
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    plt.subplot(221)
    plt.bar(['0','1'], [1-p1,p1], width=0.5)
    plt.title("二点分布PMF")
    plt.subplot(222)
    plt.plot(['0','0','1','1',' '], [0, 0.4, 0.4, 1.0,1.0])
    plt.title("二点分布CDF")
    plt.subplot(223)
    b = [stats.binom.pmf(i,10,0.6) for i in range(0,11)]
    plt.bar([str(i) for i in range(0,n+1)],b)
    plt.title('二项分布PMF')
    plt.subplot(224)
    plt.title("二项分布CDF")
    c = [str(i//2) for i in range(0,2*(n+1))]
    c.append('')
    d = [stats.binom.cdf(i//2,10,0.6) for i in range(0,22)]
    d.insert(0,0)
    plt.plot(c,d)
    plt.show()

     

            当np≥10,n(1-p)≥10都满足时,二项分布可以近似为正态分布

    3.1.3 泊松分布

            设随机变量所有可能取的值为0,1,2,···,而取各个值的概率为

     

            其中λ>0是常数。则称X服从参数为λ的泊松分布,记为X~π(λ)

            n->+∞时,λ=np,二项分布=泊松分布

            泊松分布的数学期望,方差分别为

                    E(X) = λ

                    D(X) = λ

    3.1.4 几何分布

            P(X=k)=p⋅qk−1

            期望 :E ( X ) = 1/p

            方差:D ( X ) =p/ q 2

    3.1.5 超几何分布

            如果有N个产品,其中有M个次品,从中随机抽取n个,这n个产品中含有次品的个数是一个离散型随机变量,概率分布为:

      

            超几何分布的数学期望和方差分别为:

      

    3.2 连续型随机变量及其分布规律

    3.2.1 均匀分布

     

            记为X~U(a,b)

            分布函数:

      

    3.2.2 指数分布

     

            分布函数:

      

    3.2.3 正态分布

     

            记为X~N(μ,σ2)

            标准正态分布:N(0,1)。即:

      

            正态分布的分布函数为

      

            正态分布随机数的生成函数是normal(),其语法为:

            normal(loc=0.0, scale=1.0, size=None)

    • 参数loc:表示正态分布的均值
    • 参数scale:表示正态分布的标准差,默认为1
    • 参数size:表示生成随机数的数量
    # 生成五个标准正态分布随机数
    Norm = np.random.normal(size=5)
    # 求生成的正态分布随机数的密度值
    stats.norm.pdf(Norm)
    # 求生成的正态分布随机数的累积密度值
    stats.norm.cdf(Norm)
    
    # 绘制正态分布PDF
    # 注意这里使用的pdf和cdf函数是norm包里的
    u=0  
    sigma=1
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.title('X~N({},{})正态分布PDF'.format(u,sigma**2))
    x = np.linspace(-5,5,100000)  # 设定分割区间
    y1 = stats.norm.pdf(x,u,sigma**2)
    plt.plot(x,y1)
    plt.tight_layout()  # 自动调整子图,使之充满画布整个区域
    plt.show()
    
    # 绘制正态分布CDF
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.title('X~N({},{})正态分布CDF'.format(u,sigma**2))
    x = np.linspace(-5,5,100000)  # 设定分割区间
    y2 = stats.norm.cdf(x,u,sigma**2)
    plt.plot(x,y2)
    plt.tight_layout()  
    plt.show()

     

     

    3.2.2 卡方分布

            若Z1, Z2, … Zn,为n个服从标准正态分布的随机变量,则变量:

      

            服从自由度为n的卡方分布,因为n的取值可以不同,所以卡方分布是一族分布而不是一个单独的分布。根据X的表达式,服从卡方分布的随机变量值不可能取负值,其期望值为n,方差为2n。

            随机变量X的概率密度为

      

            则称X服从自由度为n的卡方分布,记作X~ χ 2 (n)。

    plt.plot(np.arange(0, 5, 0.002),\
    stats.chi.pdf(np.arange(0, 5, 0.002), 3))
    plt.title('卡方分布PDF(自由度为3)')

             卡方分布以0为起点,分布是偏斜的,即非对称的,在自由度为3的卡方分布下,大多数值都小于8,查表可知只有5%的值大于7.82%。

    3.2.3 T分布

            若随机变量Z ~ N ( 0 , 1 ) ,Y ~ χ 2 ( n ) ,且二者相互独立,则变量

      

            服从自由度为n的t分布,可以记作X ~t ( n )。

            随机变量X的概率密度为:

      

            类似卡方分布,t分布也是整整一族,自由度n不同t分布即不同。

            t分布变量取值范围为(− ∞ , + ∞ ),其期望值与方差存在于否,取值大小均与t分布的自由度有关。

    • t(1)分布无有限期望值。
    • t(2)有有限期望值,但方差不存在。
    • n>2时,t(n)才同时有有限的期望值和方差,其中期望值为0,方差为n/(n-2),因此自由度越大,变量的方差越小,也就是说分布的离散程度越小。
    x = np.arange(-4,4.004,0.004)
    plt.plot(x, stats.norm.pdf(x), label='Normal')
    plt.plot(x, stats.t.pdf(x,5), label='df=5')
    plt.plot(x, stats.t.pdf(x,30), label='df=30')
    plt.legend()

             t分布的pdf曲线是以0为中心,左右对称的单峰分布,其形态变化与自由度n的大小有关,自由度越小,分布越分散;自由度越大,变量在其均值周围的聚集程度越高,也越接近标准正态分布曲线。

            自由度为30时,t分布已经接近标准正态分布曲线。相较于标准正态分布,t分布的密度函数呈现出“尖峰厚尾”的特点。在现实中资产收益率分布往往呈现这种形态,因此t分布在对实际抽样结果的刻画上更为精确。t分布是在推断统计中常用的分布。

    3.2.4 F分布

            若Z,Y为两个独立的随机变量,且Z~χ 2 (n1) 、Y ~ χ 2 ( n2) ,则变量X = (Z /n1) / (Y / n2) 服从第一自由度为n1,第二自由度为n2的F分布。记作X~F ( n1, n2 ) 。

            随机变量X的概率密度为

      

            变量X是两个卡方变量(非负)之比,因此X的取值范围也为非负,其期望和方差存在于否取决于第二自由度n。

            n > 2时,才存在期望,为n / n − 2

            n > 4时,才存在方差,为[2n^2( m + n − 2 )] / [m ( n − 2 )^2 ( n − 4 )]

    ​plt.plot(np.arange(0,5,0.002),\
    stats.f.pdf(np.arange(0,5,0.002), 4, 40))
    plt.title('F分布PDF(df1=4, df2=40)')

     

     

    展开全文
  • 详细介绍各种常见分布

    千次阅读 多人点赞 2021-04-24 16:23:26
    写在前面:本文主要介绍常见分布,如伯努利分布、二项分布、负二项分布、几何分布、超几何分布、泊松分布、正态分布(也称高斯分布)、均匀分布、指数分布、β分布(贝塔分布)、Γ分布(伽马分布),其中前6个为...

            写在前面:本文主要介绍常见的分布,如伯努利分布、二项分布、负二项分布、几何分布、超几何分布、泊松分布、正态分布(也称高斯分布)、均匀分布、指数分布、β分布(贝塔分布)、Γ分布(伽马分布)、极值分布,其中前6个为离散随机变量的分布,后6个为连续随机变量的分布。
            声明:本文写的较为详细,旨在为那些基础薄弱甚至是零基础的人提供帮助,因此对于有一定的基础的人,可能会觉得过于繁琐甚至是啰嗦。故大家可以根据自己的情况选择性的看。此外,由于个人水平限制,可能存在错误,如有发现错误请留言告知,不胜感激!
    —————————————————————————————

    1 随机变量

            我们常说的分布基本都是这对随机变量而言的,那么什么是随机变量呢?大部分概率论书中的标准定义为:随机变量表示样本空间上实验结果的实值函数。也就是说随机变量其实是一个函数,这个应该怎么去理解呢?这个定义有三个关键点:一是样本空间,二是实验结果,三是实值函数。我们通过这三点来彻底理解随机变量。样本空间是指随机试验所有可能结果组合的集合。如一个骰(读tou)子,掷一次,所有可能出现的点数为1、2、3、4、5、6,那么样本空间即为这些结果组合的集合 S = { 1 , 2 , 3 , 4 , 5 , 6 } S = \{ 1,2,3,4,5,6\} S={1,2,3,4,5,6}。再如你在8:15分到达公共汽车站,你还需要等多久才有汽车才能来?假设公共汽车为15分钟一班的话,那么样本空间即为 S = { t ∣ 0 ⩽ t ⩽ 15 } S =\{t |0 \leqslant t \leqslant 15 \} S={t0t15}实验结果即是样本空间中的元素,如骰子的点数,你等公共汽车的时间等。而样本空间的子集则构成了随机事件,如骰子点数为1,骰子点数大于4(即对应骰子点数为5或6)。实值函数是指实验结果是一个函数,但这个函数与我们常见的函数有点不一样。首先它是定义在样本空间中的,而非我们常见的实数轴上,即该函数的定于域为样本空间;其次是这个函数取值有一定的规律,这个规律就是概率
            抛开上面的细节,我们以一种非常简单的、不严谨的说法来解释随机变量,那就是:该变量取值不确定,有多个可能的取值,但每个取值有一定的规律(即概率)
            了解了随机变量之后,根据随机变量可能取值结果的性质,分为离散随机变量和连续随机变量,前者表示取值结果是离散的,如骰子的点数;后者表示变量取值结果是连续的,如你等公共汽车的时间。

    2 随机变量的分布

            所谓的随机变量的分布,即我们用一种统一的描述方法来描述随机变量的可能取值及其取值的规律,这种统一的方法就是**概率质量函数或分布函数或概率密度函数。**因此,这种统一的描述方法必须满足两点:一是能描述清楚随机变量所有可能的取值,二是每个取值对应的概率。我们常说某个随机变量服从某个分布,那就是说明我们通过这个分布可以知道随机变量可以取哪些值以及对应的取值概率。在得到某个分布的分布函数之后,我们还希望初步了解一下这个分布的特点,即随机变量取值的特点或性质,如 期望( E [ X ] E[X] E[X])和方差( V a r [ X ] Var[X] Var[X],期望描述的是随着样本趋向于无穷大,该随机变量的平均取值是多少,方差描述的是实际取值与平均取值直接的偏离程度。
            故接下来的讲解也主要围绕 分布函数、期望和方差这三个方面
            期望和方差的定义具体如下:
    (1)离散随机变量
    E [ X ] = ∑ x x P ( X = x ) E[X] = \sum\limits_x {xP(X = x)} E[X]=xxP(X=x)
    V a r [ X ] = E [ ( x − E [ x ] ) 2 ] = E [ X 2 ] − ( E [ X ] ) 2 Var[X] = E[{(x - E[x])^2}] = E[{X^2}] - {(E[X])^2} Var[X]=E[(xE[x])2]=E[X2](E[X])2
    (2)连续随机变量
    E [ X ] = ∫ − ∞ ∞ x f ( x ) d x E[X] = \int_{ - \infty }^\infty {xf(x)dx} E[X]=xf(x)dx
    V a r [ X ] = ∫ − ∞ ∞ ( x − E [ X ] ) 2 f ( x ) d x Var[X] = \int_{ - \infty }^\infty {{{\left( {x - E[X]} \right)}^2}f(x)dx} Var[X]=(xE[X])2f(x)dx
    :(1)大写的字母表示随机变量,如 X X X,小写的字母表示该随机变量具体取值,如 x x x。因此 X = x X=x X=x表示随机变量 X X X取值为 x x x
    (2)对于后文提到的伯努利试验,我们将混用事件A发生和试验成功,即这两个表述是同一个意思。

    3 离散型随机变量的分布

    3.1 伯努利分布(Bernoulli Distribution)

            伯努利分布是指实验结果只有两种,如某种情况发生与不发生,病人康复与不康复,硬币的正面或反面,我们一般用0和1来表示这两种结果,因此伯努利分布有时也被称为0-1分布或是两点分布。通常假设事件发生的概率为 p p p 0 < p < 1 0<p<1 0<p<1,那么不发生的概率是 1 − p 1-p 1p(或称之为 q = 1 − p q=1-p q=1p),即 P r ( X = 1 ) = p {P_r}(X =1) = p Pr(X=1)=p, P r ( X = 0 ) = 1 − p {P_r}(X = 0) =1- p Pr(X=0)=1p。我们称 p p p为伯努利分布的参数。
    其相应的概率质量函数(此处注意:所谓的概率质量函数,是专门针对离散随机变量而言,是指随机变量取某个值的可能性,在连续随机变量的分布中,我们一般称之为概率密度函数)为 P ( X = x ) = p x ( 1 − p ) 1 − x = { p x = 1 1 − p x = 0 P(X=x) = {p^x}{(1 - p)^{1 - x}} = \left\{ \begin{array}{l} p{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} x = 1\\ 1 - p{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} x = 0\end{array} \right. P(X=x)=px(1p)1x={px=11px=0
            好了,我们已经描述完了这个随机变量的取值以及它的取值规律,但通常情况下我们还想知道这个随机变量一些基本的性质,即期望和方差。根据前面的计算公式,可得到伯努利分布的期望和方差分别为:
    E [ X ] = ∑ x x P ( X = x ) = 1 ∗ p + 0 ∗ ( 1 − p ) = p E[X] = \sum\limits_x {xP(X = x)}=1*p+0*(1-p) =p E[X]=xxP(X=x)=1p+0(1p)=p
    V a r [ X ] = E [ X 2 ] − ( E [ X ] ) 2 = p − p 2 = p ( 1 − p ) Var[X] = E[{X^2}] - {(E[X])^2}=p-p^2=p(1-p) Var[X]=E[X2](E[X])2=pp2=p(1p)

    3.2 二项分布(Binomial Distribution)

            将伯努利分布中的随机试验称为伯努利试验,将该试验的结果从1次推广到 n n n次,即形成了二项分布。因此,二项分布是指在 n n n次重复试验(此处称为重复试验是因为每一次试验都是完全一样的伯努利试验)中,事件A发生的次数服从的分布。如我们连续掷10次硬币,其中正面朝上的次数?如连续掷3次骰子,点数大于3的次数?
            记事件 { X = k } \{X=k\} {X=k}表示在 n n n次试验中,事件 X X X恰好发生 k k k次。注意,我们只说了发生 k k k次,却没有要求知道这 k k k次是具体哪几次。由于伯努利试验中事件发生的概率是 p p p,根据排列组合知识,事件发生了 k k k次的概率为:
    P { X = k } = C n k p k ( 1 − p ) n − k = ( n k ) p k ( 1 − p ) n − k = n ! ( n − k ) ! k ! p k ( 1 − p ) n − k P\{X=k\}=C_n^k{p^k}{(1-p)^{n - k}}=\left( \begin{array}{l} n\\ k \end{array} \right){p^k}{(1-p)^{n - k}}=\frac{n!}{(n-k)!k!}{p^k}{(1-p)^{n - k}} P{X=k}=Cnkpk(1p)nk=(nk)pk(1p)nk=(nk)!k!n!pk(1p)nk
    该式也是二项分布的概率质量函数。
    二项分布的期望和方差分别为:
    E [ X ] = n p , V a r [ X ] = n p ( 1 − p ) E[X] =np,Var[X] = np(1-p) E[X]=np,Var[X]=np(1p)
    具体推导过程如下:
    E [ X ] = ∑ k = 0 n k ⋅ P { X = k } = ∑ k = 0 n k ⋅ C n k p k ( 1 − p ) n − k = ∑ k = 1 n n C n − 1 k − 1 p k ( 1 − p ) n − k = n ∑ k = 1 n C n − 1 k − 1 p k ( 1 − p ) n − k = n p ∑ k = 1 n C n − 1 k − 1 p k − 1 ( 1 − p ) n − k = n p ( p + 1 − p ) n − 1 = n p \begin{array}{l} E[X] = \sum\limits_{k = 0}^n {k \cdot P\{ X = k\} } {\kern 1pt} = \sum\limits_{k = 0}^n {k \cdot C_n^k{p^k}{{(1 - p)}^{n - k}}} \\ {\kern 22pt} = \sum\limits_{k = 1}^n {nC_{n - 1}^{k - 1}{p^k}{{(1 - p)}^{n - k}}} = n\sum\limits_{k = 1}^n {C_{n - 1}^{k - 1}{p^k}{{(1 - p)}^{n - k}}} \\ {\kern 22pt} = np\sum\limits_{k = 1}^n {C_{n - 1}^{k - 1}{p^{k - 1}}{{(1 - p)}^{n - k}}} = np{(p + 1 - p)^{n - 1}} = np \end{array} E[X]=k=0nkP{X=k}=k=0nkCnkpk(1p)nk=k=1nnCn1k1pk(1p)nk=nk=1nCn1k1pk(1p)nk=npk=1nCn1k1pk1(1p)nk=np(p+1p)n1=np
    其中第三个等号是因为 k ⋅ C n k = n ⋅ C n − 1 k − 1 k \cdot C_n^k=n \cdot C_{n-1}^{k-1} kCnk=nCn1k1,倒数第二个等号是根据二项展开式 ( a + b ) n = ∑ k = 0 n C n k a k b n − k (a+b)^n=\sum\limits_{k=0}^n{C_n^ka^kb^{n-k}} (a+b)n=k=0nCnkakbnk
    E [ X 2 ] = ∑ k = 0 n k 2 ⋅ P { X = k } = ∑ k = 0 n k 2 ⋅ C n k p k ( 1 − p ) n − k = ∑ k = 1 n k n C n − 1 k − 1 p k ( 1 − p ) n − k = n p ∑ k = 1 n k C n − 1 k − 1 p k − 1 ( 1 − p ) n − k = n p ( ∑ k = 1 n ( k − 1 ) C n − 1 k − 1 p k − 1 ( 1 − p ) n − k + ∑ k = 1 n C n − 1 k − 1 p k − 1 ( 1 − p ) n − k ) = n p ( p ∑ k = 2 n ( n − 1 ) C n − 2 k − 2 p k − 2 ( 1 − p ) n − k + ∑ k = 1 n C n − 1 k − 1 p k − 1 ( 1 − p ) n − k ) = n p ( p ( n − 1 ) + 1 ) = n p ( n p + 1 − p ) \begin{array}{l} E[{X^2}] = \sum\limits_{k = 0}^n {{k^2} \cdot P\{ X = k\} } {\kern 1pt} = \sum\limits_{k = 0}^n {{k^2} \cdot C_n^k{p^k}{{(1 - p)}^{n - k}}} \\ {\kern 26pt} = \sum\limits_{k = 1}^n {knC_{n - 1}^{k - 1}{p^k}{{(1 - p)}^{n - k}}} {\kern 1pt} {\kern 1pt} = np\sum\limits_{k = 1}^n {kC_{n - 1}^{k - 1}{p^{k - 1}}{{(1 - p)}^{n - k}}} \\ {\kern 26pt} = np\left( {\sum\limits_{k = 1}^n {(k - 1)C_{n - 1}^{k - 1}{p^{k - 1}}{{(1 - p)}^{n - k}}} + \sum\limits_{k = 1}^n {C_{n - 1}^{k - 1}{p^{k - 1}}{{(1 - p)}^{n - k}}} } \right)\\ {\kern 26pt} = np\left( {p\sum\limits_{k = 2}^n {(n - 1)C_{n - 2}^{k - 2}{p^{k - 2}}{{(1 - p)}^{n - k}}} + \sum\limits_{k = 1}^n {C_{n - 1}^{k - 1}{p^{k - 1}}{{(1 - p)}^{n - k}}} } \right)\\ {\kern 26pt} = np\left( {p(n - 1) + 1} \right) = np(np+1 - p) \end{array} E[X2]=k=0nk2P{X=k}=k=0nk2Cnkpk(1p)nk=k=1nknCn1k1pk(1p)nk=npk=1nkCn1k1pk1(1p)nk=np(k=1n(k1)Cn1k1pk1(1p)nk+k=1nCn1k1pk1(1p)nk)=np(pk=2n(n1)Cn2k2pk2(1p)nk+k=1nCn1k1pk1(1p)nk)=np(p(n1)+1)=np(np+1p)
    再根据前面推导的方差公式可得:
    D [ X ] = E [ X 2 ] − ( E [ X ] ) 2 = n p ( n p − p + 1 ) − ( n p ) 2 = n p ( 1 − p ) D[X]=E[X^2]-(E[X])^2 =np(np-p+1)-(np)^2=np(1-p) D[X]=E[X2](E[X])2=np(npp+1)(np)2=np(1p)

    我们称 n n n p p p为二项分布的参数,因此通常我们用 X ∼ B ( n , p ) X \sim B(n,p) XB(n,p)来简记随机变量 X X X服从参数为 n n n p p p的二项分布。有了这两个参数,我们就可以知道该分布的大致情况。为了让大家更直观的了解二项分布的特点,我用Python做了一个小小的模拟,具体代码如下:

    #加载相关库
    import numpy as np 
    import matplotlib.pyplot as plt
    from scipy import stats
    
    from matplotlib import font_manager #加载相关字体模块
    
    #先确定字体,以免无法识别汉字
    my_font = font_manager.FontProperties(fname=
     "C:/Windows/Fonts/msyh.ttc")#此处文件地址是本人电脑上微软雅黑字体所在位置
    
    for n in range(5,30,5): #此处用for循环来表示试验的总次数
        p = 0.3 #伯努利试验的事件发生概率
        k = np.arange(0,20) #表示在n次试验中发生了k次
        binomial = stats.binom.pmf(k,n,p) #计算P{X=k}
        plt.plot(k, binomial, 'o-',label='n=%i'%n) #画图
        plt.legend() #显示图例
        
    plt.title('二项分布:p=0.3',fontproperties=my_font) #图名
    
    plt.xlabel('事件发生次数',fontproperties=my_font) #X轴名称
    
    plt.ylabel('事件发生次数对应的概率',fontproperties=my_font) #Y轴名称
    
    plt.grid(True) #显示网格线
    
    plt.show() #显示所画的图
    

    :本文所有代码使用的是Python3,每条语句都加了注释,是为了方便没有基础的人理解。
    代码运行结果如下图所示:
    在这里插入图片描述
            在上面的模拟中,我们假设 p = 0.3 p=0.3 p=0.3,分别模拟了 n n n为5、10、15、20、25的情况,在 n n n次试验中,我们假设事件发生次数为 k k k,我们模拟了 k k k从0到20的情况。
            从上图中我们发现一个现象,即随着 n n n的增大,二项分布的图像越来越像正态分布,这说明我们采取一个足够大的 n n n,就可以用二项分布来近似正态分布。其实这点是可以通过严格的数学来证明,本文就不证明了。在实际问题处理中,会经常碰到用二项分布来近似正态分布,使得问题便于求解计算。

    3.3 多项式分布(Multinomial Distribution) … \ldots

            多项式分布在一般的概率书籍提及较少,但其在热力学领域使用较多。二项分布是将一次伯努利试验推广至 n n n次试验,每次试验只有两个结果,求其中一个结果发生 k k k次的概率,而多项式分布则是每次试验中有 m m m个结果( m > 2 m >2 m>2),求 n n n次试验中每个结果发生的次数 k 1 , k 2 , k_1,k_2, k1,k2, … \ldots k m k_m km的概率(其中 k 1 + k 2 + … + k m = n k_1+k_2+\ldots+k_m=n k1+k2++km=n),因此多项式分布是二项分布的推广。举个具体例子说明一下这个,抛一次硬币,正面朝上的概率,这是伯努利分布;抛 n n n次硬币,正面朝上的次数为 k k k次的概率,这是二项分布;掷 n n n次骰子,出现1点的次数为 k 1 k_1 k1,出现2点的次数为 k 2 k_2 k2,……以及出现6点的次数为 k 6 k_6 k6的概率。
    多项式分布的概率质量函数为:
    P ( X 1 = k 1 , ⋯   , X m = k m ) = { n ! k 1 ! , ⋯   , k m ! p 1 k 1 ⋯ p m k m w h e n ∑ i = 1 m k i = n 0 o t h e r w i s e P({X_1} = {k_1}, \cdots ,{X_m} = {k_m}) = \left\{ \begin{array}{l} \frac{{n!}}{{{k_1}!, \cdots ,{k_m}!}}{p_1^{{k_1}}} \cdots {p_m^{{k_m}}}{\kern 6pt}when{\kern 4pt} \sum\limits_{i = 1}^m {{k_i} = n} \\ 0{\kern 98pt} otherwise \end{array} \right. P(X1=k1,,Xm=km)=k1!,,km!n!p1k1pmkmwheni=1mki=n0otherwise
    其中, p 1 + ⋯ + p m = 1 p_1+\cdots+p_m=1 p1++pm=1
            二项分布的概率公式理解起来比较直观,而多项式的概率公式理解起来可能费力一些,下面我们大致讲解一些多项式分布的由来。
    首先,针对 p 1 + ⋯ + p m = 1 p_1+\cdots+p_m=1 p1++pm=1,因为一次试验会有 m m m个结果,这些结果发生的概率相加为1,这是比较直观的。
    其次,我们先推导一个多项式定理:
    ( x 1 + x 2 + ⋯ + x m ) n = ∑ n ! r 1 ! r 2 ! ⋯ r m ! x 1 r 1 ⋯ x k r m {({x_1} + {x_2} + \cdots + {x_m})^n} = \sum {\frac{{n!}}{{{r_1}!{r_2}! \cdots {r_m}!}}x_1^{{r_1}} \cdots x_k^{{r_m}}} (x1+x2++xm)n=r1!r2!rm!n!x1r1xkrm
            我们知道 ( x 1 + x 2 + ⋯ + x m ) n {(x_1+x_2+\cdots+x_m)^n} (x1+x2++xm)n是由 n n n ( x 1 + x 2 + ⋯ + x m ) (x_1+x_2+\cdots+x_m) (x1+x2++xm)相乘,根据多项式相乘的规律可知,相乘展开后的结果相当于从这 n n n ( x 1 + x 2 + ⋯ + x m ) (x_1+x_2+\cdots+x_m) (x1+x2++xm)中分别取一个 x i {x_i} xi相乘,因此所有的展开项中肯定有 x 1 r 1 ⋯ x m r m x_1^{{r_1}} \cdots x_m^{{r_m}} x1r1xmrm项,且有 r 1 + ⋯ + r m = n r_1+\cdots+r_m=n r1++rm=n。接下来的问题是 x 1 r 1 ⋯ x k r m x_1^{{r_1}} \cdots x_k^{{r_m}} x1r1xkrm的系数是多少?我们可以这样看待这个问题: x 1 r 1 ⋯ x m r m x_1^{{r_1}} \cdots x_m^{{r_m}} x1r1xmrm就相当于我们从 n n n个式子中选取 r 1 r_1 r1 x 1 x_1 x1,选取 r 2 r_2 r2 x 2 x_2 x2……选取 r m r_m rm x m x_m xm,这样的选法有多少种呢?根据排列组合相关知识,可知选法有: C n r 1 C n − r 1 r 2 ⋯ C n − r 1 − r 2 − ⋯ r m − 1 r m = n ! r 1 ! ( n − r 1 ) ! ( n − r 1 ) ! r 2 ! ( n − r 1 − r 2 ) ! ⋯ ( n − r 1 − ⋯ r m − 1 ) ! r m ! ( n − r 1 − r 2 ⋯ r m ) ! = n ! r 1 ! r 2 ! ⋯ r m ! \begin{array}{l} C_n^{{r_1}}C_{n - {r_1}}^{{r_2}} \cdots C_{n - {r_1} - {r_2} - \cdots {r_{m - 1}}}^{{r_m}} = \frac{{n!}}{{{r_1}!(n - {r_1})!}}\frac{{(n - {r_1})!}}{{{r_2}!(n - {r_1} - {r_2})!}} \cdots \frac{{(n - {r_1} - \cdots {r_{m - 1}})!}}{{{r_m}!(n - {r_1} - {r_2} \cdots {r_m})!}}\\ = \frac{{n!}}{{{r_1}!{r_2}! \cdots {r_m}!}} \end{array} Cnr1Cnr1r2Cnr1r2rm1rm=r1!(nr1)!n!r2!(nr1r2)!(nr1)!rm!(nr1r2rm)!(nr1rm1)!=r1!r2!rm!n!
    注意因为有 r 1 + ⋯ + r m = n r_1+\cdots+r_m=n r1++rm=n,所以第一个等式中的最后一项的分母为 r m ! r_m! rm!。所以我们得到 x 1 r 1 ⋯ x m r m x_1^{{r_1}} \cdots x_m^{{r_m}} x1r1xmrm的系数为 n ! r 1 ! r 2 ! ⋯ r m ! \frac{{n!}}{{{r_1}!{r_2}! \cdots {r_m}!}} r1!r2!rm!n!,而 r 1 , ⋯ r m r_1,\cdots r_m r1,rm的取值是从0到 n n n,所以上述多项式的展开式需求和,即可得上述的多项式定理(令 m = 2 m=2 m=2时即可得到大家熟悉的二项式展开式的形式) ( x 1 + x 2 + ⋯ + x m ) n = ∑ n ! r 1 ! r 2 ! ⋯ r m ! x 1 r 1 ⋯ x m r m {({x_1} + {x_2} + \cdots + {x_m})^n} = \sum {\frac{{n!}}{{{r_1}!{r_2}! \cdots {r_m}!}}x_1^{{r_1}} \cdots x_m^{{r_m}}} (x1+x2++xm)n=r1!r2!rm!n!x1r1xmrm
            有了上述的二项式定理,我们回到多项式的概率公式中来,因为我们做 n n n次试验,每次试验有 m m m种结果,其对应的发生概率分别为 p 1 , ⋯ p m , p_1,\cdots p_m, p1,pm,那么 n n n次试验中结果1发生的次数为 k 1 k_1 k1,结果2发生的次数为为 k 2 k_2 k2,结果 m m m发生的次数为 k m k_m km的概率就相当于上述多项式定理中的某一项,因此可得多项式的概率公式。
            因为多项式分布的随机变量不止一个(有 X 1 , ⋯ X m X_1,\cdots X_m X1,Xm个),所以相比于其他分布的期望和方差,它还多一个协方差。由于该分布在经管领域使用不多,因此我们简单的给出期望、方差以及协方差( C o v Cov Cov)的结果,需要具体推导过程的请留言。
            因为多项式分布是二项分布的推广,因此其期望和方差和二项分布一样:
    E [ X i ] = n p i E[X_i]=np_i E[Xi]=npi D [ X i ] = n p i ( 1 − p i ) D[X_i]=np_i(1-p_i) D[Xi]=npi(1pi) C o v ( X i , X j ) = E ( X i ⋅ X j ) − E ( X i ) ⋅ E ( X j ) = − n p i p j Cov(X_i,X_j)=E(X_i\cdot X_j)-E(X_i)\cdot E(X_j)=-np_ip_j Cov(Xi,Xj)=E(XiXj)E(Xi)E(Xj)=npipj

    3.3 负二项分布(Negative Binomial Distribution)

            从字面意义上理解,负二项分布和二项分布只有一字之差,那什么叫负二项分布(也称帕斯卡分布)呢?二项分布是指在 n n n次试验中事件A发生的次数(或称试验成功的次数),而负二项分布是指当事件A累积没有发生 r r r次时,事件A发生的次数。它的试验过程是这样的:将伯努利试验做了 X = k + r X=k+r X=k+r次,在前 k + r − 1 k+r-1 k+r1次试验中,事件A发生了 k k k次,没有发生的次数是 r − 1 r-1 r1,而在第 k + r k+r k+r次试验时,事件A刚好又没有发生,此时事件A累积没有发生的次数为 r r r次,而 k k k即服从负二项分布,记为 K ∼ N B ( r , p ) K∼NB(r,p) KNB(r,p) r , p r,p r,p为负二项分布的参数。
    注意:关于负二项分布,上面的定义不是唯一的。目前常见的大概有以下四种:(1)每次成功率为 p p p的实验,达到 r r r次成功所需的试验次数,此时该随机变量最小取值为 r r r;(2)每次成功率为 p p p的实验,达到 r r r次成功前的失败次数,此时随机变量最小取值为0,本文采用这种定义;(3)每次失败率为 p p p的实验,达到 r r r次成功所需的试验次数,随机变量的最小取值为 r r r;(4)每次失败率为 p p p的实验,达到 r r r次成功前的失败次数,随机变量的最小取值为0。其实前面两种和后面两种只是把试验成功的概率和失败的概率互换了一下而已。
    根据上面的分析过程,我们可以得到负二项分布的概率质量函数为:
    P { X = k } = C k + r − 1 k p k ( 1 − p ) r = ( k + r − 1 k ) p k ( 1 − p ) r P\{ X = k\} = C_{k + r - 1}^k{p^k}{(1 - p)^r} = \left( \begin{array}{l} k + r - 1\\ k \end{array} \right){p^k}{(1 - p)^r} P{X=k}=Ck+r1kpk(1p)r=(k+r1k)pk(1p)r
    我们将 C k + r − 1 k C_{k + r - 1}^k Ck+r1k展开得:
    C k + r − 1 k = ( k + r − 1 ) ! k ! ( r − 1 ) ! = ( k + r − 1 ) ( k + r − 2 ) ⋯ ( r ) k ! = ( − 1 ) k ( − r ) ( − r − 1 ) ( − r − 2 ) ⋯ ( − r − k + 1 ) k ! = ( − 1 ) k ( − r k ) \begin{array}{l} C_{k + r - 1}^k = \frac{{(k + r - 1)!}}{{k!(r - 1)!}} = \frac{{(k + r - 1)(k + r - 2) \cdots (r)}}{{k!}} \\ ={( - 1)^k}\frac{{( - r)( - r - 1)( - r - 2) \cdots ( - r - k + 1)}}{{k!}} \\ ={( - 1)^k} \left( \begin{aligned} -r\\k \end{aligned} \right) \end{array} Ck+r1k=k!(r1)!(k+r1)!=k!(k+r1)(k+r2)(r)=(1)kk!(r)(r1)(r2)(rk+1)=(1)k(rk)
    也正是因为上面二项式系数部分又负的,所以才叫负二项分布。
    其对应的期望和方差分别为:
    E [ X ] = ∑ k = 0 ∞ k P { X = k } = ∑ k = 0 ∞ k C k + r − 1 k p k ( 1 − p ) r = ∑ k = 0 ∞ k ( k + r − 1 ) ! k ! ( r − 1 ) ! p k ( 1 − p ) r = ∑ k = 0 ∞ ( k + r − 1 ) ! ( k − 1 ) ! ( r − 1 ) ! p k ( 1 − p ) r = ∑ k = 0 ∞ ( k + r − 1 ) ( k + r − 2 ) ⋯ ( r + 1 ) ( r ) ( k − 1 ) ! p ( 1 − p ) − 1 p k − 1 ( 1 − p ) r + 1 = r p ( 1 − p ) − 1 ∑ k = 0 ∞ ( k + r − 1 ) ( k + r − 2 ) ⋯ ( r + 1 ) ( k − 1 ) ! p k − 1 ( 1 − p ) r + 1 = r p 1 − p ∑ k = 0 ∞ ( ( k − 1 ) + ( r + 1 ) − 1 ) ! r ! ( k − 1 ) ! p k − 1 ( 1 − p ) r + 1 = r p 1 − p \begin{array}{l} E[X] = \sum\limits_{k = 0}^\infty {kP\{ X = k\} } \\ = \sum\limits_{k = 0}^\infty {kC_{k + r - 1}^k{p^k}{{(1 - p)}^r}} \\ = \sum\limits_{k = 0}^\infty {k\frac{{\left( {k + r - 1} \right)!}}{{k!(r - 1)!}}{p^k}{{(1 - p)}^r}} \\ = \sum\limits_{k = 0}^\infty {\frac{{(k + r - 1)!}}{{(k - 1)!(r - 1)!}}{p^k}{{(1 - p)}^r}} \\ = \sum\limits_{k = 0}^\infty {\frac{{(k + r - 1)(k + r - 2) \cdots (r + 1)(r)}}{{(k - 1)!}}p{{(1 - p)}^{ - 1}}{p^{k - 1}}{{(1 - p)}^{r + 1}}} \\ = rp{(1 - p)^{ - 1}}\sum\limits_{k = 0}^\infty {\frac{{(k + r - 1)(k + r - 2) \cdots (r + 1)}}{{(k - 1)!}}{p^{k - 1}}{{(1 - p)}^{r + 1}}} \\ = \frac{{rp}}{{1 - p}}\sum\limits_{k = 0}^\infty {\frac{{((k - 1) + (r + 1) - 1)!}}{{r!(k - 1)!}}{p^{k - 1}}{{(1 - p)}^{r + 1}}} \\ = \frac{{rp}}{{1 - p}} \end{array} E[X]=k=0kP{X=k}=k=0kCk+r1kpk(1p)r=k=0kk!(r1)!(k+r1)!pk(1p)r=k=0(k1)!(r1)!(k+r1)!pk(1p)r=k=0(k1)!(k+r1)(k+r2)(r+1)(r)p(1p)1pk1(1p)r+1=rp(1p)1k=0(k1)!(k+r1)(k+r2)(r+1)pk1(1p)r+1=1prpk=0r!(k1)!((k1)+(r+1)1)!pk1(1p)r+1=1prp
    上述推导中最为关键的是倒数第二个等于号中,那串求和计算结果是为1,因此才有了最后一个等式。至于为什么等于1,本人还在查资料,后面会进行更正。
    方差让同样的方法即可推导出,先求 E [ X 2 ] E[X^2] E[X2],再用公式即可。
    注意:此处有很多资料推导的结果是 r p \frac{r}{p} pr,那是因为他将事件A发生概率记为 p p p,当事件刚好发生 r r r次时,总的试验次数为多少?也即使用的定义是上面说的第一个定义,而本文采用的是第二个定义。
    关于负二项分布的Python模拟,这里就不模拟了,因为其分布图像和二项分布是差不多形状的。

    3.4 几何分布(Geometric distribution)

            几何分布是指重复进行成功率为 p p p伯努利试验,进行到第 k k k次试验才首次成功。回忆上面的注解中关于负二项分布的第二个定义,发现几何分布是负二项分布中 r = 1 r=1 r=1的特例。几何分布在实际生活中也比较常见,如某人打靶命中率为 p p p,那么他打多少次才能打中靶?如加工某个零件,其不合格率为0.05,那么首次加工出不合格零件时已加工了多少个零件?我们一般将几何分布记为 X ∼ G E ( p ) X∼GE(p) XGE(p) p p p是其参数。
    几何分布的概率质量函数或分布列为:
    P { X = k } = ( 1 − p ) k − 1 p , k = 1 , 2 , ⋯ P\{ X = k\} = {(1-p)^{k-1}}{ p},k=1,2,\cdots P{X=k}=(1p)k1pk=1,2,
    几何分布的期望和方差分别为:
    E [ X ] = ∑ k = 1 ∞ k ( 1 − p ) k − 1 p = p ∑ k = 1 ∞ k ( 1 − p ) k − 1 E[X] = \sum\limits_{k = 1}^\infty {k(1-p)^{k-1}}{p}=p \sum\limits_{k = 1}^\infty {k(1-p)^{k-1}} E[X]=k=1k(1p)k1p=pk=1k(1p)k1
    f ( p ) = − ( 1 − p ) k f(p)=-(1-p)^k f(p)=(1p)k,则 f ( p ) f(p) f(p) p p p求导得: k ( 1 − p ) k − 1 k(1-p)^{k-1} k(1p)k1,因此有
    E [ X ] = p ∑ k = 1 ∞ k ( 1 − p ) k − 1 = p ∑ k = 1 ∞ f ′ ( p ) = − p ( ∑ k = 1 ∞ − f ( p ) ) ′ E[X] = p \sum\limits_{k = 1}^\infty {k(1-p)^{k-1}}=p\sum\limits_{k=1}^\infty{{f^{'}}(p)} =-p\left(\sum\limits_{k=1}^\infty{-f(p)}\right)^{'} E[X]=pk=1k(1p)k1=pk=1f(p)=p(k=1f(p))
    q = 1 − p q=1-p q=1p,然后根据等比数列的前 n n n项和公式有:
    ∑ k = 1 n ( 1 − p ) k = ∑ k = 1 n q k = q − q n + 1 1 − q = q ( 1 − q n ) 1 − q \sum\limits_{k=1}^{n}(1-p)^k=\sum\limits_{k=1}^{n}q^k=\frac{q-q^{n+1}}{1-q}=\frac{q(1-q^n)}{1-q} k=1n(1p)k=k=1nqk=1qqqn+1=1qq(1qn)
    因为 0 < q < 1 0 < q < 1 0<q<1,故当 n → ∞ n \to \infty n时, q n → 1 q^n\to 1 qn1,因此 ∑ k = 1 ∞ q k = q 1 − q \sum\limits_{k=1}^\infty q^k=\frac{q}{1-q} k=1qk=1qq,所以有:
    ( ∑ k = 1 ∞ − f ( p ) ) ′ = ( ∑ k = 1 ∞ ( 1 − p ) k ) ′ = ( 1 − p p ) ′ = − 1 p 2 \left(\sum\limits_{k=1}^\infty{-f(p)}\right)^{'}=\left(\sum\limits_{k=1}^\infty(1-p)^k\right)^{'}=\left(\frac{1-p}{p}\right)^{'}=-\frac{1}{p^2} (k=1f(p))=(k=1(1p)k)=(p1p)=p21
    综合以上有:
    E [ X ] = − p ( − 1 p 2 ) = 1 p E[X]=-p(-\frac{1}{p^2})=\frac{1}{p} E[X]=p(p21)=p1
    再利用求方差公式可得方差为:
    D [ X ] = 1 − p p 2 D[X]=\frac{1-p}{p^2} D[X]=p21p
    用Python模拟几何分布的概率质量函数为如下所示:
    代码为:

    #加载相关库
    import numpy as np 
    import matplotlib.pyplot as plt
    from scipy import stats
    from matplotlib import font_manager #加载相关字体模块
    #先确定字体,以免无法识别汉字
    my_font = font_manager.FontProperties(fname=
    
        "C:/Windows/Fonts/msyh.ttc")#此处文件地址是本人电脑上微软雅黑字体所在位置
    p1=0.3
    p2=0.5
    p3=0.8
    n = np.arange(0,10)
    geometric1=stats.geom.pmf(n,p1)
    geometric2=stats.geom.pmf(n,p2)
    geometric3=stats.geom.pmf(n,p3)
    plt.plot(n, geometric1, 'o-',label='p=0.3')#画图
    plt.plot(n, geometric2, 'o-',label='p=0.5')
    plt.plot(n, geometric3, 'o-',label='p=0.8')
    plt.legend() #显示图例
    plt.title('几何分布模拟',fontproperties=my_font) #图名
    plt.xlabel('事件发生次数',fontproperties=my_font) #X轴名称
    plt.ylabel('事件发生次数对应的概率',fontproperties=my_font) #Y轴名称
    plt.grid(True) #显示网格线
    plt.show()
    

    模拟结果为:
    在这里插入图片描述

    3.5 超几何分布(Hypergeometric Distribution)

            前面介绍的伯努利分布、二项分布、负二项分布都是建立在伯努利试验的基础上,而即将介绍的超几何分布、泊松分布则与伯努利试验无关了。超几何分布通常是指从 N N N个有限的物品中不放回的抽出 n n n个物品(假设 N N N个物品中含有某种指定物品的个数为 M M M个),那么其中指定的物品有多少个?具体例子如:黑球和白球一共有 N N N个,其中黑球有 M M M个,问抽 n n n个球中黑球的个数?再如零件的合格率检查,在一批零件中抽检 n n n个零件,其中不合格零件的个数是多少?
    我们一般记超几何分布为 X ∼ H ( n , M , N ) X∼H(n,M,N) XH(n,M,N)
    因为 N N N个球中,每个球被抽中是等概率的,所以有:
    (1)从 N N N个球中抽 n n n个球的概率为 C N n C_{N}^n CNn
    (2)假设 n n n个球中黑球的个数为 k k k,它们被抽到的概率为 C M k C_{M}^k CMk;
    (3) n n n个球中白球的个数为 n − k n-k nk,它们被抽到的概率为 C N − M n − k C_{N-M}^{n-k} CNMnk;
    故该随机变量的分布律为: P ( X = k ) = C M k C N − M n − k C N n P(X=k)=\frac{C_{M}^kC_{N-M}^{n-k}}{C_{N}^n} P(X=k)=CNnCMkCNMnk,其中 k = 0 , 1 , 2 , ⋯   , n k=0,1,2,\cdots,n k=0,1,2,,n
    超几何分布的期望和方差分别为:
    E [ X ] = ∑ k = 0 m k C M k C N − M n − k C N n = 1 C N n ∑ k = 0 m k C M k C N − M n − k E[X]= \sum\limits_{k = 0}^m k\frac{C_{M}^kC_{N-M}^{n-k}}{C_{N}^n}=\frac{1}{C_{N}^n} \sum\limits_{k = 0}^m kC_{M}^kC_{N-M}^{n-k} E[X]=k=0mkCNnCMkCNMnk=CNn1k=0mkCMkCNMnk
    因为有 k C M k = k M ! k ! ( M − k ) ! = M ( M − 1 ) ! ( k − 1 ) ! ( M − k ) ! = M C M − 1 k − 1 kC_{M}^k=\frac{kM!}{k!(M-k)!}=\frac{M(M-1)!}{(k-1)!(M-k)!}=MC_{M-1}^{k-1} kCMk=k!(Mk)!kM!=(k1)!(Mk)!M(M1)!=MCM1k1以及范德蒙恒等式 ( V a n d e r m o n d e ′ s i d e n t i t y ) (Vandermonde's identity) Vandermondesidentity
    C n + m k = ∑ i = 0 C n i C m k − i C_{n+m}^k=\sum\limits_{i=0}C_n^iC_m^{k-i} Cn+mk=i=0CniCmki
    所以有:
    ∑ k = 0 m k C M k C N − M n − k = 0 C M 0 C N − M n + 1 C M 1 C N − M n − 1 + ⋯ + m C M m C N − M n − m = M C M − 1 0 C N − M n − 1 + M C M − 1 1 C N − M n − 2 + ⋯ + M C M − 1 m − 1 C N − M n − m = M ( C M − 1 0 C N − M n − 1 + C M − 1 1 C N − M n − 2 + ⋯ + C M − 1 m − 1 C N − M n − m ) = M ∑ k = 0 m − 1 C M − 1 k C N − M n − 1 − k = M C N − 1 n − 1 \begin{array}{l} \sum\limits_{k = 0}^m kC_{M}^kC_{N-M}^{n-k}=0C_{M}^0C_{N-M}^{n}+1C_{M}^1C_{N-M}^{n-1}+\cdots+mC_{M}^mC_{N-M}^{n-m}\\ = MC_{M-1}^0C_{N-M}^{n-1}+ MC_{M-1}^1C_{N-M}^{n-2} +\cdots+ MC_{M-1}^{m-1}C_{N-M}^{n-m} \\ =M\left(C_{M-1}^0C_{N-M}^{n-1}+ C_{M-1}^1C_{N-M}^{n-2} +\cdots+ C_{M-1}^{m-1}C_{N-M}^{n-m} \right) \\ =M\sum\limits_{k=0}^{m-1}C_{M-1}^{k}C_{N-M}^{n-1-k}\\ =MC_{N-1}^{n-1}\end{array} k=0mkCMkCNMnk=0CM0CNMn+1CM1CNMn1++mCMmCNMnm=MCM10CNMn1+MCM11CNMn2++MCM1m1CNMnm=M(CM10CNMn1+CM11CNMn2++CM1m1CNMnm)=Mk=0m1CM1kCNMn1k=MCN1n1
    故期望计算结果为:
    E [ X ] = 1 C N n M C N − 1 n − 1 = n M N E[X]=\frac{1}{C_N^n}MC_{N-1}^{n-1}=\frac{nM}{N} E[X]=CNn1MCN1n1=NnM
    方差为 D [ X ] = n M N ( 1 − M N ) N − n N − 1 D[X]=\frac{nM}{N}\left(1-\frac{M}{N}\right)\frac{N-n}{N-1} D[X]=NnM(1NM)N1Nn,具体推导过程此处略,如有需要请留言我再补上。
            回顾一下二项分布的期望和方差(分别为 n p np np n p q npq npq),我们将会发现超几何分布和二项分布有一点点关联。在总数为 N N N个球,黑球为 M M M个,那么每个黑球被抽到的概率为 M N \frac{M}{N} NM,如果将这个概率作为二项分布中的伯努利试验成功的概率 p p p,你就会发现超几何分布和二项分布的期望形式是一样的,但方差的形式有一点点不一样,超几何分布多了 N − n N − 1 \frac{N-n}{N-1} N1Nn这一项。为什么会多这一项,是因为超几何分布是不放回的抽取,随着抽取的次数增加,随机变量的取值范围也逐步减小,从而导致方差的减小。
            同样地,我们用Python去模拟超几何分布的情况。代码如下:

    #加载相关库
    import numpy as np 
    import matplotlib.pyplot as plt
    from scipy import stats
    from matplotlib import font_manager #加载相关字体模块
    #先确定字体,以免无法识别汉字
    my_font = font_manager.FontProperties(fname=
    
        "C:/Windows/Fonts/msyh.ttc")#此处文件地址是本人电脑上微软雅黑字体所在位置
    for n in range(10,25,5):#用for循环确定抽取的次数
        N=100 #物品总数
        M=40 #具有某种属性物品的总数
        k = np.arange(0,n) #抽取n次,抽到具有该属性物品的个数
        hypergeom=stats.hypergeom.pmf(k,N,M,n) #用stats.hypergeom.pmf求概率
        plt.plot(k, hypergeom, 'o-',label='N=100,M=40,n=%i'%n)#画图
    
    plt.legend() #显示图例
    plt.title('超几何分布模拟',fontproperties=my_font) #图名
    plt.xlabel('抽到指定物品的个数',fontproperties=my_font) #X轴名称
    plt.ylabel('抽到该个数指定物品对应的概率',fontproperties=my_font) #Y轴名称
    plt.grid(True) #显示网格线
    plt.show()
    
    

    模拟结果如下图:
    在这里插入图片描述
    通过上图,可以看出超几何分布和二项分布的模拟图具有一定的相似性,这也从直观上验证了两种分布在期望和方差上的相似性。

    3.6 泊松分布(Poisson Distribution)

            泊松分布应该是最为常见的离散分布了,在很多领域都有应用。在概率论书籍中,关于泊松分布都是直接给出了其分布律,并没有详细说明该分布律的由来。关于这点,本人大力推荐看博主“马同学图解数学”写的关于泊松的理解《如何通俗易懂理解泊松分布》,该博主对泊松分布解释的非常到位,因此本文就不作详细介绍了。
    一些常见的泊松分布例子为:
    (1)某个商店在某段时间内到来的顾客人数;
    (2)一天中拨错电话号码的总数;
    (3)早餐店每天卖出早餐的份数;
    (4)一本书中某页出现的印刷错误数量;
    (5)某个城市居民活到100岁的人数;
    (6)某放射性材料在一定时期内放射出来的α-粒子数;
    (7)一年中联邦司法系统中空缺的位置数;
    泊松分布的分布律为:
    P ( X = k ) = e − λ λ k k ! , k = 0 , 1 , 2 , ⋯ P(X=k)=e^{-\lambda}\frac{\lambda^k}{k!},k=0,1,2,\cdots P(X=k)=eλk!λk,k=0,1,2,
    其中 λ \lambda λ称为泊松分布的参数,描述的是单位时间内(或单位面积内)随机事件平均发生的次数。
    根据分布律推导泊松分布的期望与方差分别为:
    E [ X ] = ∑ k = 0 ∞ k e − λ λ k k ! = e − λ ∑ k = 1 ∞ λ k ( k − 1 ) ! = λ e − λ ∑ k = 1 ∞ λ k − 1 ( k − 1 ) ! \begin{array}{l} E[X]=\sum\limits_{k=0}^{\infty}ke^{-\lambda}\frac{\lambda^k}{k!}=e^{-\lambda}\sum\limits_{k=1}^{\infty}\frac{\lambda^k}{(k-1)!}=\lambda e^{-\lambda}\sum\limits_{k=1}^{\infty}\frac{\lambda^{k-1}}{(k-1)!} \end{array} E[X]=k=0keλk!λk=eλk=1(k1)!λk=λeλk=1(k1)!λk1
    回顾泰勒展开式有:
    e x = 1 + x + x 2 2 ! + ⋯ + x n n ! + ⋯ = ∑ n = 1 ∞ x n − 1 ( n − 1 ) ! e^x=1+x+\frac{x^2}{2!}+\cdots+\frac{x^n}{n!}+\cdots=\sum\limits_{n=1}^{\infty}\frac{x^{n-1}}{(n-1)!} ex=1+x+2!x2++n!xn+=n=1(n1)!xn1
    所以 E [ X ] = λ e − λ ∑ k = 1 ∞ λ k − 1 ( k − 1 ) ! = λ e − λ e λ = λ E[X]=\lambda e^{-\lambda}\sum\limits_{k=1}^{\infty}\frac{\lambda^{k-1}}{(k-1)!}=\lambda e^{-\lambda}e^{\lambda}=\lambda E[X]=λeλk=1(k1)!λk1=λeλeλ=λ
    利用方差与期望的公式可求得方差为 D [ X ] = λ D[X]=\lambda D[X]=λ
    同样地,我们用Python去模拟超几何分布的情况。代码如下:

    #泊松分布
    #加载相关库
    import numpy as np 
    import matplotlib.pyplot as plt
    from scipy import stats
    from matplotlib import font_manager #加载相关字体模块
    #先确定字体,以免无法识别汉字
    my_font = font_manager.FontProperties(fname=
    
        "C:/Windows/Fonts/msyh.ttc")#此处文件地址是本人电脑上微软雅黑字体所在位置
    for r in range(1,5):#用for循环确定泊松分布的参数λ
        n = np.arange(0,20) #随机变量的取值
        poisson=stats.poisson.pmf(n,r) #用stats.poisson.pmf求概率
        plt.plot(n, poisson, 'o-',label='λ=%i'%r)#画图
    
    plt.legend() #显示图例
    plt.title('泊松分布模拟',fontproperties=my_font) #图名
    plt.xlabel('事件发生的次数',fontproperties=my_font) #X轴名称
    plt.ylabel('事件发生次数对应的概率',fontproperties=my_font) #Y轴名称
    plt.grid(True) #显示网格线
    plt.show()
    

    模拟结果如下图:
    在这里插入图片描述
    可以发现,上图和二项分布的模拟图非常接近,事实上,当二项分布中的 n n n足够大而 p p p足够小时,此时二项分布可以近似看成为参数为 λ = n p \lambda=np λ=np的泊松分布。为了验证这点,假设随机变量 X X X服从参数为 n n n p p p的二项分布,且有 λ = n p \lambda=np λ=np,则:
    P ( X = k ) = n ! ( n − k ) ! k ! p k ( 1 − p ) n − k = n ( n − 1 ) ⋯ ( n − k + 1 ) k ! ( λ n ) k ( 1 − λ n ) n − k = n ( n − 1 ) ⋯ ( n − k + 1 ) n k λ k k ! ( 1 − λ n ) n ( 1 − λ n ) k \begin{array}{l} P(X=k)=\frac{n!}{(n-k)!k!}p^k(1-p)^{n-k} \\ =\frac{n(n-1)\cdots(n-k+1)}{k!}(\frac{\lambda}{n})^k(1-\frac{\lambda}{n})^{n-k}\\ =\frac{n(n-1)\cdots(n-k+1)}{n^k} \frac{\lambda^k}{k!} \frac{(1-\frac{\lambda}{n})^n}{(1-\frac{\lambda}{n})^k} \end{array} P(X=k)=(nk)!k!n!pk(1p)nk=k!n(n1)(nk+1)(nλ)k(1nλ)nk=nkn(n1)(nk+1)k!λk(1nλ)k(1nλ)n
    n n n足够大时,有:
    ( 1 − λ n ) n ≈ e − λ , n ( n − 1 ) ⋯ ( n − k + 1 ) n k ≈ 1 , ( 1 − λ n ) k ≈ 1 (1-\frac{\lambda}{n})^n \approx e^{-\lambda},\frac{n(n-1)\cdots(n-k+1)}{n^k}\approx1,(1-\frac{\lambda}{n})^k \approx 1 (1nλ)neλ,nkn(n1)(nk+1)1,(1nλ)k1
    即有: P ( X = k ) = n ( n − 1 ) ⋯ ( n − k + 1 ) n k λ k k ! ( 1 − λ n ) n ( 1 − λ n ) k ≈ e − λ λ k k ! P(X=k)=\frac{n(n-1)\cdots(n-k+1)}{n^k} \frac{\lambda^k}{k!} \frac{(1-\frac{\lambda}{n})^n}{(1-\frac{\lambda}{n})^k} \approx e^{-\lambda}\frac{\lambda^k}{k!} P(X=k)=nkn(n1)(nk+1)k!λk(1nλ)k(1nλ)neλk!λk

    4 连续型随机变量的分布

            连续型随机变量是针对离散随机变量而言。离散型随机变量的取值是可数的无限的或是有限个,而连续型随机变量的取值是无限不可数的,如公交车到站的具体时间,晶体管的寿命,某个中学所有学生的身高等。

    4.1 正态分布(Normal Distribution)

            正态分布又称高斯分布(Gauss Distribution,主要在常见于外文文献),其原因是正态分布虽然由法国数学家棣莫弗(Abraham de Moivre)于1733年首次提出,但德国数学家高斯(Gauss)率先将其应用于天文研究,而他的这项工作对后世影响极大,因此很多人将其称为“高斯分布”。正态分布是我们日常生活最为常见的分布,如全国中学生的身高、学生的成绩,某批零件的质量等等。一般记正态分布为 X ∼ N ( μ , σ 2 ) X∼N(\mu,\sigma^2) XN(μ,σ2)
            与离散随机变量不同的是,我们一般用累积分布函数(Cumulative Distribution Function,CDF)和概率密度函数(Probability Density Function,PDF)来描述一个连续随机变量的分布情况。通常,将概率密度函数在样本空间中积分即可得到累积分布函数,故实际中我们只需要知道这两个函数的其中之一即可。正态分布的概率密度函数为:
    f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x) = \frac{1}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {{(x - \mu )}^2}}}{{2{\sigma ^2}}}}} f(x)=2π σ1e2σ2(xμ)2
    其中, μ \mu μ是随机变量的均值, σ 2 \sigma^2 σ2为随机变量的方差,具体证明过程如下:
    由期望公式得: E [ X ] = ∫ − ∞ ∞ x f ( x ) d x = ∫ − ∞ ∞ x 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x E[X] = \int_{ - \infty }^\infty {xf(x)dx = \int_{ - \infty }^\infty {x\frac{1}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {{(x - \mu )}^2}}}{{2{\sigma ^2}}}}}} } dx E[X]=xf(x)dx=x2π σ1e2σ2(xμ)2dx
    y = x − μ y=x-\mu y=xμ,则上述等式变为:
    E [ X ] = ∫ − ∞ ∞ ( y + μ ) 1 2 π σ e − y 2 2 σ 2 d y = ∫ − ∞ ∞ y 2 π σ e − y 2 2 σ 2 d y + ∫ − ∞ ∞ μ 2 π σ e − y 2 2 σ 2 d y = ∫ − ∞ ∞ y 2 π σ e − y 2 2 σ 2 d y + μ 2 π σ ∫ − ∞ ∞ e − y 2 2 σ 2 d y \begin{array}{l} E[X] = \int_{ - \infty }^\infty {(y + \mu )\frac{1}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy\\ = \int_{ - \infty }^\infty {\frac{y}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy + \int_{ - \infty }^\infty {\frac{\mu }{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy\\ = \int_{ - \infty }^\infty {\frac{y}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy + \frac{\mu }{{\sqrt {2\pi } \sigma }}\int_{ - \infty }^\infty {{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy \end{array} E[X]=(y+μ)2π σ1e2σ2y2dy=2π σye2σ2y2dy+2π σμe2σ2y2dy=2π σye2σ2y2dy+2π σμe2σ2y2dy
    I 1 = ∫ − ∞ ∞ y 2 π σ e − y 2 2 σ 2 d y {I_1} = \int_{ - \infty }^\infty {\frac{y}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy I1=2π σye2σ2y2dy I 2 = ∫ − ∞ ∞ e − y 2 2 σ 2 d y {I_2} = \int_{ - \infty }^\infty {{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy I2=e2σ2y2dy。注意到 I 1 {I_1} I1中的被积函数 y 2 π σ e − y 2 2 σ 2 {\frac{y}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} 2π σye2σ2y2是奇函数(即 f ( x ) = − f ( x ) f(x)=-f(x) f(x)=f(x),关于原点对称),而奇函数在对称区间内的积分为0(回顾积分的本质是被积函数与坐标轴形成的区域的面积,那么关于原点对称的两个区域面积正好是一正一负,相加即为0),因此我们只需要关注 I 2 {I_2} I2即可。下面进行 I 2 {I_2} I2的求解。

    I 2 2 = I 2 ∗ I 2 = ∫ − ∞ ∞ ∫ − ∞ ∞ e − x 2 2 σ 2 e − y 2 2 σ 2 d x d y {I_2}^2={I_2}*{I_2}=\int_{ - \infty }^\infty {\int_{ - \infty }^\infty {{e^{\frac{{ - {x^2}}}{{2{\sigma ^2}}}}}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dx} dy I22=I2I2=e2σ2x2e2σ2y2dxdy
    将坐标转换为极坐标: x = r c o s θ x=rcos\theta x=rcosθ, y = r s i n θ y=rsin\theta y=rsinθ,代入到上面的式子可得:
    I 2 2 = ∫ − ∞ ∞ ∫ − ∞ ∞ e − x 2 2 σ 2 e − y 2 2 σ 2 d x d y = ∫ 0 2 π ∫ 0 ∞ e − r 2 2 σ 2 r d r d θ = 2 π ∫ 0 ∞ e − r 2 2 σ 2 1 2 d r 2 = π [ ( − 2 σ 2 ) e − r 2 2 σ 2 ] 0 ∞ = 2 π σ 2 \begin{array}{l} {I_2}^2=\int_{ - \infty }^\infty {\int_{ - \infty }^\infty {{e^{\frac{{ - {x^2}}}{{2{\sigma ^2}}}}}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dx} dy=\int_{0 }^{2\pi} {\int_{0 }^\infty {{e^{\frac{{ - {r^2}}}{{{2\sigma ^2}}}}}} rdr} d\theta \\ \kern 15pt =2\pi \int_{0}^{\infty}e^{\frac{-r^2}{2\sigma^2}}\frac{1}{2}dr^2=\pi \left[(-2\sigma^2)e^{\frac{-r^2}{2\sigma^2}}\right]_{0}^{\infty}=2\pi \sigma^2 \end{array} I22=e2σ2x2e2σ2y2dxdy=02π0e2σ2r2rdrdθ=2π0e2σ2r221dr2=π[(2σ2)e2σ2r2]0=2πσ2
    因此, I 2 = 2 π σ {I_2}=\sqrt{2\pi}\sigma I2=2π σ,将其带回到期望公式 E [ X ] E[X] E[X]可得:
    E [ X ] = ∫ − ∞ ∞ y 2 π σ e − y 2 2 σ 2 d y + μ 2 π σ ∫ − ∞ ∞ e − y 2 2 σ 2 d y = 0 + μ 2 π σ ∗ 2 π σ = μ E[X]= \int_{ - \infty }^\infty {\frac{y}{{\sqrt {2\pi } \sigma }}{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy + \frac{\mu }{{\sqrt {2\pi } \sigma }}\int_{ - \infty }^\infty {{e^{\frac{{ - {y^2}}}{{2{\sigma ^2}}}}}} dy=0+ \frac{\mu }{{\sqrt {2\pi } \sigma }}*\sqrt {2\pi } \sigma =\mu E[X]=2π σye2σ2y2dy+2π σμe2σ2y2dy=0+2π σμ2π σ=μ
    利用方差公式可以推出正态分布的方差为 σ 2 \sigma^2 σ2
            上面描述的是一般正态分布,在实际中我们常见的是标准正态分布,即 X ~ N ( 0 , 1 ) X~N(0,1) XN(0,1)。标准正态分布在假设误差分布时会经常遇见,且标准正态分布的概率取值已经被编制成了标准正态分布表,在计算时直接查表即可。而将一般正态分布转化为标准正态分布的过程是:
            若 X ∼ N ( μ , σ 2 ) X∼N(\mu,\sigma^2) XN(μ,σ2),令 Y = X − μ σ Y=\frac{X-\mu}{\sigma} Y=σXμ,则 Y ~ N ( 0 , 1 ) Y~N(0,1) YN(0,1),该证明过程比较简单,直接将 Y Y Y的表达式代入到 X X X的概率密度函数中即可。
    同样地,我们用Python去模拟超几何分布的情况。代码如下:

    import numpy as np 
    import matplotlib.pyplot as plt
    from scipy import stats
    from matplotlib import font_manager #加载相关字体模块
    #先确定字体,以免无法识别汉字
    my_font = font_manager.FontProperties(fname=
    
        "C:/Windows/Fonts/msyh.ttc")#此处文件地址是本人电脑上微软雅黑字体所在位置
    x=np.linspace(-10,10,100000)
    y1=stats.norm.pdf(x,0,1)
    y2=stats.norm.pdf(x,0,2)
    y3=stats.norm.pdf(x,1,1)
    y4=stats.norm.pdf(x,1,2)
    y5=stats.norm.pdf(x,3,1)
    y6=stats.norm.pdf(x,5,3)
    plt.plot(x, y1,label='$\mu=0,\sigma^2=1$')
    plt.plot(x, y2,label='$\mu=0,\sigma^2=2$')#画图
    plt.plot(x, y3,label='$\mu=1,\sigma^2=1$')#画图
    plt.plot(x, y4,label='$\mu=1,\sigma^2=2$')#画图
    plt.plot(x, y5,label='$\mu=3,\sigma^2=1$')#画图
    plt.plot(x, y6,label='$\mu=5,\sigma^2=3$')#画图
    plt.legend() #显示图例
    plt.title('正态分布概率密度函数',fontproperties=my_font) #图名
    plt.grid(True) #显示网格线
    plt.show()
    

    模拟结果如下图:
    在这里插入图片描述通过上述模拟,可以看出正态分布的图像以下两个明显的特点:
    (1)正态分布的图像是对称的,其对称轴为 μ \mu μ,即 μ \mu μ控制了正态分布图像的位置;
    (2)正态分布图像是“高瘦”还是“矮胖”,取决于 σ \sigma σ σ \sigma σ越大,图像越“矮胖”。

    4.2 均匀分布(Uniform Distribution)

            均匀分布也称为矩形分布,一般记为 X ∼ U ( a , b ) X∼U(a,b) XU(a,b)。它是一种对称的概率分布,即在相同的长度内,取值概率是相等的。在经管领域,均匀分布通常用来描述消费者对商品基本价值估计的分布。均匀分布的概率密度函数为:
    f ( x ) = { 1 b − a a < x < b 0 o t h e r w i s e f(x) = \left\{ \begin{array}{l} \frac{1}{{b - a}}{\kern 5pt} a < x < b\\ 0{\kern 20pt} otherwise\end{array} \right. f(x)={ba1a<x<b0otherwise
    对概率密度函数进行积分即可得到累积分布函数为:
    [ F ( x ) = { 0 x < a x − a b − a a ≤ x ≤ b 1 x > b [F(x) = \left\{ \begin{array}{l} 0{\kern 20pt} x < a\\ \frac{{x - a}}{{b - a}}{\kern 5pt} a \le x \le b\\ 1{\kern 20pt} x > b \end{array} \right. [F(x)=0x<abaxaaxb1x>b

            其期望和方差比较容易求解,此处直接给出: E [ X ] = a + b 2 E[X]=\frac{a+b}{2} E[X]=2a+b, D [ X ] = ( b − a ) 2 12 D[X]=\frac{(b-a)^2}{12} D[X]=12(ba)2
            关于均匀分布的概率密度函数图像,此处就不模拟了,因为它就是在 [ a , b ] [a,b] [a,b]上的一条直线。
            

    4.3 指数分布(Exponential Distribution)

            指数分布常用来描述独立随机事件发生的时间间隔。常见的应用有:泊松过程中两个事件发生的间隔时间、电子元器件的可靠性研究中发生缺陷数或系统故障数的测量结果、大型系统的平均故障间隔时间等。我们记指数分布为: X ∼ E ( λ ) X∼E(\lambda) XE(λ),其中参数 λ \lambda λ常称为率参数(rate parameter),表示单位时间内事件发生的次数。指数分布的典型特征是“无记忆性”,这点我们在后面将予以详细说明。指数分布的概率密度函数(pdf)和累积分布函数(cdf)分别为:
    f ( x ) = { λ e − λ x x > 0 0 x ≤ 0 f(x) = \left\{ \begin{array}{l} \lambda {e^{ - \lambda x}}{\kern 6pt} x > 0\\ 0{\kern 26pt} x \le 0 \end{array} \right. f(x)={λeλxx>00x0
    F ( x ) = { 1 − e − λ x x ≥ 0 0 x < 0 F(x) = \left\{ \begin{array}{l} 1- {e^{ - \lambda x}}{\kern 6pt} x \ge 0\\ 0{\kern 35pt} x< 0 \end{array} \right. F(x)={1eλxx00x<0
            其期望和方差也比较容易求解:
    E [ X ] = ∫ − ∞ ∞ x f ( x ) d x = ∫ 0 ∞ x λ e − λ x d x = ∫ 0 ∞ − x d e − λ x = − x e − λ x ∣ ∞ 0 + ∫ 0 ∞ e − λ x d x = − 1 λ e − λ x ∣ ∞ 0 = 1 λ \begin{array}{l} E[X] = \int_{ - \infty }^\infty {xf(x)dx} = \int_0^\infty {x\lambda {e^{ - \lambda x}}dx} = \int_0^\infty { - xd{e^{ - \lambda x}}} \\ {\kern 22pt} {\kern 1pt} = - x{e^{ - \lambda x}}\left| \begin{array}{l} \infty \\ 0 \end{array} \right. + \int_0^\infty {{e^{ - \lambda x}}dx} = - \frac{1}{\lambda }{e^{ - \lambda x}}\left| \begin{array}{l} \infty \\ 0 \end{array} \right. = \frac{1}{\lambda } \end{array} E[X]=xf(x)dx=0xλeλxdx=0xdeλx=xeλx