- 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/
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
我正在尝试使用在 weka 库中实现的 SVM 分类来对一些数据进行分类。我的分类代码如下所示: BufferedReader reader = new BufferedReader(new File
我已经为 jdbm 构建了 Lucene Directory 实现,一个嵌入式Java数据库。 Directory API 的一部分是与"file"修改日期相关的两个方法:touchFile 和 fi
我的任务是编写一个函数,将文件中单词的长度与整数进行比较,然后返回所有符合该大小的单词。我得到的答案几乎相同,除了我没有像他们那样包含 string.strip() : def get_words(d
xgb.importance 命令返回由 f score 衡量的特征重要性图。 这个f分数代表什么,它是如何计算的? 输出: Graph of feature importance 最佳答案 这是一个
有一个二元分类问题:如何获得 Ranger 模型变量的 Shap 贡献? 示例数据: library(ranger) library(tidyverse) # Binary Dataset df %
如今 servlet 在哪里使用? 我知道 servlet 是在面向请求/响应的服务器(例如支持 Java 的 Web 服务器)中运行的模块。但是现在我没有听到任何人使用 servlet。这可能是因为
我是一名优秀的程序员,十分优秀!