统计计算第五节课,Mante Calor方法(二)——减小估计量的方差

统计计算第五节课,Mante Calor方法(二)——减小估计量的方差这是我上的统计计算课讲的主要内容 写在这可以互相交流 有些地方我不是很理解的会标出来 用加粗斜体 标出 求大佬在留言处表达自己的看法 另外如果有啥问题也可以在留言处留言 如果我看到了会回复 这次的内容较为分散 知识点较多 这次的文章结构采用顺序写法

大家好,我是讯享网,很高兴认识大家。

这是我上的统计计算课讲的主要内容,写在这可以互相交流,有些地方我不是很理解的会标出来(用加粗斜体*标出),求大佬在留言处表达自己的看法,另外如果有啥问题也可以在留言处留言,如果我看到了会回复

这次的内容较为分散,知识点较多,这次的文章结构采用顺序写法,知识点之间的结构是以一个知识点为中心,向不同方向扩展,但达成的目的相同

背景:回忆MC方法要解决的问题是计算积分 I = ∫ a b f ( x ) h ( x ) d x I=\int_a^b f(x)h(x)dx I=abf(x)h(x)dx,用到的估计量为 I n ^ = 1 n ∑ i = 1 n h ( x i ) \hat{I_n}=\frac 1n\sum_{i=1}^n h(x_i) In^=n1i=1nh(xi)其中 x i x_i xi独立地从分布 f ( x ) f(x) f(x)抽样得到,一个潜在的问题是:如果f(x)和h(x)不匹配,即如果积分是由f(x)值很小的一片区域A决定,那么可能会出问题,因为我们可能无法从区域A中抽样出足够多的样本点,会使方差变大。 解决的办法也很简单:就是从A中抽出足够多的样本点,这就产生了importance sampling(IS) 方法。

IS

估计量
构造 q ( x ) q(x) q(x)去适应被积函数 f ( x ) h ( x ) f(x)h(x) f(x)h(x),解决上述的不匹配问题,其中 q ( x ) q(x) q(x)满足,当 f ( x ) h ( x ) ≠ 0 f(x)h(x)\ne0 f(x)h(x)=0时, q ( x ) ≠ 0 q(x)\ne0 q(x)=0
则此时积分的表达式可以写成 I = ∫ a b h ( x ) f ( x ) q ( x ) q ( x ) d x = E q ( h ( x ) w ( x ) ) I=\int_a^bh(x)\frac{f(x)}{q(x)}q(x)dx=E_q(h(x)w(x)) I=abh(x)q(x)f(x)q(x)dx=Eq(h(x)w(x))其中 w ( x ) = f ( x ) q ( x ) w(x)=\frac{f(x)}{q(x)} w(x)=q(x)f(x)
则估计量为 I n I S = 1 n ∑ i = 1 n h ( x i ) w ( x i ) I_n^{IS}=\frac 1n\sum_{i=1}^nh(x_i)w(x_i) InIS=n1i=1nh(xi)w(xi)其中 x i x_i xi独立地从分布 q ( x ) q(x) q(x)抽样得到

估计量的均值和方差
t ( x ) = h ( x ) w ( x ) t(x)=h(x)w(x) t(x)=h(x)w(x),则容易算出 E ( I n I S ) = I E(I_n^{IS})=I E(InIS)=I V a r ( I n I S ) = 1 n ∫ ( f ( x ) h ( x ) ) 2 q ( x ) d x − I 2 = 1 n ∫ ( f ( x ) h ( x ) − I q ( x ) ) 2 q ( x ) d x \begin{aligned} Var(I_n^{IS})=& \frac 1n\int\frac {(f(x)h(x))^2}{q(x)}dx-I^2 \\ =& \frac 1n\int\frac {(f(x)h(x)-Iq(x))^2}{q(x)}dx \end{aligned} Var(InIS)==n1q(x)(f(x)h(x))2dxI2n1q(x)(f(x)h(x)Iq(x))2dx从表达式可以看出以下事情:(1)该估计是无偏的
(2)当 q ( x ) ∝ f ( x ) h ( x ) q(x)\propto f(x)h(x) q(x)f(x)h(x)时,方差最小

回忆(一)中的收敛速率 P ( ∣ I n ^ − I ∣ < σ n δ ) > 1 − δ P(|\hat {I_n}-I|<\frac{\sigma}{\sqrt n\delta})>1-\delta P(In^I<n δσ)>1δ上面的IS估计量就是让 σ \sigma σ减小,以加快收敛

特别的,当f(x),h(x)都是正态分布时,**的q(x)也是正态分布,并且均值在f和h的均值之间(简单计算即得)

