Monte Carlo Integtation


首先蒙特卡洛和数值积分,这两种方式
蒙特卡洛可以用于采样,而数值积分似乎不可以
蒙特卡洛积分就是先进行采样再对样本处理,求得积分

而单纯求积分的时候,下述的间接采样没什么意义,与数值积分的区别也仅仅是,采取网格点和随机点的区别
使用网格点在低维的情况下是优于随机点的,而在高维时,随机点更适用,原因:

使用网格点时,每当在一个轴上增加一个点时,总体需要计算的点增加量非常大(指数),因而,并不好控制计算量;随机点则不受限制,想取几个点就取几个点
老师说高维时网格点计算量大,我不敢苟同,既然都是同样的信息,计算量大必然更精准,随机点想要达到同样的精度,必定需要同样的计算量,真正不合适的,个人认为是上述的计算量不好控制,跳跃太大

What is that

蒙特卡洛j积分,用随机采样的方式,近似计算目标分布的期望(积分),有时仅仅通过画图快速了解分布的大概情况

首先,采样的本质:我们知道pdf是指随机变量取某一个值的概率,所以从中取一个x进行计算并不是采样。

既然pdf是代表某个值的概率,那么我们反过来,我们根据概率来取值便是真正的采样,也就是下文中的求cdf的反函数
这也解释了,两种间接采样既然难以计算,最终结果还是要计算f(xi),间接采样的目的并不是简化运算,而是在无法求得反函数的情况下,通过正函数和建议分布(实验分布)间接抽样


 概率分布采样

按照目标分布直接采样,得到相应的样本值。
仅适用于简单的情况,简单的情况可以直接数值积分

 拒绝采样

当目标函数比较复杂时(并不是计算困难,而是其cdf的反函数求不出来),这时无法完成采样,拒绝采样便可以通过间接的方式采样

 重要性采样

另外一种间接采样





How to do that

一切都建立在均匀分布的随机数生成之上,但计算机并不能产生真正的随机数,因此介绍伪随机数

均匀分布的产生

均匀分布的随机数可以通过迭代取余来产生伪随机数,即:

mod为取余数,选取x0进行递归生成序列(x0称为seed)

 ·注意,在此方式中,我们需要选取 使得任意xn都不为0的 a和m
 ·除x0外其余xn皆为取余结果,因此xn均为不大于m的正整数
 ·任何伪随机数列均为循环数列(?),因此可用数据为有限个
 ·对于上式,我们希望x1/m,x2/m…服从 U(0,1) 的均匀分布

鉴于以上特性,我们对于 a, m 的取值提出以下要求

 ∗ For any initial seed, x0/m,x1/m · · · has the “appearance” of being a sequence of independent Uniform(0, 1) distributed random variables.
 ∗ For any initial seed, the number of variables that can be generated
before repetition begins is large.
 ∗ The values can be computed efficiently on a digital computer.

例如,对于一个32位的计算机,我们可以取

m = 2** 32 − 1
a = 7**5 = 16, 807.

def num(x0,a,m,n):
    list1 = []
    x1 = x0
    for i in range(n):
        x2 = (a*x1)%m
        list1.append(x2/m)
        x1 = x2
    return list1

概率分布采样

对于连续的变量,通过概率积分变换,即cdf的反函数形式,将U与目标函数结合起来,产生目标分布的随机变量
下面介绍几个常用的采样,及ppt中的例子

连续变量

slides中的定义和证明晦涩难懂,这里我用自己的语言进行描述

设目标分布f(x),F(x)

F(x)的值域为[0,1],与均匀分布U(0,1)相同,则我们G(u)定义为目标分布cdf的逆函数
当u取(0,1)中的值u时,G(u)的值为F(x)的u分位点

类似离散变量的形式,我们可以这样理解,当取得u时,其对应的分位点值 与 不包含u的分位点值之差,即为原分布取得x的概率,能力有限,语言无法细致描述,但自己能懂

总之,我们通过取均匀分布U的样本值,求得对应的G(u),即完成了对于原分布的采样

在这里插入图片描述

下面,介绍slides中的几个例子,其中有些较为复杂,涉及极坐标

指数分布

在这里插入图片描述
这里需要求逆函数

这里还没学懂,等搞懂了几个分布的关系回来继续
β \beta β分布

离散变量

在这里插入图片描述
注意概率F也是累加的
理解:上一步没满足,下一步满足了(与上一步之和的概率),则表示,满足了总的,且不满足上一步(因为上一次没满足,可理解为提前检验)

伯努利
二项分布

