• MCS:离散随机变量——Hyper Geometric分布


    Hyper Geometric

    超几何分布是统计学上一种离散概率分布。它描述了从有限N个物件(其中包含D个指定种类的物件)中(不放回)抽出n个物件,成功抽出该指定种类的物件的数量记为 x x x,变量 x x x称为超几何分布, x ∼ H ( N , n , D ) x \sim H(N, n, D) xH(N,n,D) x x x的取值范围为: 0 ∼ M i n ( D , n ) 0 \sim Min(D,n) 0Min(D,n)之间的整数。

    P ( x ) = C D x C N − D n − x C N n , x = 0 ∼ M i n ( n , D ) P(x) = \frac{C_D^x C_{N - D}^{n - x}}{C_N^n},x = 0 \sim Min(n, D) P(x)=CNnCDxCNDnxx=0Min(n,D)

    期望和方差:

    E ( x ) = n D N E(x) = \frac{nD}{N} E(x)=NnD

    V ( x ) = n × D N × ( 1 − D N ) × N − n N − 1 V(x) = n \times \frac{D}{N} \times ( 1 - \frac{D}{N}) \times \frac{N- n}{N - 1} V(x)=n×ND×(1ND)×N1Nn

    生成超几何分布变量

    1. 样本总量为: N N N, 特定种类样本数量为: D D D, 不放回抽样次数: n n n, x = 0 x = 0 x=0
    2. For i = 1 → n i = 1 \to n i=1n:
      • p = D N p = \frac{D}{N} p=ND
      • Generate u , u ∼ U ( 0 , 1 ) u,u \sim U(0, 1) uuU(0,1)
      • N = N − 1 N = N - 1 N=N1
      • if u < p , x = x + 1 , D = D − 1 u < p, x = x + 1,D = D - 1 u<px=x+1D=D1
      • Next i i i
    3. Return x x x

    例:假设一共有10个样本,其中有两个存在缺陷,从中不放回抽出4个样本,在抽样的样本中观察到存在缺陷的样本数量是一个随机的超几何变量。

    • N = 10 , D = 2 , n = 4 , x = 0 N = 10,D = 2,n = 4, x = 0 N=10D=2n=4,x=0
    • i = 1 , P = 2 / 10 = 0.2 , u = 0.37 , u > P , N = N − 1 = 9 i = 1,P = 2/10 = 0.2,u = 0.37,u > P, N = N - 1 = 9 i=1P=2/10=0.2u=0.37u>P,N=N1=9
    • i = 2 , P = 2 / 9 = 0.222 , u = 0.51 , u > P , N = N − 1 = 8 i = 2,P = 2/9 = 0.222,u = 0.51,u > P, N = N - 1 = 8 i=2P=2/9=0.222u=0.51u>P,N=N1=8
    • i = 3 , P = 2 / 8 = 0.25 , u = 0.14 , u < P , N = N − 1 = 7 , D = D − 1 = 1 , x = x + 1 i = 3,P = 2/8 = 0.25,u = 0.14,u < P,N = N - 1 = 7,D = D - 1 = 1,x = x + 1 i=3P=2/8=0.25u=0.14u<PN=N1=7D=D1=1x=x+1
    • i = 4 , P = 1 / 7 = 0.143 , u = 0.84 , u > P , N = N − 1 = 6 i = 4,P = 1/7 = 0.143,u = 0.84,u > P,N = N - 1 = 6 i=4P=1/7=0.143u=0.84u>PN=N1=6
    • x = 1 x = 1 x=1

    模拟生成超几何变量

    import numpy as np
    import matplotlib.pyplot as plt
    
    • 1
    • 2
    def generate_hyper_geometric(N=100, D=10, n=10):
        x = 0
        for i in range(n):
            p = D/N
            u = np.random.uniform(0, 1)
            N -= 1
            if u < p:
                x += 1
                D -= 1
        return x
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

  • 相关阅读:
    Elasticsearch - 文档分析,IK分词器;文档冲突(十二)
    如何免费将pdf转word?看完这篇你就会了
    最新AI智能聊天对话问答系统源码(图文搭建部署教程)+AI绘画,文生图,TTS语音识别输入,文档分析
    OS之分页存储管理的基本地址变换结构
    【区块链 | ENS】ENS中的Namehash加密逻辑
    GO语言从入门到实战-Go语言课程介绍
    TwinCAT3加不上路由ADS的几种可能
    [附源码]计算机毕业设计基于SpringBoot的高校课程知识库
    linux平台编译运行c++程序
    Python_偏函数
  • 原文地址:https://blog.csdn.net/u014281392/article/details/125474696