4. 常见分布

  1. 二项分布:假设试验只有两种结果:成功的概率为 4. 常见分布 - 图1,失败的概率为 4. 常见分布 - 图2。 则二项分布描述了独立重复地进行 4. 常见分布 - 图3 次试验中,成功 4. 常见分布 - 图4 次的概率。

    • 概率质量函数:

      4. 常见分布 - 图5

    • 期望: 4. 常见分布 - 图6

    • 方差: 4. 常见分布 - 图7

    scipy.stats.binom使用n参数指定 4. 常见分布 - 图8p参数指定 4. 常见分布 - 图9loc参数指定平移

    stats_binom

  2. 泊松分布:泊松分布使用 4. 常见分布 - 图11 描述单位时间(或者单位面积)中随机事件发生的平均次数(只知道平均次数,具体次数是个随机变量)。

    • 概率质量函数:

      4. 常见分布 - 图12

      其物理意义是:单位时间内事件发生 4. 常见分布 - 图13 次的概率

    • 期望: 4. 常见分布 - 图14

    • 方差: 4. 常见分布 - 图15

    在二项分布中,如果 4. 常见分布 - 图16 很大,而 4. 常见分布 - 图17 很小。乘积 4. 常见分布 - 图18 可以视作 4. 常见分布 - 图19,此时二项分布近似于泊松分布。

    泊松分布用于描述单位时间内随机事件发生的次数的分布的情况。

    scipy.stats.poisson使用mu参数来给定 4. 常见分布 - 图20,使用 loc 参数来平移。

    poisson

  3. 用均匀分布模拟泊松分布:

    1. def make_poisson(lmd,tm):
    2. '''
    3. 用均匀分布模拟泊松分布。 lmd为 lambda 参数; tm 为时间
    4. '''
    5. t=np.random.uniform(0,tm,size=lmd*tm) # 获取 lmd*tm 个事件发生的时刻
    6. count,tm_edges=np.histogram(t,bins=tm,range=(0,tm))#获取每个单位时间内,事件发生的次数
    7. max_k= lmd *2 # 要统计的最大次数
    8. dist,count_edges=np.histogram(count,bins=max_k,range=(0,max_k),density=True)
    9. x=count_edges[:-1]
    10. return x,dist,stats.poisson.pmf(x,lmd)

    该函数首先随机性给出了 lmd*tm个事件发生的时间(时间位于区间[0,tm])内。然后统计每个单位时间区间内,事件发生的次数。然后统计这些次数出现的频率。最后将这个频率与理论上的泊松分布的概率质量函数比较。

    make_poisson

  4. 指数分布:若事件服从泊松分布,则该事件前后两次发生的时间间隔服从指数分布。由于时间间隔是个浮点数,因此指数分布是连续分布。

    • 概率密度函数:4. 常见分布 - 图234. 常见分布 - 图24 为时间间隔
    • 期望: 4. 常见分布 - 图25
    • 方差: 4. 常见分布 - 图26

    scipy.stats.expon中,scale参数为 4. 常见分布 - 图27;而loc用于对函数平移

    expon

  5. 用均匀分布模拟指数分布:

    1. def make_expon(lmd,tm):
    2. '''
    3. 用均匀分布模拟指数分布。 lmd为 lambda 参数; tm 为时间
    4. '''
    5. t=np.random.uniform(0,tm,size=lmd*tm) # 获取 lmd*tm 个事件发生的时刻
    6. sorted_t=np.sort(t) #时刻升序排列
    7. delt_t=sorted_t[1:]-sorted_t[:-1] #间隔序列
    8. dist,edges=np.histogram(delt_t,bins="auto",density=True)
    9. x=edges[:-1]
    10. return x,dist,stats.expon.pdf(x,loc=0,scale=1/lmd) #scale 为 1/lambda

    make_expon

  6. 伽玛分布:若事件服从泊松分布,则事件第 4. 常见分布 - 图30 次发生和第 4. 常见分布 - 图31 次发生的时间间隔为伽玛分布。由于时间间隔是个浮点数,因此指数分布是连续分布。

    • 概率密度函数:4. 常见分布 - 图324. 常见分布 - 图33 为时间间隔
    • 期望:4. 常见分布 - 图34
    • 方差: 4. 常见分布 - 图35

    scipy.stats.gamma中,scale参数为 4. 常见分布 - 图36;而loc用于对函数平移,参数a指定了 4. 常见分布 - 图37 gamma_dist

  7. 用均匀分布模拟伽玛分布:

    1. def make_gamma(lmd,tm,k):
    2. '''
    3. 用均匀分布模拟伽玛分布。 lmd为 lambda 参数; tm 为时间;k 为 k 参数
    4. '''
    5. t=np.random.uniform(0,tm,size=lmd*tm) # 获取 lmd*tm 个事件发生的时刻
    6. sorted_t=np.sort(t) #时刻升序排列
    7. delt_t=sorted_t[k:]-sorted_t[:-k] #间隔序列
    8. dist,edges=np.histogram(delt_t,bins="auto",density=True)
    9. x=edges[:-1]
    10. return x,dist,stats.gamma.pdf(x,loc=0,scale=1/lmd,a=k) #scale 为 1/lambda,a 为 k

    make_gamma