2

編集:私が達成したかったことを明確にするために言い換えられた質問。

観測されたデータセットがあり、そこからいくつかの情報を使用してモンテカルロシミュレーションにフィードします。この研究ではRを使用しています。

たとえば、8/8の個人は、私の観察されたデータセットで特定の特性を持っています。

私がやりたいのは、この観測データからのサンプリング分布を使用して、乱数ジェネレーターにフィードするいくつかの可能な母集団の比率を選択することです。これにより、シミュレートされたカウントを生成できます(ここでは、より大きな分母も使用する必要があります)。

観測されたデータと95%信頼区間は次のとおりです。

binom.test(8, 8)
## gives point estimate of 1 and 95% CI 0.63, 1

次に、(たとえば)このサンプリング分布から1000回のランダムな描画を取得して、より大きな分母のランダムなバイナリ結果ジェネレーターにフィードします(たとえば、反復ごとに12回の試行)。最初のランダム抽選がイベントを起こす可能性が0.75だったとしましょう(以下のコードは1回の反復を示しています)。

set.seed(456)    
rbinom(1, 12, 0.75)
## Gives a count of 11 events out of 12 for this single iteration.

次に、私の質問は、Rに観測データのサンプリング分布から確率を描画させる方法です(つまり、これらの描画された確率の95%は、基礎となる統計理論によって定義された形状で、0.63と1の間にあるはずです)。より大きな分母でランダムカウントを生成します(おそらくrbinomを使用します)。

編集:私の元の投稿はより複雑で混乱していました:これがrbinomの「問題」の原因であると確信していましたが、母集団パラメータを使用したrbinomの影響について完全には考えていませんでした。私の答えと私の改訂された質問を明確にしたコメント/回答をくれたDavidRobinsonとDWinに感謝します...

4

2 に答える 2

1

あなたは混乱しています...あなたの最初の質問はナンセンスなので...そしてこれはこの議論の間違った場所です。二項母集団から8/8のベルヌーイドローの観測されたシリーズを引き起こす可能性があり、さらには信じられないほど多くの理論上の母集団があります。壷に99個の黒いボールと1個の白いボールがあるとします。交換で8回のドローで8/8のブラックボールを獲得することは合理的にもっともらしいでしょう。このようなシーケンスの確率は(99/100)^ 8=0.923になります

このコードは、これがRの「練習」でどのように機能するかを示しています。

> set.seed(123)
> sum(rbinom(10000, 8, .99)==8)
[1] 9263

したがって、このシミュレーションでは、8つの描画シーケンスの92.63%で、8つのボールすべてが黒になりました。今、あなたが尋ねていることを再考し、さらにそのような質問を提起します(stats.stackexchangeで。

于 2012-12-18T08:41:26.440 に答える
1

この回答は、私の観察データに基づいてもっともらしい確率の事後分布を作成することを提案した@DavidRobinson(ありがとう!)によるコメントから作成されました。

コード適応p。42 of Hoff、PD(2009)、A First Course in Bayesian Statistics、Springer、NY。

## Set a uniform prior.
a <- 1; b <- 1
## Set observed data.
n <- 8; y <- 8

## Posterior 95% confidence interval:
qbeta(c(.025, .975), a+y, b+n-y)
## returns [1] 0.6637329 0.9971909

これは、二項分布に基づく信頼区間に非常に近く、事前の影響によりわずかに異なります。

binom.test(8, 8)
## returns  95% CI of 0.6305834 1.0000000.

これで、この事後分布からランダムな確率のセットを抽出して、いくつかのカウントを生成するために使用できます。ここでは、説明のために5つのドローを使用します。

set.seed(9876)
n.draws <- 5

## Use rbeta to get n.draws from posterior distribution.
drawn.probs <- rbeta(n.draws, a+y, b+n-y)

## Now I can use these drawn probabilities in rbinom to get simulated counts.
rbinom(n.draws, 12, drawn.probs)

コメント/回答をありがとう-これは私がrbinomを使おうとしていた問題だけではなく、中間のステップが欠けていることに気づきました。

于 2012-12-18T21:11:09.697 に答える