我正在尝试使用重要性采样来实现蒙特卡洛积分。我创建了一个简单的示例 - 我希望整合 h(x),它具有学生 t 分布(mu = 1,sigma = 1,df = 100),但我们放大了 4 倍 - 我想在区间 [-2,2] 上积分 - f(x),我的 h(x) 的 pdf,然后是 t(1,1,100) - 我的建议分布是 g(x),正常 (0,1)
我无法完成这项工作......我对如何实现重要性采样以及如何使用 h(x) 的概率密度函数和建议分布 g(x) 感到困惑。我确定我的实现是错误的。我希望有人可以帮助我吗?
xtemp<-rnorm(100000)
x<-xtemp[which(xtemp>=-2 & xtemp<=2)]
hx<-dt(x,100)*4
fx<-dt(x,100)
gx<-dnorm(x)
IntMC<-sum(hx*fx/gx)/length(hx)
IntAn <-(pt(2,100)-pt(-2,100))*4