#07 ふれてみよう高校数学 確率・統計

反復試行と二項定理

反復試行とは

「コインを10回投げたら、何回表が出るだろう?」——必ず5回ではありませんよね。3回のこともあれば7回のこともある。では「ちょうど5回出る確率」「3回以上出る確率」はどうやって計算するのでしょう。

この「同じ試行を何度も独立に繰り返す」ことを反復試行といいます。「前回の結果が次回に影響しない(独立)」のが大前提です。

典型例:

  • コインを n 回投げる
  • サイコロを n 回振る
  • 製品を n 個抜き取り検査する

二項分布の導出

「成功確率が pp の試行を nn 回繰り返したとき、ちょうど kk 回成功する確率」を求めます。

Step 1:特定パターンの確率を計算する

たとえば5回中「成功・成功・失敗・成功・失敗(SSFSS)」という特定の順番で起きる確率は?各回は独立なので、単純に掛け算します——成功確率 pp をk回、失敗確率 (1p)(1-p) を残り回数分だけ掛けるだけです:

pk(1p)nkp^k \cdot (1-p)^{n-k}

Step 2:そのパターンが何通りあるかを数える

「5回のうちどの3回が成功か」——順番は関係なく「成功する回を選ぶ組み合わせ」は C(n,k)C(n,k) 通りあります。

この2つを掛け合わせると:

P(X=k)=C(n,k)pk(1p)nk\boxed{P(X = k) = C(n,k)\,p^k\,(1-p)^{n-k}}

これを二項分布の確率質量関数(PMF)といいます。XB(n,p)X \sim B(n, p) と書きます。


確率の総和が1になる確認

「全部の確率を足したら1になる」——当然そうなるはずですが、計算で確認できます。ここで登場するのが二項定理です。

a=pa = pb=(1p)b = (1-p) と置いてみると:

k=0nP(X=k)=k=0nC(n,k)pk(1p)nk=(p+(1p))n=1n=1\sum_{k=0}^{n} P(X=k) = \sum_{k=0}^{n} C(n,k) p^k (1-p)^{n-k} = (p + (1-p))^n = 1^n = 1

これが「二項定理」(a+b)n=k=0nC(n,k)akbnk(a+b)^n = \sum_{k=0}^n C(n,k) a^k b^{n-k} そのものです!——「二項分布と二項定理は同じ構造をしている」ことが、名前の由来です。


二項分布バーチャートデモ

マウスを左右に動かして pp を変えながら、分布の形の変化を観察してください。p=0.5のとき山が真ん中に来て左右対称になり、pが小さいと山が左に、大きいと山が右に偏る様子を確認できます。

二項分布 B(10, p):マウス左右でpを0.1〜0.9に変化、分布の偏りを確認
function fact(n) {
var f = 1;
for (var i = 2; i <= n; i++) f *= i;
return f;
}
function C(n, r) {
if (r < 0 || r > n) return 0;
return fact(n) / (fact(r) * fact(n - r));
}

function loop() {
ctx.clearRect(0, 0, W, H);

var n = 10;
var p = 0.05 + (mx / W) * 0.9;
p = Math.max(0.05, Math.min(0.95, p));

var probs = [];
var maxP = 0;
for (var k = 0; k <= n; k++) {
  var pk = C(n, k) * Math.pow(p, k) * Math.pow(1 - p, n - k);
  probs.push(pk);
  if (pk > maxP) maxP = pk;
}

var barW = 40;
var gap = (W - (n + 1) * barW) / (n + 2);
var barAreaY = 50;
var barAreaH = 220;

var modeK = 0;
for (var k = 0; k <= n; k++) {
  if (probs[k] > probs[modeK]) modeK = k;
}

for (var k = 0; k <= n; k++) {
  var bx = gap + k * (barW + gap);
  var bh = (probs[k] / maxP) * barAreaH;
  var by = barAreaY + barAreaH - bh;

  var hue = 220 - k * 20;
  ctx.fillStyle = k === modeK ? '#f59e0b' : '#3b82f6';
  ctx.fillRect(bx, by, barW, bh);

  ctx.fillStyle = '#e2e8f0';
  ctx.font = '11px monospace';
  ctx.textAlign = 'center';
  ctx.fillText('k=' + k, bx + barW / 2, barAreaY + barAreaH + 16);
  ctx.fillStyle = '#94a3b8';
  ctx.font = '10px monospace';
  ctx.fillText((probs[k] * 100).toFixed(1), bx + barW / 2, barAreaY + barAreaH + 30);
}

var mean = n * p;
var stddev = Math.sqrt(n * p * (1 - p));

ctx.fillStyle = '#e2e8f0';
ctx.font = 'bold 14px sans-serif';
ctx.textAlign = 'left';
ctx.fillText('B(n=10, p=' + p.toFixed(2) + ')', 20, 28);

ctx.fillStyle = '#94a3b8';
ctx.font = '13px monospace';
ctx.fillText('平均 np = ' + mean.toFixed(2), 20, 298);
ctx.fillText('標準偏差 = ' + stddev.toFixed(2), 220, 298);

requestAnimationFrame(loop);
}
loop();

