J'ai développé un estimateur de densité de noyau simple en Java, basé sur quelques dizaines de points (peut-être jusqu'à une centaine) et une fonction de noyau gaussien. L'implémentation me donne à tout moment le PDF et le CDF de ma distribution de probabilité.
Je voudrais maintenant implémenter une méthode d'échantillonnage simple pour ce KDE. Un choix évident serait bien sûr de puiser dans l'ensemble même des points constituant le KDE, mais j'aimerais pouvoir récupérer des points légèrement différents de ceux du KDE.
Je n'ai pas trouvé jusqu'à présent de technique d'échantillonnage que je pourrais facilement implémenter pour résoudre ce problème (sans dépendre de bibliothèques externes pour l'intégration numérique ou de calculs complexes). Des conseils? Je n'ai pas d'exigences particulièrement fortes en matière de précision ou d'efficacité, ma principale préoccupation est d'avoir une fonction d'échantillonnage qui fonctionne et puisse être facilement mise en œuvre. Merci!
rnorm(n, sample(dx$x, n, prob = dx$y, replace = TRUE), dx$bw)
oùdx
est sorti ladensity
fonction. L'argumentprob
doit être fourni car sinon vous échantillonnez uniformément.Réponses:
Comme mentionné par Procrastinator, il existe un moyen simple d'échantillonner à partir d'un estimateur de densité du noyau:
la source