【发布时间】:2012-12-11 02:39:36
【问题描述】:
我正在尝试使用重要性采样实现蒙特卡洛积分。我创建了一个简单的例子 - 我希望整合 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
【问题讨论】:
-
什么是IS? pdf?请去掉首字母缩略词。
-
我冒昧地猜测一下,IS 表示 Importance Sampling,pdf 表示概率密度函数。
-
编辑完成,pdf = 概率密度函数,IS = 重要性抽样
-
我建议花一点时间阅读 C 语言中的数字食谱。有 pdf 版本可供下载。您不必使用 c 代码,因为算法本身非常详细。
标签: r integration simulation probability montecarlo