SNIS(self-normalized IS)

背景:当f或q不为规范时(即积分不为1)的情况

估计量
可以把积分写成如下形式 I = ∫ a b h ( x ) f ( x ) q ( x ) q ∗ ( x ) d x ∫ a b f ( x ) q ( x ) q ∗ ( x ) d x I=\frac{\int_a^bh(x)\frac{f(x)}{q(x)}q^*(x)dx}{\int_a^b\frac{f(x)}{q(x)}q^*(x)dx} I=abq(x)f(x)q(x)dxabh(x)q(x)f(x)q(x)dx其中 q ∗ ( x ) q^*(x) q(x)为规范化后的函数,则估计量为 I n S N I S = ∑ i = 1 n h ( x i ) w ( x i ) ∑ i = 1 n w ( x i ) I_n^{SNIS}=\frac{\sum_{i=1}^nh(x_i)w(x_i)}{\sum_{i=1}^nw(x_i)} InSNIS=i=1nw(xi)i=1nh(xi)w(xi)其中 x i x_i xi独立地从分布 q ( x ) q(x) q(x)抽样得到

期望和方差
(1)有偏,但依概率收敛到 I I I(自证)
(2)方差的估计如下 V a r ( I n S N I S ) ≈ σ q , s n 2 n = E q ( w ( x ) 2 ( h ( x ) − I ) 2 ) n = ∫ a b ( f ( x ) h ( x ) − I f ( x ) ) 2 q ( x ) d x n Var(I_n^{SNIS})\approx \frac{\sigma^2_{q,sn}}{n}=\frac {E_q(w(x)^2(h(x)-I)^2)}{n}\\ =\frac{\int_a^b\frac{(f(x)h(x)-If(x))^2}{q(x)}dx}{n} Var(InSNIS)nσq,sn2=nEq(w(x)2(h(x)I)2)=nabq(x)(f(x)h(x)If(x))2dx
从该表达式可以看出 1)此统计量方差的表达式和IS的很相似,但不同
2)没有 q ( x ) q(x) q(x)能让方差为0
3)有人证过 q ( x ) q(x) q(x)的最优形式(让方差最小)为 q ( x ) ∝ ∣ h ( x ) − I ∣ f ( x ) q(x)\propto |h(x)-I|f(x) q(x)h(x)If(x),可以用此公式算出方差 σ q , s n 2 \sigma^2_{q,sn} σq,sn2理论上能达到的最小值为 ( E f ( ∣ h ( x ) − I ∣ ) ) 2 (E_f(|h(x)-I|))^2 (Ef(h(x)I))2,这意味着SNIS能将减小原始MC方法的方差的比例为 σ q , s n 2 σ 2 ≥ ( E f ( ∣ h ( x ) − I ∣ ) ) 2 E f ( h ( x ) − I ) 2 \frac{\sigma^2_{q,sn}}{\sigma^2}\geq \frac{(E_f(|h(x)-I|))^2}{E_f(h(x)-I)^2} σ2σq,sn2Ef(h(x)I)2(Ef(h(x)I))2

