Estoy tratando de generar muestras aleatorias de un pdf personalizado usando R. Mi pdf es:
Generé muestras uniformes y luego traté de transformarlo en mi distribución personalizada. Hice esto buscando el cdf de mi distribución ( ) y configurándolo en la muestra uniforme ( ) y resolviendo para .
Para generar una muestra aleatoria con la distribución anterior, obtenga una muestra uniforme y resuelva para in
Lo implementé R
y no obtengo la distribución esperada. ¿Alguien puede señalar la falla en mi entendimiento?
nsamples <- 1000;
x <- runif(nsamples);
f <- function(x, u) {
return(3/2*(x-x^3/3) - u);
}
z <- c();
for (i in 1:nsamples) {
# find the root within (0,1)
r <- uniroot(f, c(0,1), tol = 0.0001, u = x[i])$root;
z <- c(z, r);
}
nsamples <- 1e6
fue un buen partido.