数値例

例題: コインを10回投げて表が5回出る確率は?(p=0.5p = 0.5

「ちょうど5回」という一つのパターンに固執しているので、実は思ったよりも確率は高くありません:

P(X=5)=C(10,5)×0.55×0.55=252×110240.246P(X=5) = C(10,5) \times 0.5^5 \times 0.5^5 = 252 \times \frac{1}{1024} \approx 0.246

約 24.6%——「半分くらい出てほしいのに4回に1回しかちょうど5回にならない」のが現実です。k=4,5,6k=4,5,6 の近くに確率が分散しているのです。

例題: 打率 0.3 の打者が4打数のとき、ちょうど2本ヒットになる確率は?

「4打席のうちどの2打席がヒットか」の組み合わせ C(4,2)=6C(4,2)=6 通り × 各パターンの確率:

P(X=2)=C(4,2)×0.32×0.72=6×0.09×0.490.265P(X=2) = C(4,2) \times 0.3^2 \times 0.7^2 = 6 \times 0.09 \times 0.49 \approx 0.265


二項分布の平均と分散

「n回やって成功確率pなら、平均何回成功するか?」——直感と一致する答えが出ます:

XB(n,p)X \sim B(n, p) のとき、

E[X]=npE[X] = np

V[X]=np(1p)V[X] = np(1-p)

σ=np(1p)\sigma = \sqrt{np(1-p)}

例: n=100,p=0.3n=100, p=0.3 なら E[X]=30E[X] = 30σ=214.58\sigma = \sqrt{21} \approx 4.58

「100回やって平均30回成功、実際には25〜35回くらいの範囲に収まることが多い」——この σ\sigma が「ばらつきの目安」になります。


累積二項分布

「k 回以下の成功」の確率(CDF)——「ちょうどk回」ではなく「k回以下」を知りたいときは足し算します:

P(Xk)=i=0kC(n,i)pi(1p)niP(X \leq k) = \sum_{i=0}^{k} C(n,i)\,p^i\,(1-p)^{n-i}

実用例: 打率 0.3 の打者が10打数で3本以上ヒットを打つ確率は?

「3本以上」を直接計算するより、「2本以下」を計算して1から引く余事象の戦略が楽です:

P(X3)=1P(X2)=1[P(0)+P(1)+P(2)]P(X \geq 3) = 1 - P(X \leq 2) = 1 - [P(0)+P(1)+P(2)]

=1[0.028+0.121+0.233]0.617= 1 - [0.028 + 0.121 + 0.233] \approx 0.617

打率3割の打者でも、10打数で3安打以上打てる確率は約62%——「打率」という数字が実際の打席でどう現れるかの現実感が掴めます。


まとめ

  • 二項分布 B(n,p)B(n,p):n回の独立な試行でk回成功する確率——「掛け算 × 組み合わせ数」の構造
  • P(X=k)=C(n,k)pk(1p)nkP(X=k) = C(n,k)\,p^k\,(1-p)^{n-k}(二項定理と同じ構造)
  • 平均 E[X]=npE[X] = np、分散 V[X]=np(1p)V[X] = np(1-p)——「np回成功するのが平均」という直感と一致
  • p=0.5p = 0.5 のとき左右対称、p<0.5p < 0.5 なら右に歪む、p>0.5p > 0.5 なら左に歪む——「成功しにくいほど少ない回数側に山ができる」

次回は確率変数と期待値——確率の「重み付き平均」という概念を深く掘り下げます。