IS和拒绝抽样方法的比较(待完善

IS 拒绝抽样
优点:没有Mq(x)需要盖住f(x)的条件,能减小方差
缺点:需要记录w(x) 缺点:抽样效率低

q(x)常用的寻找办法

上述只是理论上找出能让方差最小的 q ( x ) q(x) q(x)的形式,但如果找出的 q ( x ) q(x) q(x)的形式如果较为复杂,则不便于从 q ( x ) q(x) q(x)中抽样 x x x,所以下面介绍一些实际中常用 q ( x ) q(x) q(x)的寻找方法


讯享网

指数分布族
f ( x ) f(x) f(x)属于指数分布族 f ( x ) = g ( x ) e η ( θ 0 ) T T ( x ) − A ( θ 0 ) f(x)=g(x)e^{\eta(\theta_0)^TT(x)-A(\theta_0)} f(x)=g(x)eη(θ0)TT(x)A(θ0)时,通常选择 q ( x ) = g ( x ) e η ( θ ) T T ( x ) − A ( θ ) q(x)=g(x)e^{\eta(\theta)^TT(x)-A(\theta)} q(x)=g(x)eη(θ)TT(x)A(θ)的形式,并且找出一个 θ \theta θ使得方差较小,此时IS估计量为 I n I S = 1 n e A ( θ ) − A ( θ 0 ) ∑ i = 1 n h ( x i ) e ( η ( θ 0 ) − η ( θ ) ) T T ( x i ) I_n^{IS}=\frac1ne^{A(\theta)-A(\theta_0)}\sum_{i=1}^nh(x_i)e^{(\eta(\theta_0)-\eta(\theta))^TT(x_i)} InIS=n1eA(θ)A(θ0)i=1nh(xi)e(η(θ0)η(θ))TT(xi)其中 x i x_i xi独立地从分布 q ( x ) q(x) q(x)抽样得到

海森矩阵与正态分布方法
假设我们已经找到了 t ( x ) t(x) t(x)(之前定义过)的极大值点 x ∗ x^* x,则由泰勒展开可以得到 l n ( t ( x ) ) ≈ l n ( t ( x ∗ ) ) − 1 2 ( x − x ∗ ) T ( − H ∗ ) ( x − x ∗ ) 则 有 t ( x ) ≈ t ( x ∗ ) e − 1 2 ( x − x ∗ ) T ( − H ∗ ) ( x − x ∗ ) ln(t(x))\approx ln(t(x^*))-\frac12(x-x^*)^T(-H^*)(x-x^*)\\ 则有\quad t(x)\approx t(x^*)e^{-\frac12(x-x^*)^T(-H^*)(x-x^*)} ln(t(x))ln(t(x))21(xx)T(H)(xx)t(x)t(x)e21(xx)T(H)(xx)所以可以取 q ( x ) = N ( x ∗ , − H ∗ ) q(x)=N(x^*,-H^*) q(x)=N(x,H),其中 H ∗ H^* H l n ( t ( x ) ) ln(t(x)) ln(t(x)) x ∗ x^* x处的海森矩阵

混合正态方法
由于被积函数可能出现一些多峰的情况,所以为了让样本的密度函数与被积函数的形状更匹配,可以用混合正态作为 q ( x ) q(x) q(x),此时从 q ( x ) q(x) q(x)中抽样有两种抽样方法,第一种是直接抽,第二种是先抽角标,再从对应角标的正态中抽样,第二种方法的优点是抽样速度更快,缺点是方差会比第一种更大

自适应IS

通过上面的讨论,我们发现找一个让估计量方差较小并且便于抽样的 q ( x ) q(x) q(x)是一件困难的事情,尤其是对于刚才讨论的“指数分布族”和“混合正态方法”,我们已经确定了 q ( x ) q(x) q(x)的形式,但还未确定参数,如何找一个较好的参数似乎是首要问题,本节将介绍寻找参数的方法(本质上仍然是优化问题,所以很自然地我们想到应该迭代地去找)

假设q(x)属于分布族q(x, θ \bm\theta θ),回忆IS估计量的方差的表达式,可得 θ = arg ⁡ min ⁡ θ ∫ ( h ( x ) f ( x ) ) 2 q ( x , θ ) d x \theta=\mathop{\arg\min}\limits_{\theta}\int\frac{(h(x)f(x))^2}{q(x,\theta)}dx θ=θargminq(x,θ)(h(x)f(x))2dx机智的你可以通过上式写出 θ \theta θ的递推式 θ k + 1 = arg ⁡ min ⁡ θ 1 n k ∑ i = 1 n k ( h ( x i ) f ( x i ) ) 2 q ( x i , θ k ) 2 x ∼ q ( x , θ k ) \bm{\theta_{k+1}=\mathop{\arg\min}\limits_{\theta}\frac1{n_k}\sum_{i=1}^{n_k}\frac{(h(x_i)f(x_i))^2}{q(x_i,\theta_k)^2}\uad x\sim q(x,\theta_k)} θk+1=θargminnk1i=1nkq(xi,θk)2(h(xi)f(xi))2xq(x,θk)可以发现想要优化这个式子有点困难,所以我们的想法是不用方差来评价,换一种评价方法,首先回忆一下IS方法得到的中什么样的 q ( x ) q(x) q(x)是好的,没错,就是 q ( x ) ∝ t ( x ) q(x)\propto t(x) q(x)t(x)的时候,如果将 t ( x ) t(x) t(x)标准化成密度函数 t ∗ ( x ) t^*(x) t(x)的话,也就是说 q ( x ) = t ∗ ( x ) q(x)=t^*(x) q(x)=t(x)的时候 q ( x ) q(x) q(x)最好,还记得我们在第一节课基础知识中提到的KL距离吗,正是度量分布之间的距离的一种方法,恰好可以用于此处的优化问题。
于是我们的优化问题变成了 θ = arg ⁡ min ⁡ θ D K L ( t ∗ ∥ q θ ) = arg ⁡ min ⁡ θ E t ∗ l n ( t ∗ ( x ) q θ ( x ) ) = arg ⁡ max ⁡ θ E t ∗ l n ( q θ ( x ) ) \begin{aligned} \theta=\mathop{\arg\min}\limits_{\theta}D_{KL}(t^*\|q_\theta)=&\mathop{\arg\min}\limits_{\theta}E_{t^*}ln(\frac{t^*(x)}{q_\theta(x)})\\ = & \bm{\mathop{\arg\max}\limits_{\theta} E_{t^*}ln(q_\theta(x))} \end{aligned} θ=θargminDKL(tqθ)==θargminEtln(qθ(x)t(x))θargmaxEtln(qθ(x))机智的你再次可以通过上式写出 θ \theta θ的递推式 θ k + 1 = arg ⁡ max ⁡ θ E θ k l n ( q ( x , θ ) ) h ( x ) f ( x ) q ( x , θ k ) \bm{\theta_{k+1}= \mathop{\arg\max}\limits_{\theta} E_{\theta_k}\frac{ln(q(x,\theta))h(x)f(x)}{q(x,\theta_k)}} θk+1=θargmaxEθkq(x,θk)ln(q(x,θ))h(x)f(x)假设 q ( x ) q(x) q(x)属于指数分布族 q ( x ) = g ( x ) e θ T x − A ( θ ) q(x)=g(x)e^{\theta^Tx-A(\theta)} q(x)=g(x)eθTxA(θ)写成离散形式即为 θ k + 1 = arg ⁡ max ⁡ θ 1 n k ∑ i = 1 n k h ( x i ) f ( x i ) q ( x i , θ k ) l n ( q ( x i , θ ) ) = arg ⁡ max ⁡ θ 1 n k ∑ i = 1 n k H i l n ( q ( x i , θ ) ) = arg ⁡ max ⁡ θ 1 n k ∑ i = 1 n k H i ( θ T x i − A ( θ ) ) \begin{aligned} \theta_{k+1}=& \mathop{\arg\max}\limits_{\theta}\frac1{n_k}\sum_{i=1}^{n_k}\frac{h(x_i)f(x_i)}{q(x_i,\theta_k)}ln(q(x_i,\theta))\\ =& \mathop{\arg\max}\limits_{\theta}\frac1{n_k}\sum_{i=1}^{n_k}H_i ln(q(x_i,\theta))\\ =&\mathop{\arg\max}\limits_{\theta}\frac1{n_k}\sum_{i=1}^{n_k}H_i(\theta^Tx_i-A(\theta)) \end{aligned} θk+1===θargmaxnk1i=1nkq(xi,θk)h(xi)f(xi)ln(q(xi,θ))θargmaxnk1i=1nkHiln(q(xi,θ))θargmaxnk1i=1nkHi(θTxiA(θ))
则可以通过求解下式得到 θ k + 1 \theta_{k+1} θk+1 ∂ ∂ θ A ( θ ) = ∑ i = 1 n k H i x i ∑ i = 1 n k H i \bm{\frac{\partial}{\partial \theta}A(\theta)=\frac{\sum_{i=1}^{n_k}H_ix_i}{\sum_{i=1}^{n_k}H_i}} θA(θ)=i=1nkHii=1nkHixi
特别的,当 q ( x ) = N ( θ , I ) q(x)=N(\theta,I) q(x)=N(θ,I)时, θ k + 1 = ∑ i = 1 n k H i x i ∑ i = 1 n k H i \theta_{k+1}=\frac{\sum_{i=1}^{n_k}H_ix_i}{\sum_{i=1}^{n_k}H_i} θk+1=i=1nkHii=1nkHixi
q ( x ) = N ( θ , Σ ) q(x)=N(\theta,\Sigma) q(x)=N(θ,Σ)时, θ k + 1 = Σ − 1 ∑ i = 1 n k H i x i ∑ i = 1 n k H i \theta_{k+1}=\Sigma^{-1}\frac{\sum_{i=1}^{n_k}H_ix_i}{\sum_{i=1}^{n_k}H_i} θk+1=Σ1i=1nkHii=1nkHixi

控制变量法(Control Variates)(CV)

原理
构造新的估计量 I n I S C V = I n I S − λ ( J n − J ) I_n^{ISCV}=I_n^{IS}-\lambda(J_n-J) InISCV=InISλ(JnJ) 其中 E ( J n ) = J E(J_n)=J E(Jn)=J,则 I n I S C V I_n^{ISCV} InISCV显然是 I I I的一个无偏估计,其方差为 V a r ( I n I S C V ) = V a r ( I n I S ) − 2 λ C o v ( I n I S , J n ) + λ 2 V a r ( J n ) Var(I_n^{ISCV})=Var(I_n^{IS})-2\lambda Cov(I_n^{IS},J_n)+\lambda^2Var(J_n) Var(InISCV)=Var(InIS)2λCov(InIS,Jn)+λ2Var(Jn) λ ^ = C o v ( I n I S , J n ) V a r ( J n ) \hat{\lambda}=\frac{Cov(I_n^{IS},J_n)}{Var(J_n)} λ^=Var(Jn)Cov(InIS,Jn)可得估计量 I n I S C V I_n^{ISCV} InISCV的方差的最小值,易算出此最小方差比原始方差 V a r ( I n I S ) Var(I_n^{IS}) Var(InIS)小,实际操作中 λ ^ \hat{\lambda} λ^由对应分布的样本估计

J n \bm{J_n} Jn的构造
通常来说,为了让方差尽可能小,我们希望 C o v ( I n I S , J n ) Cov(I_n^{IS},J_n) Cov(InIS,Jn)尽可能大,所以直观上我们希望 J n J_n Jn的表达式与 I n I S I_n^{IS} InIS相似,这样其相关性会变高,再兼顾上易于计算 J n J_n Jn的期望,我们构造出的 J n J_n Jn的表达式如下 J n = w ˉ = 1 n ∑ i = 1 n w ( x i ) x ∼ q ( x , θ k ) J_n=\bar{w}=\frac1n\sum_{i=1}^nw(x_i)\uad x\sim q(x,\theta_k) Jn=wˉ=n1i=1nw(xi)xq(x,θk)此时 E ( J n ) = 1 E(J_n)=1 E(Jn)=1 I n I S C V = I n I S − λ ( w ˉ − 1 ) I_n^{ISCV}=I_n^{IS}-\lambda(\bar{w}-1) InISCV=InISλ(wˉ1)

Rao-Blackwellization条件期望法(RB)

原理
首先考虑一般情况,我们要估计 I = E ( h ( X , Y ) ) I=E(h(X,Y)) I=E(h(X,Y)),其中 ( X , Y ) (X,Y) (X,Y)的联合分布为 f ( x , y ) f(x,y) f(x,y)假设我们可以显式地算出 E ( h ( X , Y ) ∣ Y ) \bm{E(h(X,Y)|Y)} E(h(X,Y)Y),则由公式 E ( E ( h ( X , Y ) ∣ Y ) ) = E ( h ( X , Y ) ) \bm{E(E(h(X,Y)|Y))=E(h(X,Y))} E(E(h(X,Y)Y))=E(h(X,Y)),我们可以构造出RB估计量 I n R B = 1 n ∑ i = 1 n E ( h ( x i , y i ) ∣ y i ) I_n^{RB}=\frac1n\sum_{i=1}^nE(h(x_i,y_i)|y_i) InRB=n1i=1nE(h(xi,yi)yi)则由公式 V a r ( h ( X , Y ) ) = V a r ( E ( h ( X , Y ) ∣ Y ) ) + E ( V a r ( h ( X , Y ) ∣ Y ) ) \bm{Var(h(X,Y))=Var(E(h(X,Y)|Y))+E(Var(h(X,Y)|Y))} Var(h(X,Y))=Var(E(h(X,Y)Y))+E(Var(h(X,Y)Y))可得RB估计量的方差要小于原始蒙特卡罗估计的方差

与拒绝抽样方法结合构造出具体的算法
假设拒绝抽样在随机时间M(随机时间的定义此处不给出,从名字直观理解就行)时停止抽样,此时得到n个样本 x 1 , . . . . . . , x n x_1,......,x_n x1,......,xn,记进行拒绝操作前的原始样本为 y 1 , . . . . . . , y n y_1,......,y_n y1,......,yn

原始的拒绝方法估计量为 I n M C = 1 n ∑ i = 1 M h ( y i ) 1 { u i < w ( y i ) } I_n^{MC}=\frac1n\sum_{i=1}^Mh(y_i)\bm{1}_{\{u_i<w(y_i)\}} InMC=n1i=1Mh(yi)1{ ui<w(yi)}RB估计量为 I n R B = 1 n ∑ i = 1 M h ( y i ) v ( y i ) I_n^{RB}=\frac1n\sum_{i=1}^Mh(y_i)v(y_i) InRB=n1i=1Mh(yi)v(yi)其中 v ( y i ) = E U i ( 1 { U i < w ( y i ) } ∣ y i ) v(y_i)=E_{U_i}(\bm{1}_{\{U_i<w(y_i)\}}|y_i) v(yi)=EUi(1{ Ui<w(yi)}yi)

小讯
上一篇 2025-03-02 08:05
下一篇 2025-01-06 08:52

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/49539.html