J'ai la distribution discrète suivante, où sont des constantes connues:
Quelles sont certaines approches pour échantillonner efficacement à partir de cette distribution?
J'ai la distribution discrète suivante, où sont des constantes connues:
Quelles sont certaines approches pour échantillonner efficacement à partir de cette distribution?
Il s'agit d'une distribution binomiale négative bêta , avec le paramètre dans votre cas, en utilisant la notation Wikipedia. Il a également nommé distribution Beta-Pascal lorsque r est un entier. Comme vous l'avez noté dans un commentaire, il s'agit d'une distribution prédictive dans le modèle binomial négatif bayésien avec un conjugué Beta avant sur la probabilité de succès.
Ainsi, vous pouvez l'échantillonner en échantillonnant une variable u puis en échantillonnant une variable binomiale négative NB ( r , u ) (avec r = 1 dans votre cas, c'est-à-dire une distribution géométrique).
Cette distribution est mis en œuvre dans le package R brr
. L'échantillonneur a un nom rbeta_nbinom
, le pmf a un nom dbeta_nbinom
, etc. Les notations sont , c = α , d = β . Vérifier:
> Alpha <- 2; Beta <- 3
> a <- 1
> all.equal(brr::dbeta_nbinom(0:10, a, Alpha, Beta), beta(Alpha+a, Beta+0:10)/beta(Alpha,Beta))
[1] TRUE
En regardant le code, on peut voir qu'il appelle en fait la famille ghyper
(hypergéométrique généralisée) des distributions du SuppDists
package:
brr::rbeta_nbinom
function(n, a, c, d){
rghyper(n, -d, -a, c-1)
}
En effet, la distribution BNB est connue comme une distribution hypergéométrique généralisée de type IV . Voir l'aide de ghyper
dans le SuppDists
package. Je crois que cela peut également être trouvé dans le livre de Johnson & al Univariate Discrete Distributions .
Étant donné que diminue avecx, je suggère de générer une variable uniformeu∼U(0,1)et de calculer les sommes cumuléesSk=k ∑ x=0Beta(α+1,β+x)
la source