R で多項分布を使用する方法
多項分布は、各結果の発生確率が固定されている場合に、 k個の異なる結果に対して特定のカウント数を取得する確率を表します。
確率変数が次の式で求められる場合:
確率 = n! * (p 1 x 1 * p 2 x 2 * … * p k x k ) / (x 1 ! * x 2 ! … * x k !)
金:
- n:イベントの総数
- x 1 :結果 1 が発生した回数
- p 1 :与えられた試行で結果 1 が発生する確率
R で多項確率を計算するには、次の構文を使用するdmultinom()関数を使用できます。
dmultinom(x=c(1, 6, 8), prob=c(.4, .5, .1))
金:
- x : 各結果の頻度を表すベクトル
- prob : 各結果の確率を表すベクトル (合計は 1 でなければなりません)
次の例は、この関数を実際に使用する方法を示しています。
例1
市長選挙の 3 者による選挙では、候補者 A は票の 10%、候補者 B は票の 40%、候補者 C は票の 50% を獲得します。
10 人の有権者の無作為サンプルを選択した場合、2 人が候補 A に投票し、4 人が候補 B に投票し、4 人が候補 C に投票する確率はいくらですか?
R で次のコードを使用すると、この質問に答えることができます。
#calculate multinomial probability
dmultinom(x=c(2, 4, 4), prob=c(.1, .4, .5))
[1] 0.0504
ちょうど 2 人が A に投票し、4 人が B に、4 人が C に投票する確率は0.0504です。
例 2
骨壷に黄色のビー玉が 6 個、赤いビー玉が 2 個、ピンクのビー玉が 2 個入っているとします。
代替品を使用して壺から 4 つのボールをランダムに選択した場合、4 つのボールすべてが黄色である確率はどれくらいですか?
R で次のコードを使用すると、この質問に答えることができます。
#calculate multinomial probability
dmultinom(x=c(4, 0, 0), prob=c(.6, .2, .2))
[1] 0.1296
4 つのボールすべてが黄色である確率は0.1296です。
例 3
2 人の学生がチェスを対戦しているとします。学生 A が特定のゲームに勝つ確率は 0.5、学生 B が特定のゲームに勝つ確率は 0.3、特定のゲームで引き分けになる確率は 0.2 です。
10 ゲームをプレイした場合、プレーヤー A が 4 回勝ち、プレーヤー B が 5 回勝ち、両者が 1 回引き分けになる確率はいくらですか?
R で次のコードを使用すると、この質問に答えることができます。
#calculate multinomial probability
dmultinom(x=c(4, 5, 1), prob=c(.5, .3, .2))
[1] 0.0382725
プレーヤー A が 4 回勝ち、プレーヤー B が 5 回勝ち、1 回引き分けになる確率は約0.038です。
追加リソース
次のチュートリアルでは、多項分布に関する追加情報を提供します。