Comment échantillonner à partir d'une distribution discrète sur les entiers non négatifs?


10

J'ai la distribution discrète suivante, où α,β sont des constantes connues:

p(x;α,β)=Beta(α+1,β+x)Beta(α,β)for x=0,1,2,

Quelles sont certaines approches pour échantillonner efficacement à partir de cette distribution?

Réponses:


9

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.r=1r

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).Bêta(α,β)uNB(r,u)r=1

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:une=rc=α=β

> 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 SuppDistspackage:

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 ghyperdans le SuppDistspackage. Je crois que cela peut également être trouvé dans le livre de Johnson & al Univariate Discrete Distributions .


Cette réponse est excellente, mais ce serait encore mieux si vous prouviez que la densité OP affichée est la même que la densité binomiale négative.
Sycorax dit Réintégrer Monica

1
@ user777 Je pense que l'auteur de l'OP l'a prouvé lui-même, au vu de son commentaire à la réponse de Xian (distribution prédictive postérieure dans le modèle binomial négatif avec un conjugué Beta antérieur).
Stéphane Laurent

10

Étant donné que diminue avecx, je suggère de générer une variable uniformeuU(0,1)et de calculer les sommes cumuléesSk=k x=0Beta(α+1,β+x)

Bêta(α+1,β+X)Bêta(α,β)=αα+β+Xβ+X-1α+β+X-1βα+β
XuU(0,1) jusqu'àSk>uLa réalisation est alors égale aukcorrespondant. Puisque R x = Beta ( α + 1 , β + x )
Sk=X=0kBêta(α+1,β+X)Bêta(α,β)
Sk>u
ketSk=Sk-1+Rkle calcul peut éviter d'utiliser complètement les fonctions Gamma.
RX=Bêta(α+1,β+X)Bêta(α,β)=αα+β+Xβ+X-1α+β+X-1βα+β=α+β+X-1α+β+Xβ+X-1α+β+X-1RX-1=β+X-1α+β+XRX-1
Sk=Sk-1+Rk

1
Sk=1-Γ(une+b)Γ(b+k+1)Γ(b)Γ(une+b+k+1)

1
kuαβuΓ(b+k+1)Γ(une+b+k+1)αβsont tous deux intégraux, alors la solution est la racine d'un polynôme - mais même alors, l'utilisation de Gamma peut être la voie à suivre.
whuber

1
p
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.