非負整数の離散分布からサンプリングする方法は?


9

次の離散分布があります。ここで、は既知の定数です。α,β

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

この分布から効率的にサンプリングするためのいくつかのアプローチは何ですか?

回答:


9

これは、ベータ版の負の二項分布であり、ウィキペディアの表記法を使用して、パラメーターになります。rが整数の場合、ベータパスカル分布とも呼ばれます。コメントで述べたように、これは成功確率の前に共役ベータを持つベイズの負の二項モデルの予測分布です。r=1r

Beta(α,β)uNB(r,u)r=1

brrrbeta_nbinomdbeta_nbinoma=rc=αd=β

> 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

コードを見るとghyperSuppDistsパッケージの(一般化された超幾何)分布のファミリーを実際に呼び出していることがわかります。

brr::rbeta_nbinom
function(n, a, c, d){
  rghyper(n, -d, -a, c-1)
}

実際、BNB分布はタイプIVの一般化超幾何分布として知られています。ヘルプを参照してくださいghyperSuppDistsパッケージを。これは、Johnson&alの著書であるUnivariate Discrete Distributionsにも記載されていると思います。


この答えは素晴らしいですが、投稿された密度OPが負の二項密度と同じであることを証明した方がよいでしょう。
Sycoraxは、モニカを2015

1
@ user777 OPの作成者は、Xianの答え(共役ベータが事前にある負の2項モデルの事後予測分布)に対するコメントを考慮して、自分で証明したと思います。
ステファン・ローラン

10

Beta(α+1,β+x)Beta(α,β)=αα+β+xβ+x1α+β+x1βα+β
xuU(0,1)
Sk=x=0kBeta(α+1,β+x)Beta(α,β)
Sk>u
k
Rx=Beta(α+1,β+x)Beta(α,β)=αα+β+xβ+x1α+β+x1βα+β=α+β+x1α+β+xβ+x1α+β+x1Rx1=β+x1α+β+xRx1
Sk=Sk1+Rk

1
Sk=1Γ(a+b)Γ(b+k+1)Γ(b)Γ(a+b+k+1)

1
kuαβuΓ(b+k+1)Γ(a+b+k+1)αβ両方とも積分であり、その場合の解は多項式の根です。ただし、それでも、ガンマを使用する方法がまだあるかもしれません。
whuber

1
p
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.