python loc函数_数理统计与概率论及Python实现(5)—— 一维连续型随机变量及其Python实现...

d855e9347be95fbd8087538df4c39f8d.png

上一小节总结了离散型随机变量,这个小节总结连续型随机变量。离散型随机变量的可能取值只有有限多个或是无限可数的(可以与自然数一一对应),连续型随机变量的可能取值则是一段连续的区域或是整个实数轴,是不可数的。最常见的一维连续型随机变量有三种:均匀分布,指数分布和正态分布。

数理统计与概率论及Python实现(1)——概率论中基本概念

数理统计与概率论及Python实现(2)——随机变量

数理统计与概率论及Python实现(3)——随机变量概述

数理统计与概率论及Python实现(4)—— 一维离散型随机变量及其Python实现

1. 均匀分布

均匀分布算是最简单的连续型概率分布。因为其概率密度是一个常数,不随随机变量X取值的变化而变化。

1.1 定义

如果连续型随机变量 X 具有如下的概率密度函数,则称 X 服从 [a,b] 上的均匀分布(uniform distribution),记作 X∼U(a,b) 或 X∼Unif(a,b)

b4a31a472b1fec156658c69ed980802e.png

均匀分布具有等可能性,也就是说,服从 U(a,b) 上的均匀分布的随机变量 X 落入 (a,b) 中的任意子区间上的概率只与其区间长度有关,与区间所处的位置无关。

由于均匀分布的概率密度函数是一个常数,因此其累积分布函数是一条直线,即随着取值在定义域内的增加,累积分布函数值均匀增加。

babb3f4c1b53e3af74c5b34679325eab.png

1.2 主要用途

设通过某站的汽车10分钟一辆,则乘客候车时间 X 在 [0,10] 上服从均匀分布;

某电台每个20分钟发一个信号,我们随手打开收音机,等待时间 X 在 [0,20] 上服从均匀分布;

随机投一根针与坐标纸上,它和坐标轴的夹角 X 在 [0,π] 上服从均匀分布。

1.3 Python实现

从定义可以看出来,定义一个均匀分布需要两个参数,定义域区间的起点 a 和终点 b,但是在Python中是 location 和 scale, 分别表示起点和区间长度。

def uniform_distribution(loc=0, scale=1):"""    均匀分布,在实际的定义中有两个参数,分布定义域区间的起点和终点[a, b]    :param loc: 该分布的起点, 相当于a    :param scale: 区间长度, 相当于 b-a    :return:    """    uniform_dis = stats.uniform(loc=loc, scale=scale)    x = np.linspace(uniform_dis.ppf(0.01),                    uniform_dis.ppf(0.99), 100)    fig, ax = plt.subplots(1, 1)# 直接传入参数    ax.plot(x, stats.uniform.pdf(x, loc=2, scale=4), 'r-',            lw=5, alpha=0.6, label='uniform pdf')# 计算ppf分别等于0.001, 0.5, 0.999时的x值    vals = uniform_dis.ppf([0.001, 0.5, 0.999])    print(vals)  # [ 2.004  4.     5.996]# Check accuracy of cdf and ppf    print(np.allclose([0.001, 0.5, 0.999], uniform_dis.cdf(vals)))  # Ture    r = uniform_dis.rvs(size=10000)    ax.hist(r, normed=True, histtype='stepfilled', alpha=0.2)    plt.ylabel('Probability')    plt.title(r'PDF of Unif({}, {})'.format(loc, loc+scale))    ax.legend(loc='best', frameon=False)    plt.show()uniform_distribution(loc=2, scale=4)

f67597b73717c59e248aff99708a7518.png

2. 指数分布


其实指数分布和离散型的泊松分布之间有很大的关系。泊松分布表示单位时间(或单位面积)内随机事件的平均发生次数,指数分布则可以用来表示独立随机事件发生的时间间隔。由于发生次数只能是自然数,所以泊松分布自然就是离散型的随机变量;而时间间隔则可以是任意的实数,因此其定义域是 (0,+∞)。

2.1 定义

如果一个随机变量 X 的概率密度函数满足一下形式,就称 X 为服从参数 λ 的指数分布(Exponential Distribution),记做 X∼E(λ) 或 X∼Exp(λ).

指数分布只有一个参数 λ,且 λ>0.

6787ae04f60b4f99b5e09335cd4678e3.png

2.2 主要用途

  • 表示独立随机事件发生的时间间隔,比如旅客进机场的时间间隔、中文维基百科新条目出现的时间间隔等;

  • 在排队论中,一个顾客接受服务的时间长短也可以用指数分布来近似;

  • 无记忆性的现象(连续时间)。

2.3 性质

指数分布的一个显著的特点是其具有无记忆性。例如如果排队的顾客接受服务的时间长短服从指数分布,那么无论你已经排了多久时间的队,在排 t 分钟的概率始终是相同的。

用公式表示就是:

