使用模拟找到概率 (()>()) 的近似值
Find approximate value for the probability (()>()) using simulation
我模拟了以下分布:
在统计程序 R 中,现在我必须找到概率 P(log(Y ) > sin(X)) 的近似值。我怎样才能在 R 中做到这一点?谁能帮帮我?
我隐藏了我自己的模拟,而其他有同样问题的人不应该
复制它。但是我有另一个 post 的模拟也可以工作:
n <- 1e4
X <- data.frame(x = runif(n, -1, 1), y = runif(n, 0, 1), z = runif(n, 0, 3/2))
i <- with(X, 0 < y & x^2 + y^2 < 1 & z <= (3/2)*y)
X <- X[i, ]
例如,我如何使用此模拟来找到 R 中的概率 P(log(Y) > sin(X))?
我不知道如何 post 没有你的朋友也会看到它的解决方案......;-)
# part 1: prepare probability density distribution on rect -1,...1
n <- 1e4
X <- data.frame(x = runif(n, -1, 1), y = runif(n, -1, 1), h=1)
X$h <- 3/2*X$y # set probability density h = 3/2*y
head(X)
# part 2: restrict to half disk and normalize probability h to equal 1
i <- with(X, 0 < y & x^2 + y^2 < 1)
X <- X[i, ]
X$h <- X$h / sum(X$h)
plot(X[, 1:2], asp=1, pch='.')
# measure probability for points with log(y) > sin(x)
ii <- with(X, log(y) > sin(x))
points(X[ii, 1:2], pch='.', col="red")
p <- sum(X[ii, "h"])
p
我模拟了以下分布:
在统计程序 R 中,现在我必须找到概率 P(log(Y ) > sin(X)) 的近似值。我怎样才能在 R 中做到这一点?谁能帮帮我?
我隐藏了我自己的模拟,而其他有同样问题的人不应该 复制它。但是我有另一个 post 的模拟也可以工作:
n <- 1e4
X <- data.frame(x = runif(n, -1, 1), y = runif(n, 0, 1), z = runif(n, 0, 3/2))
i <- with(X, 0 < y & x^2 + y^2 < 1 & z <= (3/2)*y)
X <- X[i, ]
例如,我如何使用此模拟来找到 R 中的概率 P(log(Y) > sin(X))?
我不知道如何 post 没有你的朋友也会看到它的解决方案......;-)
# part 1: prepare probability density distribution on rect -1,...1
n <- 1e4
X <- data.frame(x = runif(n, -1, 1), y = runif(n, -1, 1), h=1)
X$h <- 3/2*X$y # set probability density h = 3/2*y
head(X)
# part 2: restrict to half disk and normalize probability h to equal 1
i <- with(X, 0 < y & x^2 + y^2 < 1)
X <- X[i, ]
X$h <- X$h / sum(X$h)
plot(X[, 1:2], asp=1, pch='.')
# measure probability for points with log(y) > sin(x)
ii <- with(X, log(y) > sin(x))
points(X[ii, 1:2], pch='.', col="red")
p <- sum(X[ii, "h"])
p