我正在尝试实现这个积分的重要性采样 其中是 df=5 的 t 分布。
我已经从上述分布中取样,并被告知使用下面 1 和 2 中的样本:
重要性函数等于 其中 和
重要性函数等于
我该怎么做?我搜索了一下,模糊地理解了概念。有人可以更详细地解释我应该做什么吗?好像我有我需要的所有工具。
我正在尝试实现这个积分的重要性采样 其中是 df=5 的 t 分布。
我已经从上述分布中取样,并被告知使用下面 1 和 2 中的样本:
重要性函数等于 其中 和
重要性函数等于
我该怎么做?我搜索了一下,模糊地理解了概念。有人可以更详细地解释我应该做什么吗?好像我有我需要的所有工具。
如果您的困难在于模拟本身,这是我的 R 代码,用于比较来自(普通)的模拟,等于 (柯西分布和幂分布的混合)和等于 (折叠 Gamma)。
模拟很简单
> sam1=matrix(rt(10^6,df=5),ncol=100)
> fam1=h(sam1)
在哪里
> h
function(x){
sqrt(abs(x/{1-x}))}
从进行模拟需要从平方根部分进行模拟。如果你在,你会得到 over或 over,这意味着这个分布可以表示为 (在下文中,我强制两个子样本具有相同的大小,这是一个 Rao-Blackwellisation 技巧,可以减少方差而不影响预期。)
> sam22=1+sample(c(-1,1),5*10^5,rep=TRUE)*runif(5*10^5)^2
> sam21=rcauchy(5*10^5)
> sam2=matrix(sample(c(sam21,sam22)),ncol=100)
> fam2=h(sam2)*dt(sam2,df=5)/g(sam2)
在哪里
g=函数(x){.5*dcauchy(x)+.125*((x>0)*(x<2))/sqrt(abs(1-x))}
模拟遵循折叠表示:
> sam3=matrix(1+sample(c(-1,1),10^6,rep=TRUE)*rgamma(10^6,.5),ncol=100)
> fam3=h(sam3)*dt(sam3,df=5)/(.5*dgamma(abs(1-sam3),.5))
下面的箱线图说明了三种模拟方法的比较(我们应该在下一版的蒙特卡洛统计方法中使用它!)