b7b5d2e37e7a948edf2d6a4916989c9d.png

def exponential_dis(loc=0, scale=1.0):"""    指数分布,exponential continuous random variable    按照定义,指数分布只有一个参数lambda,这里的scale = 1/lambda    :param loc: 定义域的左端点,相当于将整体分布沿x轴平移loc    :param scale: lambda的倒数,loc + scale表示该分布的均值,scale^2表示该分布的方差    :return:    """    exp_dis = stats.expon(loc=loc, scale=scale)    x = np.linspace(exp_dis.ppf(0.000001),                    exp_dis.ppf(0.999999), 100)    fig, ax = plt.subplots(1, 1)# 直接传入参数    ax.plot(x, stats.expon.pdf(x, loc=loc, scale=scale), 'r-',            lw=5, alpha=0.6, label='uniform pdf')# 计算ppf分别等于0.001, 0.5, 0.999时的x值    vals = exp_dis.ppf([0.001, 0.5, 0.999])    print(vals)  # [ 2.004  4.     5.996]# Check accuracy of cdf and ppf    print(np.allclose([0.001, 0.5, 0.999], exp_dis.cdf(vals)))    r = exp_dis.rvs(size=10000)    ax.hist(r, normed=True, histtype='stepfilled', alpha=0.2)    plt.ylabel('Probability')    plt.title(r'PDF of Exp(0.5)')    ax.legend(loc='best', frameon=False)    plt.show()exponential_dis(loc=0, scale=2)

27e8ca55fa6bd494b9c820f386f9b4ba.png

3. 正态分布

正态分布也许是出现频率最高的分布,其他人对正态分布的熟悉程度应该也是所有分布中最高的。由于中心极限定理的存在,正态分布也是所有分布应用最广泛的分布,没有之一。

3.1 定义

若随机变量 X 的概率密度符合下面的形式,就称 X 服从参数为 μ,σ 的正态分布(或高斯分布),记为 X∼N(μ,σ2).

cfb9927bb12162d9321f4c0823dd7f9d.png

如果上面公式中 μ=0,σ=1,就叫做标准正态分布,一般记做 Z∼N(0,1)。

由于标准正态分布在统计学中的重要地位,它的累积分布函数(CDF)有一个专门的表示符号:Φ. 一般在统计相关的书籍附录中的“标准正态分布函数值表”就是该值与随机变量的取值之间的对于关系。

正态分布中两个参数含义:

当固定 σ,改变 μ 的大小时,f(x) 图形的形状不变,只是沿着 x 轴作平移变换,因此 μ 被称为位置参数(决定对称轴的位置);

当固定 μ,改变 σ 的大小时, f(x) 图形的对称轴不变,形状改变, σ 越小,图形越高越瘦, σ 越大,图形越矮越胖,因此 σ 被称为尺度参数(决定曲线的分散程度)

3.2 性质

f(x) 关于 x=μ 对称;

当x≤μ时,f(x)是严格单调递增函数;

fmax=f(μ)=12π√σ;

当 X∼N(μ,σ2) 时,X−μσ∼N(0,1)

利用第4条性质,在计算一般正态分布的概率时,可以转化为标准正态分布函数来计算。

3.3 Python实现

def diff_normal_dis():"""    不同参数下的指数分布    :return:    """    norm_dis_0 = stats.norm(0, 1)  # 标准正态分布    norm_dis_1 = stats.norm(0, 0.5)    norm_dis_2 = stats.norm(0, 2)    norm_dis_3 = stats.norm(2, 2)    x0 = np.linspace(norm_dis_0.ppf(1e-8), norm_dis_0.ppf(0.99999999), 1000)    x1 = np.linspace(norm_dis_1.ppf(1e-10), norm_dis_1.ppf(0.9999999999), 1000)    x2 = np.linspace(norm_dis_2.ppf(1e-6), norm_dis_2.ppf(0.999999), 1000)    x3 = np.linspace(norm_dis_3.ppf(1e-6), norm_dis_3.ppf(0.999999), 1000)    fig, ax = plt.subplots(1, 1)    ax.plot(x0, norm_dis_0.pdf(x0), 'r-', lw=2, label=r'miu=0, sigma=1')    ax.plot(x1, norm_dis_1.pdf(x1), 'b-', lw=2, label=r'miu=0, sigma=0.5')    ax.plot(x2, norm_dis_2.pdf(x2), 'g-', lw=2, label=r'miu=0, sigma=2')    ax.plot(x3, norm_dis_3.pdf(x3), 'y-', lw=2, label=r'miu=2, sigma=2')    plt.ylabel('Probability')    plt.title(r'PDF of Normal Distribution')    ax.legend(loc='best', frameon=False)    plt.show()diff_normal_dis()

efb3e054329a7d2478275fbc7382b3bf.png

更多内容,欢迎交流

亦有学习社群

1085b77a28bda3f3c31548b8c2e445de.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值