J'ai un objet de densité dd créé comme ceci:Générer déviants aléatoires stochastiques à partir d'un objet de densité avec R
x1 <- rnorm(1000)
x2 <- rnorm(1000, 3, 2)
x <- rbind(x1, x2)
dd <- density(x)
plot(dd)
qui produit cette distribution très non gaussienne:
alt text http://www.cerebralmastication.com/wp-content/uploads/2009/09/nongaus.png
Je voudrais En fin de compte, il est préférable d'obtenir des déviations aléatoires de cette distribution, de la même façon que rnorm s'écarte d'une distribution normale.
La façon dont j'essaie de résoudre ceci est d'obtenir le CDF de mon noyau et de l'obtenir pour me dire la variance si je lui transmets une probabilité cumulée (CDF inverse). De cette façon, je peux transformer un vecteur de variables aléatoires uniformes en tirages à partir de la densité.
Il semble que ce que j'essaie de faire devrait être quelque chose de fondamental que les autres ont fait avant moi. Y a-t-il un moyen simple ou une fonction simple de le faire? Je déteste réinventer la roue. FWIW J'ai trouvé this R Help article mais je ne peux pas dire ce qu'ils font et la sortie finale ne semble pas produire ce que je cherche. Mais cela pourrait être une étape que je ne comprends tout simplement pas.
J'ai envisagé d'aller avec un Johnson distribution from the suppdists package mais Johnson ne me donnera pas la bosse bimodale sympa que mes données ont.
plus d'une question que la programmation des statistiques ... –
Je sais que les stats. Je veux implémenter la méthode de statistiques dans une langue donnée. C'est la programmation. –