zoukankan      html  css  js  c++  java
  • 概率论07 联合分布

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

    我之前一直专注于单一的随机变量及其概率分布。我们自然的会想将以前的结论推广到多个随机变量。联合分布(joint distribution)描述了多个随机变量的概率分布,是对单一随机变量的自然拓展。联合分布的多个随机变量都定义在同一个样本空间中。

    对于联合分布来说,最核心的依然是概率测度这一概念。 

    离散随机变量的联合分布

    我们先从离散的情况出发,了解多个随机变量并存的含义。

    之前说,一个随机变量是从样本空间到实数的映射。然而,所谓的映射是人为创造的。从一个样本空间,可以同时产生多个映射。比如,我们的实验是连续三次投硬币,样本空间为

    $$Omega = {hhh, hht, hth, thh, htt, tht, tth, ttt}$$

    h为正面,t为反面。在同一样本空间上,我们可以定义多个随机变量,比如:

    • [$X$]: 投掷为正面的总数,可以取值0,1,2,3
    • [$Y$]: 最后一次出现负面的总数,可以取值0,1
    • [$Z$]: 将正面记为10,负面记为5,第一次与第三次取值的差,可以有5, -5, 0

    这三个随机变量可以看作一个有三个分量的矢量。所以定义在同一样本空间的多随机变量,是一个从样本空间到矢量的映射。 

    (从这个角度上说,单一随机变量是一个从样本空间到一个有一个分量的矢量的映射)

    如果样本空间[$Omega$]中每个结果出现的概率相等。而样本空间中共有8个结果,那么个每个结果的出现的概率都是1/8。据此,我们可以计算联合概率,比如

    $$P(X=0, Y=1) = P({ttt}) = 1/8$$

    $$P(X=1, Y=1) = P({htt, tht}) = 2/8$$

    对于[$X = x, Y = y$],我们寻找样本空间中满足这两个取值的所有元素。这些元素构成一个样本空间的子集,该子集的概率就是[$P(X = x, Y = y)$]的联合概率。[$p(x, y) = P(X = x, Y = y)$]称为联合概率质量函数(joint PMF, joint probability mass function)。联合概率可以看做两个事件同时发生时的概率,事件A为[$X=x$],事件B为[$Y=y$],即[$P(A cap B)$]。

    找到所有可能取值组合的概率,就找到了这两个随机变量的联合分布:

    [$X$] [$Y$] [$P(X,Y)$] 对应子集
    0 0 0 [$Phi$]
    1 0 1/8 tth
    2 0 2/8 thh, hth
    3 0 1/8 hhh
    0 1 1/8 ttt
    1 1 2/8 htt, tht
    2 1 1/8 hht
    3 1  0 [$Phi$]

     联合分布

    联合分布描述了所有可能的取值情况。因此,联合概率密度函数的累积和为1。

     

    连续随机变量的联合分布

    我们知道,单个连续随机变量的概率是变量在某个区间(某段线的“长度”)取值的概率。做类似的推广,多个连续随机变量的概率,是这多个随机变量在多维区间的概率。比如两个随机变量,我们需要表达一个二维区间的概率,比如[$P(a le X le b, c le Y le d)$]。这个二维区间可以有一个类似于一个小补丁的“面积”。二维区间对应的概率是一个体积。

    面积对应的体积

     

    在单变量情况下,概率是一个“面积”,是由区间的“长度”和密度函数(一条曲线)围成的。这里的“体积”是二维区间的“面积”和密度函数(一个曲面)围成的。我们可以使用联合概率密度函数(joint PDF, joint probability density function)来表达多随机变量的分布。对于双变量的联合分布来说,它等于无穷小块的概率,除以无穷小块的面积。

    用微积分的语言来说,就是

    $$P(a le X le b, c le Y le d) = int_a^b int_c^d f(x, y) dx dy$$

    [$f(x, y)$]就是描述X和Y的联合分布的联合概率密度函数。

     

    联合概率密度函数描述了所有可能取值的情况,因此有

    $$int_{-infty}^{+infty} int_{-infty}^{infty} f(x, y) dx dy = 1$$

     

    实例

    下面是两个连续随机变量的联合PDF:

    $$f(x,y) = left{ egin{array}{rcl} 2x & for & 0 le x,y le 1 \ 0 & for & else end{array} ight.$$

    通过积分,计算X在0到0.5,而Y在0到1的概率:

    $$P(0 le X le 0.5, 0 le Y le 1) = int_0^{0.5} int_0^{1} 2x dx dy = 0.25$$

     

    我们之间也说到,单个随机变量的概率对应线段到概率密度曲线之间的面积。而两个随机变量的概率对应小块到概率密度面之间的体积。

    我们可以绘制[$f(x,y)$]的分布图形,即一个二维的平面。图中的颜色标记了f(x, y)值的大小。如下: 

    可以看到,f(x, y)随X增大而增大,在X值确定时,f(x, y)不随Y变化。

    # By Vamei
    
    from mpl_toolkits.mplot3d import Axes3D
    from matplotlib import cm
    from matplotlib.ticker import LinearLocator, FormatStrFormatter
    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.figure()
    ax = fig.gca(projection='3d')
    X = np.arange(0, 1, 0.05)
    Y = np.arange(0, 1, 0.05)
    X, Y = np.meshgrid(X, Y)
    Z = 2*X
    surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
            linewidth=0, antialiased=False)
    ax.set_zlim(0.0, 2.5)
    
    ax.zaxis.set_major_locator(LinearLocator(10))
    ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
    
    ax.set_xlabel("X")
    ax.set_ylabel("Y")
    ax.set_zlabel("f(x,y)")
    fig.colorbar(surf, shrink=0.5, aspect=5)
    
    plt.show()

     

    边缘概率

    联合分布包含了多个随机变量的分布信息。我们当然可以从联合分布中,提取出任意一个单一随机变量的分布,也就是所谓的边缘分布(marginal distribution)。

    对于离散随机变量,可以获得边缘概率质量函数(marginal pmf):

    $$p_X(x) = sum_{all \, y} p(x, y)$$

    $$p_Y(y) = sum_{all \, x} p(x, y)$$

    在求X的单一边缘分布时, 我们累加了相同x值、不同y值时的多个联合概率,从而获得该x值的的总体概率,即边缘概率。

     

    连续随机变量X的边缘密度函数(marginal pdf, marginal probability density function)可以定义为

    $$f_X(x) = int_{-infty}^{+infty} f(x,y)dy$$

    [$f_X(x)$]是联合密度函数对Y的积分。通过积分,我们将不同Y取值时的联合概率加在一起,就获得纯粹的单一X的分布状况。

    类似的,Y的边缘密度函数为

    $$f_Y(y) = int_{-infty}^{+infty} f(x,y)dx$$

     

    取离散随机分布的例子,即掷三次硬币

      0 1 2 3 p(y)
    0 0 1/8 2/8 1/8 1/2
    1 1/8 2/8 1/8 0 1/2
    p(x) 1/8 3/8 3/8 1/8  

    边缘概率是对各行和列的累加。最后一列p(y)是Y的分布,Y有1/2的概率取0,1/2的概率取1。最后一行p(x)是X的分布。

     

    取连续随机分布的例子,即下面的连续分布:

    $$f(x,y) = left{ egin{array}{rcl} 2x & for & 0 le x,y le 1 \ 0 & for & else end{array} ight.$$

    可以得到:

    $$f_X(x) = 2x, 0 le x le 1$$

    $$f_Y(y) = 1, 0 le y le 1$$

     

    条件分布

    我们之前基于事件介绍了条件概率,即如果事件B发生,那么事件A发生的概率。相同的概念可以引申到随机变量。随机变量取某个值,这可以看做一个事件。我们想知道,随机变量Y取值y,另一个随机变量X为x的概率。

     

    事件的条件概率类似,假设[$ p_Y(y) e 0 $],在[$Y=y$]的条件下,随机变量X取值为x的概率定义为: 

    $$p(x|y) = frac{p(x, y)}{p_Y(y)}$$

    即[$X=x, Y=y$]同时发生的概率,除以Y取值为y的的概率。

     

    以掷三次硬币为例。条件为Y值取值0,即最后一次投掷为正面时。此时,X取值为2有两种可能,即前两次为ht和th。由于前两次投掷有四种组合,所以概率为0.5。

    我们可以通过条件概率的公式计算并验证:

    $$p(2|0) = frac{p(2, 0)}{p_Y(0)} = frac{2/8}{1/2} = 0.5$$

     

    如果说概率是分一个总和为1的大饼,如果大饼分八块,每块就是1/8。假设半个饼上撒胡椒,另半个饼上撒辣椒。那么在胡椒饼(相当于我们的条件)上选取一块的概率,就是1/4。此时,也就是用原来的概率除以胡椒饼所占的比重。

     

    对于连续随机变量,假设[$ f_Y(y) e 0 $],给定Y=y,随机变量X的条件分布为:

    $$f(x|y) = f(x|Y=y) = frac{f(x, y)}{f_Y(y)}$$

     

    独立随机变量

    正如事件之间可以相互独立一样,随机变量之间也可以相互独立。当X独立于Y时,我们可以相像,Y的取值,将不影响X的概率。也就是说

    $$p(x|y) = p_X(x)$$

    这意味着,当且仅当

    $$p(x, y) = p_X(x)p_Y(y)$$

    时,X和Y相互独立。

    可以验证,连续投掷三次硬币的例子中,X和Y并不独立,比如

    $$p(1, 1) = 2/8$$

    $$p_X(1) = 3/8$$

    $$p_Y(1) = 1/2$$

    因此,

    $$p(1, 1) e p_X(1)p_Y(1)$$

    X和Y并不独立。

    对于连续随机变量来说,当且仅当

    $$f(x, y) = f_X(x)f_Y(y)$$

    时,X和Y相互独立。

    对于分布

    $$f(x,y) = left{ egin{array}{rcl} 2x & for & 0 le x,y le 1 \ 0 & for & else end{array} ight.$$

    使用之前获得的边际分布,可以验证

    $$f(x, y) = f_X(x)f_Y(y)$$

    因此,对于该分布来说,X和Y相互独立。

    总结

    通过联合分布,我们将单随机变量的分布拓展到多随机变量的分布。同样的,在单随机变量中引入的条件概率,也可以使用到多随机变量。我们还探讨了随机变量的独立性。

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

  • 相关阅读:
    简单的php socket 实例
    正则表达式语法
    js 固话正则
    php性能剖析的几款软件
    mysql基准测试
    mysql事务
    PHP字符串函数
    Git的使用---4.git的基本使用
    Git的使用---3.git的配置
    Git的使用---2.git的安装
  • 原文地址:https://www.cnblogs.com/vamei/p/3224111.html
Copyright © 2011-2022 走看看