ポアソン/負の二項式の後の置換ありまたはなしのサンプリングを分析的に解く


8

短縮版

独立したポアソンドローと、置換の有無にかかわらずさらにサンプリングすることで得られる複合的な可能性を分析的に解決または近似しようとしています(実際にはどちらでもかまいません)。MCMC(Stan)で尤度を使用したいので、定数項までの解だけが必要です。最終的に、私は最初のドローがネガからであるプロセスをモデル化したいと思います。二項分布ですが、ポアソンのケースの解決策でそこに到達できると思います。

解決策が実行不可能である可能性は十分にあります(これが単純な問題か非常に難しい問題かを判断できるほど数学を理解していません)。したがって、問題がおそらく扱いにくい理由(たとえば、既知の困難な問題と比較する)の近似、否定的な結果、または直感にも興味があります。私が前進するのに役立つ有用なペーパー/定理/トリックへのリンクは、目前の問題へのそれらの関係が完全にうまくいかなくても、良い答えです。

公式声明

より正式には、まずY=(y1,...,yN),ynPois(λn)独立して引き出され、次いでIサンプルの全てからランダムにアイテム得るために。つまり、壷から色のボールを描画します。ここで、色のボールの量はから描画されます。ここで、は既知で固定されていると仮定し、Y Z = Z 1Z NK N P 、O 、I S λ NK Σ N Y NKkYZ=(z1,...,zN)knPois(λn)knynk。技術的にサンプリングは置換なしで行われますが、置換ありのサンプリングを想定することは大したことではありません。

置換なしのサンプリングを解決するために2つの方法を試しましたが(一部の用語がキャンセルされたため、これはより簡単なケースのように思われました)、両方に行き詰まりました。交換せずにサンプリングする場合の可能性は次のとおりです。

P(Z=(z1,...,zN)|Λ=(λ1,...,λN))=Y;n:ynzn(n=1N(ynzn)(n=1Nynk)n=1NPoisson(yn|λn))P(nynk|Λ)

編集:「試みられたソリューションのセクションは、回答のソリューションがそれらに基づいていないため削除されました(そして、はるかに優れています)

回答:


3

交換なしの場合

お持ちの場合はの独立したポアソン分布する変数をn

YiPois(λi)

と条件

j=inYj=K

その後

{Yi}Multinom(K,(λij=1nλj))

したがって、最初に合計(条件によるポアソン分布カットオフ)の値を描画するように、色のボールの倍で骨壷を満たし、多項分布に従って骨壷をボールで満たすことができます。Y I K K K KnYiKKkK

多項分布によると、骨壷を個のボールで満たすことは、各ボールをカテゴリー分布から独立して色で描画することと同じです。次に、urnに追加された最初のボールをランダムサンプル(このサンプルが置き換えなしで描画された場合)を定義していると見なすことができます。これの分布は、別の多項分布ベクトルです。 k { Z i }Kk{Zi}

{Zi}Multinom(k,(λij=1nλj))

シミュレーション

##### simulating sample process for 3 variables #######


# settings
set.seed(1)
k = 10
lambda = c(4, 4, 4)
trials = 1000000

# observed counts table
Ocounts = array(0, dim = c(k+1, k+1, k+1))

for (i in c(1:trials)) {
  # draw poisson with limit sum(n) >= k
  repeat {
    Y = rpois(3,lambda)
    if (sum(Y) >= k) {break}
  }
  # setup urn
  urn <- c(rep(1, Y[1]), rep(2, Y[2]), rep(3, Y[3]))
  # draw from urn
  s <- sample(urn, k, replace=0)
  Z = c(sum(s==1),sum(s==2),sum(s==3))
  Ocounts[Z[1]+1, Z[2]+1, Z[3]+1] = Ocounts[Z[1]+1, Z[2]+1, Z[3]+1] + 1
}



# comparison
observed = rep(0, 0.5*k*(k+1))
expected = rep(0, 0.5*k*(k+1))   
t = 1

for (z1 in c(0:k)) {
  for (z2 in c(0:(k-z1))) {  
    z3 = k-z1-z2 
    observed[t] = Ocounts[z1+1, z2+1, z3+1]
    expected[t] = trials*dmultinom(c(z1, z2, z3), prob=lambda)
    t = t+1
  }
}