<img src="https://img-blog.csdnimg.cn/b2aa524f0c184629aaedd342d583dd59.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA54quMjI=,size_20,color_FFFFFF,t_70,g_se,x_16)>

固定几个值的均匀分布

在这里插入图片描述

几何分布

在这里插入图片描述
注意符号,向下取整

随机数序列

在这里插入图片描述
本质上是,从排列好的数列中,随机选择一个放到队尾,再从剩余数中再选择,如此往复(选择排序inverse)


拒绝采样

原pdf无法采样(cd反函数无法计算),我们通过引入一个建议分g(x),通过在g(x)上采样,取得样本,再进行判别,是否保留取样值,如此迭代,取得样本

具体实现

首先确定一个常数c
这个常数可以使得
在这里插入图片描述
 即,c*g(x)恒大于f(x)


我们首先从均匀分布中抽取一个样本U
这时我们从建议分布中抽取样本Y,若其满足(上下两个样本独立)

我们便认为这个样本是合理的,将其保留,进行下一次抽取(U和Y都重新抽),直到保留足够的样本


性质

i)这个方法构造的随机变量,与f分布相同,可以证明

iI)c>=1,很容易理解;每取得一个合适的样本,所需抽取的次数的期望为c

由于g(x)理论上任何分布都可以使用,我们一般使用均匀或者正态,但是有时为了采样效率,我们可以使用一些与目标分布形状相似的分布

需要注意,如果是没有边界的分布,所取的g(x)的tail需要比目标分布收敛更慢,否则无论c多大,极限情况都会小于原分布


几个例子(slides) ,还没看,看了来填坑

重要性采样

这个方法的形式,与另外一篇,monte carlo method (slides的引例)很像,基本上是一个思路,只不过对于这种形式的抽样,我们可以用另外的一种方式去理解它,形式上就像是给每一个样本赋予了一个权重,这也是这种方法的由来

具体实现

首先,选取一个实验分布(接近目标且易求为好),从实验分布中采样,并且将所有样本保留,目前得到的样本为实验分布的一组样本,之后将每一个样本xi乘上一个权重,数值为f(xi)/q(xi),即为最终采样结果

性质

重要性采样取得到的是带有重要性权重的服从q(x)分布的样本,对于这种特殊的样本,一般也就用来求均值(通过做题发现,这些样本的和,即为样本的期望值),所以个人认为这种采样不咋好用,求期望直接用数值积分就行,既然存在,那么以后可能有它放光彩的地方吧
同样,需要注意q(x)的tail要比f(x)更fat,否则会出现权重为无穷大的情况

在本章的slides中,对于求均值,有两种方式

      Π ^ 1 = 1 m Σ f ( x i ) q ( x i ) x i \hat{\Pi}_1 = \frac{1}{m}\Sigma\frac{f(x_i)}{q(x_i)}xi Π^1=m1Σq(xi)f(xi)xi

 即将样本直接求均值


      Π ^ 2 = Σ w i x i Σ w i \hat{\Pi}_2 = \frac{\Sigma w_i x_i}{\Sigma w_i} Π^2=ΣwiΣwixi

 其中 w i w_i wi f ( x i ) q ( x i ) \frac{f(x_i)}{q(x_i)} q(xi)f(xi) ,可以证明 E ( w i ) E(w_i) E(wi)=1(求积分),因此可以证明二者结果相等

但这两种形式有优有劣:
i) Π ^ 2 \hat{\Pi}_2 Π^2有偏, Π ^ 1 \hat{\Pi}_1 Π^1无偏
ii) Π ^ 2 \hat{\Pi}_2 Π^2在计算时可以将f(x),q(x)中的常数项约去

Π ^ 2 \hat{\Pi}_2 Π^2有一个指标,可以衡量其效率: ESS (effective sample size)


        E S S m ( w ) = m 1 − V a r q ( w ( x ) ) \ ESS_m(w) = \frac{m}{1-Var_q(w(x))}  ESSm(w)=1Varq(w(x))m

 其值计算结果为 该组特殊样本相当于多少个从f(x)中抽取的样本(有点类似拒绝采样中的比率)

计算:





Why is correct

所谓间接抽样,我们上面提到的两种抽样,拒绝抽样和重要性抽样,其实都是同一种思想的不同实现形式:通过引入一个新的随机变量,通过从这个变量中采样,并且经过处理,来代替从目标分布中采样

拒绝采样的方式,从大于母体的伪分布(积分不为1)中抽取,将落入母体的保留,未落入的舍弃

重要性采样,,选择的实验分布是一个真的分布,将这个分布中的样本全部保留,但赋予不同的权重,使其最终结果能够符合要求,但这类特殊样本一般只能用来求期望积分

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值