私は私は次のようにアルゴリズムを作成する必要た運動有する:制服の比オブ制服分布
比を事実に基づいているが、その密度fの確率変数X(xについて)我々は、V)均一セットに分布
Af = {(u,v):0 < v ≤ f(u/v)}
ランダム点は最小 - から除去によってAfの中に均一にサンプリングすることができる、(対についてX = U/Vを計算することによって所望の密度からUをXを生成することができますすなわち、Afを含む最小の可能な長方形。 それは(U-、U +)×(0、Vが+)で与えられる
v+ = max f(x), x
u− = minx f(x), x
u+ = maxx f(x)
そして比オブ制服方法は、以下の簡単な手順で構成されてここで
乱数を生成しUを(u-、u +)で一様に含む。
(0、v +)に乱数Vを一様に生成します。
X←U/Vを設定します。
F(X)≤V 2受け入れ、返すX.エルス
が再びしよう。
これまでの私のコード:
x <- cnorm(1, mean = 0, sd=1)
myrnorm <- function(pdf){
## call rou() n times
pdf <- function(x) {exp(-x^2/2)}
}
rou <- function(u, v) {
uplus <- 1
vplus <- 1
n <- 100
u <- runif(n, min=0, max=uplus)
v <- runif(n, min=0, max=vplus)
xi <- v/u
while(v < sqrt(xi)) {
if(v^2 <= xi)
return(xi)
}
}
myx <- myrnorm(1000)
hist(myx)
しかし、私は本当に行く方法を知りません。私はこの練習をしました。私は本当に助言に感謝します。
ありがとう、 – JimmyJim