plot(observed,expected)
x2 <- sum((observed-expected)^2/expected)
pvalue <- 1-pchisq(x2, 66-1)

結果

> # results from chi-sq test
> x2
[1] 75.49286
> pvalue
[1] 0.1754805

負の二項

引数は、ディリクレ多項分布になる(特定の条件下で)負の二項分布の場合にも同じように機能します。

以下はシミュレーションの例です

##### simulating sample process for 3 variables #######

# dirichlet multinomial for vectors of size 3
ddirmultinom =  function(x1,x2,x3,p1,p2,p3) {
  (factorial(x1+x2+x3)*gamma(p1+p2+p3)/gamma(x1+x2+x3+p1+p2+p3))/
  (factorial(x1)*gamma(p1)/gamma(x1+p1))/
  (factorial(x2)*gamma(p2)/gamma(x2+p2))/
  (factorial(x3)*gamma(p3)/gamma(x3+p3))
}

# settings
set.seed(1)
k = 10
theta = 1
lambda = c(4,4,4)
trials = 1000000

# calculating negative binomials pars
means = lambda
vars = lambda*(1+theta)

ps = (vars-means)/(vars)
rs = means^2/(vars-means)


# observed counts table
Ocounts = array(0, dim = c(k+1,k+1,k+1))

for (i in c(1:trials)) {
  # draw poisson with limit sum(n) >= k
  repeat {
    Y = rnbinom(3,rs,ps)
    if (sum(Y) >= k) {break}
  }
  # setup urn
  urn <- c(rep(1,Y[1]),rep(2,Y[2]),rep(3,Y[3]))
  # draw from urn
  s <- sample(urn,k,replace=0)
  Z = c(sum(s==1),sum(s==2),sum(s==3))
  Ocounts[Z[1]+1,Z[2]+1,Z[3]+1] = Ocounts[Z[1]+1,Z[2]+1,Z[3]+1] + 1
}



# comparison
observed = rep(0,0.5*k*(k+1))
expected = rep(0,0.5*k*(k+1))   
t = 1

for (z1 in c(0:k)) {
  for (z2 in c(0:(k-z1))) {  
    z3 = k-z1-z2 
    observed[t]=Ocounts[z1+1,z2+1,z3+1]
    expected[t]=trials*ddirmultinom(z1,z2,z3,lambda[1]/theta,lambda[2]/theta,lambda[3]/theta)
    t = t+1
  }
}

plot(observed,expected)
x2 <- sum((observed-expected)^2/expected)
pvalue <- 1-pchisq(x2,66-1)

# results from chi-sq test
x2
pvalue

1
答えてくれてありがとう。私はすでにこのアプローチを試しましたが、2つの問題がありますa)合計の条件付けが(数学的に)リサンプリングと同じである理由がわかりません。多項分布。コンディショニングとリサンプリングが同じになる理由を詳しく説明してください。
MartinModrák、2018

ああ、さらに読むと、私はあなたの意見を理解していると思います。たぶん私はシミュレーションで愚かな間違いをしただけで、チェックに行きます。
MartinModrák、2018

2つのステップを使用します。1)独立したポアソン分布からを描画して骨壷を色のボールで塗りつぶすことは、ポアソン分布から合計を描画し、次に多項分布からを描画して骨壷を埋めることと同じです。2)多項分布によって番号が定義されている色付きのボールで満たされた骨壷からボールのサブセットを描画することは、注釈多項分布に相当します(直感、描画からの各ボールの色について骨壷が満たされていることがわかります)カテゴリー分布)。Y iY i = K Y iYiYiYi=KYi
Sextus Empiricus

はい、シミュレーションコードにバグがありました:-)助けてくれてありがとう!あなたは正しいですし、私が以前見なかった推論のステップも理解しています。私は同じ関係が否定に当てはまらない理由を理解しようとしています。二項分布およびディリクレ多項分布。(NB変数に一定のFano因子があると仮定し、それらの合計を条件としてDMを取得します)-「多項式からの置換なしのサンプリング」は多項式ですが、「DMからの置換なしのサンプリング」はDMではありません(その理由は正しいと思いますか? )
MartinModrák18年

1
2番目のシミュレーションもめちゃくちゃになりました。DMのケースでも機能するようです。
MartinModrák、2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.