試行回数 n・1回で成功する確率 p・成功する回数 k を入力してください。ちょうど k 回の確率、k 回以下・k 回以上の累積確率、期待値・分散・標準偏差と、分布全体の棒グラフをまとめて表示します。
このページでできること
- 「確率 \(p\) のことを \(n\) 回くり返して、ちょうど \(k\) 回起こる確率」\(P(X = k) = {}_{n}\mathrm{C}_{k}\, p^{k} (1-p)^{n-k}\) を、3つの数値を入れるだけでその場で計算できます
- 答えは \(\dfrac{3}{8}\) のような約分済みの分数(厳密値)と小数・パーセントの両方で表示。組み合わせの数 \({}_{n}\mathrm{C}_{k}\) の途中式も見られます
- 「\(k\) 回以下になる確率 \(P(X \leqq k)\)」「\(k\) 回以上になる確率 \(P(X \geqq k)\)」の累積確率も同時に計算します
- 期待値 \(E(X) = np\)・分散 \(V(X) = np(1-p)\)・標準偏差 \(\sigma\) と、正規分布で近似できるかの目安判定も表示します
- 起こる回数が0回から \(n\) 回までの分布全体を棒グラフで描くので、「どのあたりの回数が起こりやすいか」がひと目でわかります
この計算は何の役に立つ?
提供割合1%のガチャを100回引いたときの当たりの回数は、二項分布 \(B(100,\ 0.01)\) に従います(各回の確率が同じで独立、と公表されている場合)。1回も当たらない確率は \(0.99^{100} \fallingdotseq 36.6\%\) もあり、「100回引けば1%でもほぼ確実」という直感が危ないことが分布から読み取れます。
課金の予算を考えるときの「期待値 \(np\) 回+ばらつき」という見積もりは、まさにこのページの計算です。
工場では全数検査の代わりに「ロットから \(n\) 個抜き取り、不良が \(c\) 個以下なら合格」という抜き取り検査が使われます。不良率 \(p\) のロットが合格する確率は二項分布の累積確率 \(P(X \leqq c)\) そのもので、例えば不良率1%のロットから20個抜いて不良0個なら合格とすると、合格する確率は \(0.99^{20} \fallingdotseq 81.8\%\) です。
「どのくらいの不良率までなら高い確率で合格させ、悪いロットは落とせるか」という検査基準の設計に、この計算が使われています。
4択問題20問を全部あてずっぽうで答えると、正解数は二項分布 \(B(20,\ 0.25)\) に従い、期待値は \(20 \times 0.25 = 5\) 問です。8問以上まぐれで正解できる確率は約10%しかなく、「勘だけでは合格ラインに届きにくい」ことが確率で裏付けられます。
試験を作る側も、合格ラインをまぐれで超えにくいように、この分布を意識して問題数や基準を決めています。
成功率70%のフリースローの選手が10本投げたとき、ちょうど7本決まる確率は \({}_{10}\mathrm{C}_{7} \times 0.7^{7} \times 0.3^{3} \fallingdotseq 26.7\%\) しかありません(各回が独立で成功率が一定と見なした場合)。「7割の選手が10本中7本決める」のは意外と当たり前ではなく、6本や8本になることも普通に起こります。
好調・不調に見える結果のどこまでが「確率的に普通のばらつき」なのかを見分けるのに、二項分布が使われます。
「支持率」や「視聴率」の調査では、調査対象 \(n\) 人のうち該当する人数が二項分布に従うと考えます。誤差の目安として使われる「±数ポイント」は、標準偏差 \(\sqrt{np(1-p)}\) と正規分布による近似から計算されたものです。
「何人に聞けば誤差をどこまで小さくできるか」というサンプルサイズの設計は、二項分布の性質そのものが根拠になっています。
式とグラフ
用語・記号の解説
記号
| \(X\) | エックス | 「起こる回数」を表す確率変数。結果が確率で決まる数には、アルファベットの終わりの方の大文字 \(X,\ Y,\ Z\) を使う慣例があります。 |
| \(P(X = k)\) | ピー・エックス・イコール・ケー | 起こる回数 \(X\) がちょうど \(k\) 回になる確率。\(P\) は probability(確率)の頭文字です。 |
| \({}_{n}\mathrm{C}_{k}\) | エヌ・シー・ケー コンビネーション | \(n\) 個から \(k\) 個を選ぶ組み合わせの数。\(C\) は combination(組み合わせ)の頭文字です。海外や大学の本では \(\dbinom{n}{k}\) とも書きます。 |
| \(n\) | エヌ | 試行回数(くり返す回数)。回数や個数には number(数)の頭文字 \(n\) がよく使われます。 |
| \(p\) | ピー | 1回の試行で成功する確率。probability(確率)の頭文字で、小文字は「1回分の確率」に使うことが多い文字です。 |
| \(1 - p\) | いち・ひく・ピー | 1回の試行で失敗する確率(成功しない確率)。成功と失敗のどちらかは必ず起こるので、全体の \(1\) から \(p\) を引いた残りです。\(q\) と書くこともあります。 |
| \(k\) | ケー | 成功する回数。\(0\) から \(n\) までの整数です。「何回起こるか」を指定する文字として \(k\) がよく使われます。 |
| \(P(X \leqq k)\) | ピー・エックス・しょうなりイコール・ケー | 起こる回数が \(k\) 回以下(0回〜\(k\) 回のどれか)になる確率。「ちょうどの確率」を \(k\) 回まで足し合わせた累積確率です。 |
| \(P(X \geqq k)\) | ピー・エックス・だいなりイコール・ケー | 起こる回数が \(k\) 回以上(\(k\) 回〜\(n\) 回のどれか)になる確率。全体の \(1\) から \(P(X \leqq k-1)\) を引くと(余事象)、足し算を短くして求められます。 |
| \(E(X)\) | イー・エックス | 期待値(平均して起こる回数)。\(E\) は expectation(期待値)の頭文字です。二項分布では \(E(X) = np\) になります。 |
| \(V(X)\) | ブイ・エックス | 分散(ばらつきの大きさ)。\(V\) は variance(分散)の頭文字です。二項分布では \(V(X) = np(1-p)\) になります。 |
| \(\sigma\) | シグマ | 標準偏差。ギリシャ文字の小文字シグマで、standard deviation の s にあたる文字です。分散の平方根 \(\sigma = \sqrt{V(X)}\) で、期待値からのずれの目安を表します。 |
| \(B(n,\ p)\) | ビー・エヌ・ピー | 試行回数 \(n\)・成功確率 \(p\) の二項分布。\(B\) は binomial(二項の)の頭文字です。「\(X\) は二項分布に従う」を \(X \sim B(n,\ p)\) と書きます。 |
| \(N(\mu,\ \sigma^2)\) | エヌ・ミュー・シグマじじょう | 平均 \(\mu\)・分散 \(\sigma^2\) の正規分布。\(N\) は normal distribution(正規分布)の頭文字です。括弧の中は「平均、分散」の順で書く慣例です。 |
| \(\fallingdotseq\) | ニアリーイコール | おおよそ等しいことを表す記号。このページでは「二項分布が正規分布でおおよそ置き換えられる」ことを表すのに使っています。 |
用語
| 二項分布 | にこうぶんぷ | 「確率 \(p\) のことを \(n\) 回くり返したとき、何回起こるか」の確率の分布。名前は、式に出てくる \({}_{n}\mathrm{C}_{k}\) が二項係数(二項定理の係数)と同じものであることに由来します。高校では数学Bの「統計的な推測」で学びます。 |
| 確率変数 | かくりつへんすう | 値が確率で決まる変数のこと。このページでは「起こる回数」が確率変数で、0回から始まって最大でn回までの値を、それぞれ決まった確率で取ります。 |
| 試行 | しこう | コインを投げる・くじを1回引くなど、結果が偶然で決まる実験や観察の1回分のこと。 |
| 反復試行 | はんぷくしこう | 同じ試行を、毎回同じ確率で、互いの結果に影響しないように(独立に)くり返すこと。二項分布は反復試行での「成功回数」の分布です。 |
| 独立 | どくりつ | ある試行の結果が、別の試行の結果に影響しないこと。サイコロの1回目と2回目は独立ですが、引いたくじを戻さずに引き続ける場合は独立ではありません(前の結果で残りの当たりの数が変わるため)。 |
| 組み合わせ | くみあわせ | \(n\) 個から \(k\) 個を「順番を区別せずに」選ぶ選び方。その総数が \({}_{n}\mathrm{C}_{k}\) です。二項分布では「\(n\) 回のうちどの回で成功するか」の選び方の数として登場します。 |
| 累積確率 | るいせきかくりつ | 「ちょうど \(k\) 回」の確率を、ある回数まで足し合わせた確率。「\(k\) 回以下になる確率」\(P(X \leqq k)\) がその代表です。 |
| 余事象 | よじしょう | ある出来事が「起こらない」方の事象。確率の合計は必ず1なので、「\(k\) 回以上」のような確率は、1から反対側(\(k-1\) 回以下)の確率を引くと簡単に求められます。 |
| 期待値 | きたいち | その試行を何度も行ったときの平均の値。二項分布では「平均して何回起こるか」で、\(np\) というシンプルな式になります。 |
| 分散 | ぶんさん | 実際の値が期待値からどれくらいずれやすいか(ばらつき)を表す量。ずれの2乗の平均として定義されます。 |
| 標準偏差 | ひょうじゅんへんさ | 分散の平方根。分散は「2乗」の単位になってしまうので、平方根をとって元の単位(このページでは回数)に戻した、ばらつきの目安です。 |
| 正規分布 | せいきぶんぷ | 平均の近くが最も起こりやすく、平均から離れるほど起こりにくくなる、左右対称の釣り鐘型の分布。身長や測定誤差など世の中の多くの量がこの形に近く、二項分布も \(n\) が大きいと正規分布に近づきます。 |
| 正規近似 | せいききんじ | \(n\) が大きいときに、二項分布を正規分布 \(N(np,\ np(1-p))\) で置き換えて計算すること。\(np \geqq 5\) かつ \(n(1-p) \geqq 5\) が代表的な目安です。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 確率の基本(中学2年) |
|
| 分数の計算(小学5年〜中学1年) |
|
| 累乗・指数(中学1年〜高校 数学I) |
|
| 場合の数・組み合わせ(高校 数学A) |
|
| 反復試行の確率・余事象(高校 数学A) |
|
| 確率変数と期待値・分散(高校 数学B) |
|
| 正規分布(高校 数学B) |
|
Excelで計算する方法
| 試行回数 n | 4 |
| 1回で成功する確率 p | 0.5 |
| 成功する回数 k | 2 |
| ちょうど k 回起こる確率 P(X=k) | =BINOM.DIST(B3,B1,B2,FALSE) |
| 試行回数 n | 4 |
| 1回で成功する確率 p | 0.5 |
| 成功する回数 k | 2 |
| k 回以下になる確率 P(X≦k) | =BINOM.DIST(B3,B1,B2,TRUE) |
| k 回以上になる確率 P(X≧k) | =1-BINOM.DIST(B3-1,B1,B2,TRUE) |
| 試行回数 n | 30 |
| 1回で成功する確率 p | =1/6 |
| 期待値 E(X) = np | =B1*B2 |
| 分散 V(X) = np(1-p) | =B1*B2*(1-B2) |
| 標準偏差 σ | =SQRT(B4) |
| 試行回数 n | 20 |
| 1回で成功する確率 p | 0.5 |
| np | =B1*B2 |
| n(1-p) | =B1*(1-B2) |
| 目安の判定 | =IF(AND(B3>=5,B4>=5),"目安を満たす","目安を満たさない") |
BINOM.DIST は二項分布の関数で、引数は「成功回数, 試行回数, 成功確率, 累積かどうか」の順です。最後を FALSE にすると「ちょうどの確率」、TRUE にすると「その回数以下の累積確率」になります。
1つ目の表はコインを4回投げて表がちょうど2回出る例で、答えは 0.375(= 3/8)になります。
2つ目の表の答えはどちらも 0.6875 です。「k 回以上」は「k−1 回以下」を1から引いて求めています(k に 0 を入れるとこの式はエラーになりますが、0回以上になる確率は必ず 1 です)。
3つ目の表はサイコロ30回で1の目が出る回数の例で、期待値 5・分散 4.1667・標準偏差 2.0412 になります。
4つ目の表は np と n(1−p) の両方が 5 以上かどうかで、正規分布による近似の目安を判定します。
Googleスプレッドシートで計算する方法
| 試行回数 n | 4 |
| 1回で成功する確率 p | 0.5 |
| 成功する回数 k | 2 |
| ちょうど k 回起こる確率 P(X=k) | =BINOMDIST(B3,B1,B2,FALSE) |
| 試行回数 n | 4 |
| 1回で成功する確率 p | 0.5 |
| 成功する回数 k | 2 |
| k 回以下になる確率 P(X≦k) | =BINOMDIST(B3,B1,B2,TRUE) |
| k 回以上になる確率 P(X≧k) | =1-BINOMDIST(B3-1,B1,B2,TRUE) |
| 試行回数 n | 30 |
| 1回で成功する確率 p | =1/6 |
| 期待値 E(X) = np | =B1*B2 |
| 分散 V(X) = np(1-p) | =B1*B2*(1-B2) |
| 標準偏差 σ | =SQRT(B4) |
| 試行回数 n | 20 |
| 1回で成功する確率 p | 0.5 |
| np | =B1*B2 |
| n(1-p) | =B1*(1-B2) |
| 目安の判定 | =IF(AND(B3>=5,B4>=5),"目安を満たす","目安を満たさない") |
「k 回以上」の式は k に 0 を入れるとエラーになる点もExcelと同じです(0回以上になる確率は必ず 1 です)。
Pythonで計算する方法
from fractions import Fraction
from math import comb, sqrt
trial_count = 4 # 試行回数 n
success_prob = Fraction(1, 2) # 1回で成功する確率 p(0.3 のような小数でも可)
success_count = 2 # 成功する回数 k
failure_prob = 1 - success_prob
# ちょうど k 回起こる確率 P(X=k) = nCk × p^k × (1−p)^(n−k)
exact_prob = (comb(trial_count, success_count)
* success_prob ** success_count
* failure_prob ** (trial_count - success_count))
print(f"ちょうど{success_count}回の確率: {exact_prob} = {float(exact_prob)}")
# 累積確率(k 回以下・k 回以上)
prob_le = sum(comb(trial_count, i) * success_prob ** i * failure_prob ** (trial_count - i)
for i in range(success_count + 1))
prob_ge = 1 - prob_le + exact_prob
print(f"{success_count}回以下の確率: {prob_le} = {float(prob_le)}")
print(f"{success_count}回以上の確率: {prob_ge} = {float(prob_ge)}")
# 期待値・分散・標準偏差
mean = trial_count * success_prob
variance = mean * failure_prob
print(f"期待値: {mean} 分散: {variance} 標準偏差: {sqrt(variance)}")
数式記述言語(LaTeX等)での書き方(コピペ可)
P(X = k) = nCk pᵏ (1 − p)ⁿ⁻ᵏ
P(X = k) = \binom{n}{k} p^{k} (1 - p)^{n - k}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi><mo>(</mo><mi>X</mi><mo>=</mo><mi>k</mi><mo>)</mo>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mfrac linethickness="0"><mi>n</mi><mi>k</mi></mfrac>
<mo>)</mo>
</mrow>
<msup><mi>p</mi><mi>k</mi></msup>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo>)</mo></mrow>
<mrow><mi>n</mi><mo>−</mo><mi>k</mi></mrow>
</msup>
</mrow>
</math>
P(X = k) = C(n,k) p^k (1-p)^(n-k)
PDF[BinomialDistribution[n, p], k]
binomial(n, k)*p^k*(1-p)^(n-k);
binopdf(k, n, p)
P(X=k) = C(n,k) p^k (1-p)^(n-k)
P(X ≦ k) = Σ[i=0→k] nCi pⁱ (1 − p)ⁿ⁻ⁱ
P(X \leqq k) = \sum_{i=0}^{k} \binom{n}{i} p^{i} (1 - p)^{n - i}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi><mo>(</mo><mi>X</mi><mo>≦</mo><mi>k</mi><mo>)</mo>
<mo>=</mo>
<munderover>
<mo>∑</mo>
<mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
<mi>k</mi>
</munderover>
<mrow>
<mo>(</mo>
<mfrac linethickness="0"><mi>n</mi><mi>i</mi></mfrac>
<mo>)</mo>
</mrow>
<msup><mi>p</mi><mi>i</mi></msup>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo>)</mo></mrow>
<mrow><mi>n</mi><mo>−</mo><mi>i</mi></mrow>
</msup>
</mrow>
</math>
P(X <= k) = sum_(i=0)^k C(n,i) p^i (1-p)^(n-i)
CDF[BinomialDistribution[n, p], k]
add(binomial(n, i)*p^i*(1-p)^(n-i), i = 0..k);
binocdf(k, n, p)
P(X≤k) = Σ_(i=0)^k C(n,i) p^i (1-p)^(n-i)
E(X) = np, V(X) = np(1 − p), σ = √(np(1 − p))
E(X) = np, \quad V(X) = np(1 - p), \quad \sigma = \sqrt{np(1 - p)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</mi><mo>(</mo><mi>X</mi><mo>)</mo><mo>=</mo><mi>n</mi><mi>p</mi>
<mo>,</mo>
<mi>V</mi><mo>(</mo><mi>X</mi><mo>)</mo><mo>=</mo>
<mi>n</mi><mi>p</mi>
<mrow><mo>(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo>)</mo></mrow>
<mo>,</mo>
<mi>σ</mi><mo>=</mo>
<msqrt><mi>n</mi><mi>p</mi><mrow><mo>(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo>)</mo></mrow></msqrt>
</mrow>
</math>
E(X) = np, V(X) = np(1-p), sigma = sqrt(np(1-p))
{Mean[BinomialDistribution[n, p]], Variance[BinomialDistribution[n, p]], StandardDeviation[BinomialDistribution[n, p]]}
n*p; n*p*(1-p); sqrt(n*p*(1-p));
[m, v] = binostat(n, p); s = sqrt(v);
E(X) = np, V(X) = np(1-p), σ = √(np(1-p))
B(n, p) ≒ N(np, np(1 − p))
B(n,\ p) \approx N(np,\ np(1 - p))
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>B</mi><mo>(</mo><mi>n</mi><mo>,</mo><mi>p</mi><mo>)</mo>
<mo>≒</mo>
<mi>N</mi><mo>(</mo><mi>n</mi><mi>p</mi><mo>,</mo>
<mi>n</mi><mi>p</mi>
<mrow><mo>(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo>)</mo></mrow>
<mo>)</mo>
</mrow>
</math>
B(n, p) ~~ N(np, np(1-p))
NormalDistribution[n p, Sqrt[n p (1 - p)]]
Normal(n*p, sqrt(n*p*(1-p)));
pd = makedist('Normal', 'mu', n*p, 'sigma', sqrt(n*p*(1-p)));
B(n, p) ≈ N(np, np(1-p))
ChatGPT に聞いて計算してもらう方法
あなたは数学(確率・統計)の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 当たり確率 1/6 のくじを10回引くとき、当たりの回数の二項分布について次を求めてください。 1. ちょうど2回当たる確率 P(X=2)(約分済みの分数と小数の両方で) 2. 2回以下になる確率 P(X≦2) と、2回以上になる確率 P(X≧2) 3. 期待値 E(X)・分散 V(X)・標準偏差 σ 4. np ≧ 5 かつ n(1−p) ≧ 5 という正規分布による近似の目安を満たすかどうか Pythonでは標準ライブラリの fractions と math.comb を使って厳密に計算し、計算に使った式と実行結果の数値を示してください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
