• 概率论04 随机变量-离散-连续


     

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

    我们了解了“样本空间”,“事件”,“概率”。样本空间中包含了一次实验所有可能的结果,事件是样本空间的一个子集,每个事件可以有一个发生的概率。概率是集合的一个“测度”。

    这一讲,我们将讨论随机变量。随机变量(random variable)的本质是一个函数,是从样本空间的子集到实数的映射,将事件转换成一个数值。根据样本空间中的元素不同(即不同的实验结果),随机变量的值也将随机产生。可以说,随机变量是“数值化”的实验结果。在现实生活中,实验结果可以是很“叙述性”,比如“男孩”,“女孩”。在数学家眼里,这些文字化的叙述太过繁琐,我们为什么不能拿数字来代表它们呢?

    (数学家恐怕是很难成为文学家吧?)

     

    离散随机变量

    在连续掷两次硬币的例子中,样本空间为:

    Ω={HH,HT,TH,TT}Ω={HH,HT,TH,TT}

    这样的实验结果可以有很多数值化的方法,比如定义HH为400, HT为30, TH为0.2,TT为1。要注意的是,这里是用某个数字来代表样本空间的某个元素,这个数字并不是概率值。

    如何对样本空间的元素数值化是根据现实需求的。比如说,根据出现正面的次数,我们将赢取不同的奖励。那么在分析时,可以取“结果中正面的次数”为随机变量。这样一个随机变量将有2, 1, 0三种可能的取值。该随机变量只能取离散的几个孤立值,这样一种随机变量称为离散随机变量。

    映射关系如下:

    实验结果 随机变量
    HH 2
    HT 1
    TH 1
    TT 0

    我们通常用一个大写字母来表示一个随机变量,比如X。

    如果样本空间中的每个结果等概率,那么随机变量取值可能性为:

    P(X=2)=0.25P(X=2)=0.25
    P(X=1)=0.5P(X=1)=0.5
    P(X=0)=0.25P(X=0)=0.25

    当X取0,1,2之外的值时,概率为0。注意到,X=1这个事件,实际上包含了两个元素,HT, TH。因此,X=1出现的概率较高。所有可能取值的概率和为1。

    P(X=x)P(X=x)表示了随机变量在不同取值下的概率,称为概率质量函数(PMF, probability mass function)。我们将看到其他的表示概率分布的方式。

    累积分布函数

    上面的函数列出了每个取值的对应概率。等价的,我们可以用累积分布函数(CDF, cumulative distribution function)来表示随机变量的概率分布状况。在累积分布函数,我们列出的,总是随机变量X,在小于x的这个区间的概率和。当x增大时,X < x包含的结果增加,概率和也相应增加。当x为正无穷时,实际上是所有情况的概率和,那么累积分布函数为1。

    严格的定义为:

    F(x)=P(Xx),<x<F(x)=P(X≤x),−∞<x<∞

    我们可以绘制上面例子的CDF。

    这样的累积分布函数似乎并不比概率质量函数来得方便。但在后面,我们会很快看到它的优势。即它可以同时用于离散随机变量和连续随机变量。

    上面的图片可以用如下代码生成:

    复制代码
    # By Vamei
    # Plot the CDF of total number of heads in two flips
    
    import matplotlib.pyplot as plt
    x = [-1, 0, 0, 1, 1, 2, 2, 3]
    y = [0, 0, 0.25, 0.25, 0.75, 0.75, 1.0, 1.0]
    
    fig = plt.figure()
    ax  = plt.subplot(111)
    
    ax.plot(x, y)
    ax.set_ylim([-0.1, 1.1])
    ax.set_title("CDF, total number of heads")
    plt.show()
    复制代码

    连续随机变量

    随机变量还可以是连续取值,这样的随机变量称为连续随机变量(continuous random variable)。比如,一个随机变量,可以随机的取0到1的任意数值。

    当这样取值时,任意区间能实际上都有无穷多个结果。比如,我们测量温度,可以有1度和2度,但两者之间,还可以有1.1度,1.003度,1.658度等等无穷种结果。这样的话,每个结果的可能性都是无穷小。我们讨论的是某个区间内的概率,即P(a<X<b)P(a<X<b),而不是具体某一数值的概率。在这样的情况下,分到各个结果的概率都无限趋近于0。显然,我们无法用概率质量函数来描述连续随机变量的分布。

    我们这里遇到的困境是现代数学的一个相当的困扰。考虑一个线段,它是点的集合,并且有“长度”这样的测度。然而,线段上有无穷个多个点。讨论“每个点的长度”是完全没有意义的。将线段换成区间,将点换成取值,将长度换成概率,我们发现这两个问题异常相似。另一方面,我们知道,可以从线段上截取某一小段,而这一小段是可以有“长度”的。连续随机变量的概率定义,正依赖于此:对于连续随机变量,我们只讨论某个区间,比如从1.2到1.4这一区间的概率,而不讨论具体某个点,比如1.3的概率。 

    观察一个很简单的连续随机分布。假设我们有一个随机数生成器,产生一个从0到1的实数,每个实数出现的概率相等。这样的一个分布被称为均匀分布(uniform distribution)。直觉告诉我们,相同长度的每一段区间,对应的概率都相同。由此,[0, 0.5]是整个区间的一半,概率为1/2。对于均匀分布来说,概率正好和区间长度这一测度等同。

    我们尝试用更正式的方式来描述分布。累积分布函数本身就表示随机变量在一个区间概率,所以可以直接用于连续随机变量。即

    F(x)=P(Xx),<x<F(x)=P(X≤x),−∞<x<∞

    对于均匀分布来说,它的累积分布函数是:

    F(x)=0,x<0F(x)=0,x<0
    F(x)=x,0x1F(x)=x,0≤x≤1
    F(x)=1,x>1F(x)=1,x>1

    它类似从线段的一头到某一点的“长度”。这样,我们就知道了从起点到每一点的长度。如果我们想知道某个特定区间[a, b]的概率,它就是F(b) - F(a)。

    借用“无穷小”的概念,我们可以构建概率密度函数(PDF,probability density function)。粗糙的讲,我们在某个点附近取一个“无穷小”段,该小段的区间长度为dx,而这个“无穷小”段对应的概率为dF,那么该点的概率密度为dF/dx。这实际上是微积分的领域。

    概率密度函数可以代替累积分布函数,来表示一个连续随机变量的概率分布:

    f(x)=dF(x)dxf(x)=dF(x)dx

    即密度函数是累积分布函数的微分,或者说,

    F(x)=xf(u)duF(x)=∫−∞xf(u)du

    即累积分布函数是密度函数从负无穷到x的积分。

    密度函数满足:

    +f(u)du=1∫−∞+∞f(u)du=1

    均匀分布的密度函数可以写成:

    f(x)={1,0x10,x<0orx>1f(x)={1,0≤x≤10,x<0orx>1

    可以画出该密度函数

    对一个函数的积分,获得的是该函数曲线下的面积。因此,密度曲线下某个区间的面积,就是密度概率函数的积分,代表了随机变量在该区间的概率。概率密度函数就可以非常直观的通过“面积”,来表示概率的大小。

    从负无穷到正无穷积分,就代表了所有可能结果的概率和,即为1。

    上面的图片可以利用下面代码生成:

    复制代码
    # By Vamei
    # Density function for uniform distribution
    
    import matplotlib.pyplot as plt
    x = [-1, 0, 0, 1, 1, 2]
    y = [0, 0, 1, 1, 0, 0]
    
    fig = plt.figure()
    ax = plt.subplot(111)
    
    ax.plot(x, y)
    ax.set_xlim([-1, 2])
    ax.set_ylim([-0.1, 1.1])
    ax.set_title("density function for uniform distribution")
    plt.show()
    复制代码

    总结

    随机变量,随机变量的概率分布

    累积分布函数

    密度函数

    欢迎继续阅读“数据科学”系列文章

  • 相关阅读:
    异构网络中的并行传输问题
    如何编程实现快速获取一个整型数中的bit流中1的个数
    对单例模式的一个简单思考
    OsgEearh 中的 FeatureEditor的实现原理
    关于在osgearth 中 出现 arial.ttf : file not handled 的问题
    Qt 中 this->size() this->rect() event->size() 三者差异
    Qt 中QPainter 使用中出现的问题
    对c语言中static函数的理解
    对声明和定义的理解
    个人对头文件的理解
  • 原文地址:https://www.cnblogs.com/dahu-daqing/p/6698496.html
Copyright © 2020-2023  润新知