R-概率统计与模拟(六)重要性采样

本文介绍了重要性采样(Importance Sampling)并给出了示例。

本文篇幅较长,分为以下几个部分:
  • 重要性采样是什么
  • 重要性采样的应用示例
  • 不同的分布 Q Q Q对结果有影响吗?
  • 小结和附录代码

Part1:重要性采样是什么

前文《R-概率统计与模拟(三)变换均匀分布对特定分布进行抽样》《R-概率统计与模拟(四)拒绝抽样》分别介绍了两种方法,可以根据已知的p.d.f.进行采样(抽样),使得采样得到的点符合目标分布。“重要性抽样”(Importance Sampling)不同于上述两种方法,其主要用途是通过采样计算数学期望。 而这与积分的计算有关。

通过大量随机采样计算积分

在建模过程中,我们经常要计算某个函数的期望:假设变量 X X X符合某个分布 P P P,记为 X ∼ P X \sim P XP,其 p.d.f. \text{p.d.f.} p.d.f.记为 p ( x ) p(x) p(x)。我们想要计算某个函数 f f f在分布 P P P下的期望 E [ f ( X ) ] E[f(X)] E[f(X)]。根据期望的数学定义,我们知道:
E X ∼ P [ f ( X ) ] = ∫ x f ( x ) p ( x )   d x E_{X \sim P}[f(X)] = \int_x f(x)p(x) \, \text{d}x EXP[f(X)]=xf(x)p(x)dx

在实际操作中,往往上面积分的解析解很难计算,所以可以通过大量采样的方法进行近似计算:假设根据分布 P P P进行大量随机采样,样本量记为 N N N,样本点记为 { x ^ 1 , x ^ 2 , … , x ^ N } \{\hat{x}_1, \hat{x}_2, \ldots, \hat{x}_N \} { x^1,x^2,,x^N},那么当 N N N足够大时,
E X ∼ P [ f ( X ) ] = ∫ x f ( x ) p ( x )   d x ≈ 1 N ∑ i = 1 N f ( x ^ i ) E_{X \sim P}[f(X)] = \int_x f(x)p(x) \, \text{d}x \approx \frac{1}{N} \sum_{i=1}^{N} f(\hat{x}_i) EXP[f(X)]=xf(x)p(x)dxN1i=1Nf(x^i)

所以关键在于如何对分布 P P P进行采样。当然我们可以根据前文介绍的“变换均匀分布进行抽样”或者“拒绝抽样”的方法进行采样。但是,如前文所说,这两种方法都有局限。当遇到一个复杂的 p.d.f. \text{p.d.f.} p.d.f.时,两种方法可能都不适用。

引入另一个分布 Q Q Q

当无法直接对分布 P P P进行采样从而难以近似计算上述积分时,我们可以对上面的积分做一个变换(即“重要性采样”的关键部分),让计算变得简单可行:

我们选取另一个容易进行抽样的分布 Q Q Q,其 p.d.f. \text{p.d.f.} p.d.f.记为 q ( x ) q(x) q(x)。上述积分变换为:
E X ∼ P [ f ( X ) ] = ∫ x f ( x ) p ( x )   d x = ∫ x f ( x ) p ( x ) q ( x ) q ( x )   dx E_{X \sim P}[f(X)] = \int_x f(x)p(x) \, \text{d}x = \int_x f(x) \frac{p(x)}{q(x)} q(x) \, \text{dx} EXP[f(X)]=xf(x)p(x)dx=xf(x)q(x)p(x)q(x)dx
然后我们根据分布 Q Q Q进行大量随机采样,样本量记为 N N N,样本点记为 { x 1 , x 2 , … , x N } \{x_1, x_2, \ldots, x_N \} { x1,x2

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值