• MCS:多元随机变量——离散随机变量


    Multivariate Discrete Arbitrary

    k k k个离散的随机变量: ( x 1 , . . . , x k ) (x_1, ...,x_k) (x1,...,xk),联合概率分布为: P ( x 1 , . . . , x k ) P(x_1, ...,x_k) P(x1,...,xk) k k k个变量所有可能值的概率和为:1。
    ∑ x 1 ∼ x k P ( x 1 . . . x k ) = 1.0 \sum_{x_1 \sim x_k} P(x_1...x_k) = 1.0 x1xkP(x1...xk)=1.0

    边际概率, k k k个变量中的一个,记为: x j x_j xj

    P ( x j . . . ) = ∑ a l l x b u t x j P ( x 1 , x 2 , . . . , x k ) P(x_j...) = \sum_{all_x but_{x_j}} P(x_1, x_2, ...,x_k) P(xj...)=allxbutxjP(x1,x2,...,xk)

    边际期望:

    E ( x j . . . ) = ∑ x j x j P ( x j . . . ) E(x_j...) = \sum_{x_j} x_j P(x_j...) E(xj...)=xjxjP(xj...)

    边际方差:

    V ( x j . . . ) = E ( x j 2 . . . ) − E ( x j . . . ) 2 V(x_j...) = E(x_j^2...) - E(x_j...)^2 V(xj...)=E(xj2...)E(xj...)2

    E ( x j 2 . . . ) = ∑ x j x j 2 P ( x j . . . ) E(x_j^2...) = \sum_{x_j} x_j^2 P(x_j...) E(xj2...)=xjxj2P(xj...)

    生成随机变量

    生成 k k k个离散变量的随机变量: ( x 1 , x 2 , . . . , x k ) (x_1, x_2, ...,x_k) (x1,x2,...,xk)

    1. 得到 x 1 x_1 x1的边际概率和累积分布: P ( x 1 . . . ) 、 F ( x 1 . . . ) P(x_1...)、F(x_1...) P(x1...)F(x1...)
      • 生成一个随机连续均匀变量: u ∼ U ( 0 , 1 ) u \sim U(0, 1) uU(0,1)
      • 找到大于随机变量 u u u F ( x 1 . . . ) F(x_1...) F(x1...)对应 x 1 x_1 x1的最小值,记为: x 10 x_{10} x10
    2. 得到 x 2 x_2 x2边际条件概率和累积分布: P ( x 2 ∣ x 10 . . . ) 、 F ( x 2 ∣ x 10 . . . ) P(x_2|x_{10}...)、F(x_2|x_{10}...) P(x2x10...)F(x2x10...)
      • 生成一个随机连续均匀变量: u ∼ U ( 0 , 1 ) u \sim U(0, 1) uU(0,1)
      • 找到大于随机变量 u u u F ( x 2 ∣ x 10 . . . ) F(x_2|x_{10}...) F(x2x10...)对应 x 2 x_2 x2的最小值,记为: x 20 x_{20} x20
    3. 得到 x 3 x_3 x3边际条件概率和累积分布: P ( x 3 ∣ x 10 x 20 . . . ) 、 F ( x 3 ∣ x 10 x 20 . . . ) P(x_3|x_{10}x_{20}...)、F(x_3|x_{10}x_{20}...) P(x3x10x20...)F(x3x10x20...)
      • 生成一个随机连续均匀变量: u ∼ U ( 0 , 1 ) u \sim U(0, 1) uU(0,1)
      • 找到大于随机变量 u u u F ( x 3 ∣ x 10 x 2 0 . . . ) F(x_3|x_{10}{x_20}...) F(x3x10x20...)对应 x 3 x_3 x3的最小值,记为: x 30 x_{30} x30
    4. 重复直到得到: x k 0 x_{k0} xk0
    5. ( x 1 0 , . . . x k 0 ) (x_10, ... x_{k0}) (x10,...xk0)

    例:假设一个多元离散随机变量: ( x 1 , x 2 , x 3 ) (x_1, x_2, x_3) (x1,x2,x3) x 1 x_1 x1可能的取值为: { 0 , 1 , 2 } \{0,1,2\} {0,1,2} x 2 x_2 x2可能的取值为: { 0 , 1 } \{0, 1\} {0,1} x 3 x_3 x3可能的取值为: { 1 , 2 , 3 } \{1,2,3\} {1,2,3},概率分布如下:
    P ( x 1 , x 2 , x 3 ) P(x_1, x_2, x_3) P(x1,x2,x3)

    x 3 x_3 x3123123
    x 2 x_2 x201
    x 1 x_1 x1
    00.120.100.080.080.060.05
    10.080.060.040.050.040.03
    20.060.040.020.040.030.02

    根据概率分布生成多元离散随机变量:

    1. x 1 x_1 x1的边际概率和累积分布:
      • P ( x 1 = 0... ) = 0.12 + 0.10 + 0.08 + 0.08 + 0.06 + 0.05 = 0.49 、 F ( 0... ) = 0.49 P(x_1 = 0...) = 0.12 + 0.10 + 0.08 + 0.08 + 0.06 + 0.05 = 0.49、F(0...) = 0.49 P(x1=0...)=0.12+0.10+0.08+0.08+0.06+0.05=0.49F(0...)=0.49
      • P ( x 1 = 1... ) = 0.08 + 0.06 + 0.04 + 0.05 + 0.04 + 0.03 = 0.30 、 F ( 1... ) = 0.79 P(x_1 = 1...) = 0.08 + 0.06 + 0.04 + 0.05 + 0.04 + 0.03 = 0.30、F(1...) = 0.79 P(x1=1...)=0.08+0.06+0.04+0.05+0.04+0.03=0.30F(1...)=0.79
      • P ( x 1 = 2... ) = 0.06 + 0.04 + 0.02 + 0.04 + 0.03 + 0.02 = 0.21 、 F ( 2... ) = 1.00 P(x_1 = 2...) = 0.06 + 0.04 + 0.02 + 0.04 + 0.03 + 0.02 = 0.21、F(2...) = 1.00 P(x1=2...)=0.06+0.04+0.02+0.04+0.03+0.02=0.21F(2...)=1.00
      • u ∼ U ( 0 , 1 ) , u = 0.37 , u < F ( 0 ) u \sim U(0, 1),u = 0.37,u < F(0) uU(0,1)u=0.37u<F(0)令: x 10 = 0 x_{10} = 0 x10=0
    2. x 2 x_2 x2的(条件)边际概率和累积分布:
      • P ( x 2 = 0 ∣ x 10 = 0... ) = ( 0.12 + 0.10 + 0.08 ) / 0.49 = 0.612 、 F ( 0 ∣ 0... ) = 0.612 P(x_2 = 0|x_{10} = 0...) = (0.12 + 0.10 + 0.08)/0.49 = 0.612、F(0|0...) = 0.612 P(x2=0x10=0...)=(0.12+0.10+0.08)/0.49=0.612F(00...)=0.612
      • P ( x 2 = 1 ∣ x 10 = 0... ) = ( 0.08 + 0.06 + 0.05 ) / 0.49 = 0.388 、 F ( 1 ∣ 0... ) = 1.000 P(x_2 = 1|x_{10} = 0...) = (0.08 + 0.06 + 0.05)/0.49 = 0.388、F(1|0...) = 1.000 P(x2=1x10=0...)=(0.08+0.06+0.05)/0.49=0.388F(10...)=1.000
      • u ∼ U ( 0 , 1 ) , u = 0.65 , u < F ( 1 ∣ 0... ) u \sim U(0, 1),u = 0.65,u < F(1|0...) uU(0,1)u=0.65u<F(10...)令: x 20 = 1 x_{20} = 1 x20=1
    3. x 3 x_3 x3的(条件)边际概率和累积分布:
      • P ( x 3 = 1 ∣ x 10 x 20 . . . ) = 0.08 / 0.19 = 0.421 、 F ( 1 ∣ 0 , 1... ) = 0.421 P(x_3 = 1|x_{10}x_{20}...) = 0.08/0.19 = 0.421、F(1|0,1...) = 0.421 P(x3=1x10x20...)=0.08/0.19=0.421F(10,1...)=0.421
      • P ( x 3 = 2 ∣ x 10 x 20 . . . ) = 0.06 / 0.19 = 0.316 、 F ( 2 ∣ 0 , 1... ) = 0.737 P(x_3 = 2|x_{10}x_{20}...) = 0.06/0.19 = 0.316、F(2|0,1...) = 0.737 P(x3=2x10x20...)=0.06/0.19=0.316F(20,1...)=0.737
      • P ( x 3 = 3 ∣ x 10 x 20 . . . ) = 0.05 / 0.19 = 0.263 、 F ( 3 ∣ 0 , 1... ) = 1.000 P(x_3 = 3|x_{10}x_{20}...) = 0.05/0.19 = 0.263、F(3|0,1...) = 1.000 P(x3=3x10x20...)=0.05/0.19=0.263F(30,1...)=1.000
      • u ∼ U ( 0 , 1 ) , u = 0.55 , u < F ( 1 ∣ 0 , 1... ) u \sim U(0, 1),u = 0.55,u < F(1|0,1...) uU(0,1)u=0.55u<F(10,1...)令: x 30 = 2 x_{30} = 2 x30=2
    4. ( x 10 , x 20 , x 30 ) = ( 0 , 1 , 2 ) (x_{10},x_{20},x_{30}) = (0, 1, 2) (x10,x20,x30)=(0,1,2)

    模拟生成多元随机变量

    import numpy as np
    import matplotlib.pyplot as plt
    
    • 1
    • 2
    def multivariateDiscrete(num=10):
        x1, x2, x3 = [], [], []
        for i in range(10000):
            u = np.random.uniform(0, 1)
            temp = []
            for k, v in {0:0.49,1:0.79,2:1.0}.items():
                if v > u:
                    temp.append(k)
            x1.append(np.min(temp))
    
            u = np.random.uniform(0, 1)
            temp = []
            for k, v in {0: 0.612, 1:1.0}.items():
                if v > u:
                    temp.append(k)
            x2.append(np.min(temp))
    
            u = np.random.uniform(0, 1)
            temp = []
            for k, v in {1:0.412, 2:0.737, 3:1.00}.items():
                if v > u:
                    temp.append(k)
            x3.append(np.min(temp))
        return x1, x2, x3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这里插入图片描述

  • 相关阅读:
    边缘计算场景下基于超轻量级目标检测模型实现裸土扬尘检测
    基于JAVA实现的连连看小游戏
    Java必做实验4线程应用
    开放领域问答机器人1
    Set a Light 3D Studio:探索光影艺术的全新维度mac/win中文版
    HTML5期末大作业:旅游网页设计与实现——旅游风景区网站HTML+CSS (1)
    Mini-Vue之渲染系统实现(render)及diff算法
    ChatGPT 的原理简介
    Hive谓词下推之FULL JOIN
    金九银十面试怒拿6个offer——测试开发面试题整理
  • 原文地址:https://blog.csdn.net/u014281392/article/details/125489093