• 常见的采样方法


    均匀分布随机数

    • 伪随机数
    • 通过离散分布来逼近连续分布
    • 线性同余法
      (x_{t+1} = a cdot x_t + c (mod m))
      初始值(x_0)称为随机种子,一般会取系统时间
    • 好的线性同余随机数生成器,循环周期要尽可能接近(m),需要精心挑选合适的(a)(m)

    常见的采样方法

    • 给定随机变量的一个取值,可以根据概率密度函数来计算该值对应的概率密度
    • 根据概率密度函数提供的概率分布信息来生成随机变量的一个取值,这就是采样

    采样策略

    • 函数变换法
      如果随机变量(x)(mu)存在变换关系(mu = varphi(x)),则它们的概率密度函数关系为:

      [p(mu)cdot|varphi^{'}(x)| = p(x) ]

      从目标分布(p(x))中不好采样(x),可以构造一个变换(u = varphi(x)),使得从变换后的分布(p(mu))中采样(mu)比较容易,这样可以通过先对(mu)进行采样,然后通过反函数(x = varphi^{-1}(mu))来间接得到(x)

      前提是(varphi)的逆函数是好求的

      特别地,在函数变换法中,如果变换关系(varphi(cdot))(x)的累积分布函数,则得到了逆变换采样(Inverse Transform Sampling)。假设待采样的目标分布的概率密度函数为(p(x)),它的累积分布函数为

      [mu = Phi(x) = int_{-infty}^x p(t)dt ]

      则逆变换采样法需按如下过程进行采样:

      • 从均匀分布(U(0,1))中产生一个随机数(mu_i)
      • 计算(x_i = Phi^{-1}(mu_i)),其中(Phi(cdot))是累积分布函数的逆函数
    • 拒绝采样(Rejection Sampling)

      • 又叫接受/拒绝采样(Accept-Reject Sampling)。对于目标分布(p(x)),选取一个容易采样的参考分布(q(x)),使得对于任意(x)都有(p(x) leq M cdot q(x)),则可以按如下过程采样:
        • 从参考分布(q(x))中随机抽取一个样本(x_i)
        • 从均匀分布(U(0, 1))中产生一个随机数(mu_i)
        • 如果(mu_i < frac{p(x_i)}{M q(x_i)}),则接受样本(x_i);否则拒绝,重新采样
      • (M cdot q(x))(p(x))的包络函数。包络函数越紧,采样效率越高
      • 改进:自适应拒绝采样(Adaptive Rejection Sampling),在目标分队是对数凹函数时,用多段线性函数来覆盖目标分布的对数(ln p(x))
    • 重要性采样

      • 用于计算函数(f(x))在目标分布(p(x))上的积分(函数期望),即

        [E[f] = int f(x) p(x)dx ]

      • 找到一个容易抽样的参考分布(q(x)),并令(w(x) = frac{p(x)}{q(x)}),则有:

        [E[f] = int f(x)w(x)q(x)dx ]

        这里(w(x))可以看作样本(x)的重要性权重
      • (q(x))抽取N个样本({x_i}),然后按下式估计(E[f]):

        [E[f]approx hat{E}_N[f] = sum limits_{i=1}^N f(x_i) w(x_i) ]

      • 重要性重采样(Sampling-Importance Re-samping, SIR)
        • 不计算积分,只采样样本
        • 先从(q(x))抽取N个样本,然后按照他们的权重(w(x))进行重新采样
    • 如果是高维空间的随机向量,拒绝采样和重要性重采样经常难以寻找到合适的参考分布,采样效率低下,此时应考虑马尔可夫蒙特卡洛采样法

  • 相关阅读:
    Spring Security【一】 ------ 前后端分离开发
    mybatis 使用mybatis-plus-generator进行代码自动生成
    VuejsApp简介
    BeetleX之Vue ElementUI生成工具
    BeetleX数据分析中间服务V3
    vuejs集成echarts的一些问题
    BeetleX使用bootstrap5开发SPA应用
    BeetleX大数据之产品分析服务
    小试牛刀ElasticSearch大数据聚合统计
    在windows 10的ubuntu系统上如何使用dd命令写u盘?
  • 原文地址:https://www.cnblogs.com/weilonghu/p/11922669.html
Copyright © 2020-2023  润新知