作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个积分要评估
"x^(-0.5)" ; x in [0.01,1]
rexp
和
dexp
生成 PDF - 我的代码看起来像这样 -
#Without Importance Sampling
set.seed(1909)
X <- runif(1000,0.01,1)
Y <- X^(-0.5)
c( mean(Y), var(Y) )
#Importance sampling Monte Carlo
w <- function(x) dunif(x, 0.01, 1)/dexp(x,rate=1.5)
f <- function(x) x^(-0.5)
X= rexp(1000,rate=1.5)
Y=w(X)*f(X)
c( mean(Y), var(Y) )
最佳答案
一般来说,您的方法似乎是正确的,但您必须对要集成的域更加小心。在您的原始示例中,大约 20% 的值 rexp(1000, 1.5)
高于 1. 函数 dexp(x, rate=1.5)
不是区间 [0,1] 上的密度函数。你必须除以 pexp(1, rate=1.5)
.因此,对于重要性采样示例,我将执行以下操作:
#Importance sampling Monte Carlo
w <- function(x) dunif(x, 0.01, 1)/dexp(x,rate=1.5) * pexp(1, rate=1.5)
f <- function(x) x^(-0.5)
X <- rexp(1000,rate=1.5)
X <- X[X<=1]
Y <- w(X)*f(X)
c(mean(Y), var(Y))
#Without Importance Sampling
set.seed(1909)
X <- runif(1000,0.01,1)
Y <- (1+sinh(2*X)*log(X))^(-1)
c(mean(Y), var(Y))
#Importance sampling Monte Carlo
w <- function(x) dunif(x, 0.01, 1)/dnorm(x, mean=0.5, sd=0.25) * (1-2*pnorm(0, mean=0.5, sd=0.25))
f <- function(x) (1+sinh(2*x)*log(x))^(-1)
X <- rnorm(1000, mean=0.5, sd=0.25)
Y1 <- w(X)
Y2 <- f(X)
Y <- Y1*Y2
Y <- Y[!(is.na(Y2)&Y1==0)]
c(mean(Y), var(Y))
y
是。它只是一个常数吗?那么也许威 bool 分布可能会起作用。
dexp(x, rate=1.5)
不是区间 [0,1] 上的密度函数,它只积分到
pexp(1, rate=1.5)
.然而,函数
dexp01 <- function(x, rate){
dexp(x, rate=rate)/pexp(1, rate=rate)
}
integrate(dexp, 0, 1, rate=1.5)
integrate(dexp01, 0, 1, rate=1.5)
dexp0.3_8 <- function(x, rate){
dexp(x, rate=rate)/(pexp(8, rate=rate)-pexp(0.3, rate=rate))
}
integrate(dexp0.3_8, 0.3, 8, rate=1.5)
rnorm(1000, .5, .25)
中大约 95% 的值位于 0 到 1 的区间内(在此区间之外有许多值肯定会增加方差)。但是,我不确定这是分布函数的最佳选择。重要性函数的选择是一个我不太熟悉的问题。你可以问
CrossValidated .你的下一个问题也是如此。
关于R:使用重要性采样的蒙特卡罗积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22060675/
我正在编写一个 c 脚本来将 pi 近似与 OpenMp 并行化。我认为我的代码运行良好,输出令人信服。我现在用 4 个线程运行它。我不确定的是这段代码是否容易受到竞争条件的影响?如果是,我该如何协调
我现在正在学习拉斯维加斯和蒙特卡洛算法自己,有两个问题可能很简单但我无法回答,如果有人能帮助我......提前谢谢 考虑针对问题 P 的蒙特卡洛算法 A,其预期运行时间在任何大小为 n 的实例上至多为
在 Sutton's book on RL ,在蒙特卡罗政策评估下,他在第 111 页提到注意估计单个状态值的计算费用与状态数量无关。然而,对于蒙特卡洛来说: 状态的平均返回是从第一次遇到该状态时到该
我是一名优秀的程序员,十分优秀!