正規分布と中心極限定理
あらゆるランダムなばらつきが最終的に収束する「釣鐘型の山」
- 1
- 正規分布と中心極限定理の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
- 2
- 公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
- 3
- 実社会における工学応用(ウェブサービスのA/Bテスト有意差判定(Z検定・信頼区間))のTypeScript実装コードを収録。
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
正規分布と中心極限定理の基礎原理を体系化し、抽象的な計算を直感的に扱うために誕生した。
身につく武器・思考力
あらゆるランダムなばらつきが最終的に収束する「釣鐘型の山」。この考え方を身につけることで、複雑な課題を単純化して数理モデルとして解く力が養われる。
実社会・ITでの活躍現場
- •ウェブサービスのA/Bテスト有意差判定(Z検定・信頼区間)
- •ITシステム・アルゴリズム実装における論理設計
- •データ分析やシミュレーションにおける数理モデリング
Layer 1 — 直感・シミュレーター
平均 μ(山の頂点位置)と標準偏差 σ(山の横への広がり具合)のスライダーを動かしてみよう。σ が小さいほどデータが中央に集中して鋭い山になり、大きいほどなだらかに広がる。また、平均から ±1σ に約68%、±2σ に約95%、±3σ に約99.7%のデータがすっぽり収まる「68-95-99.7則」を視覚的に確かめよう。
↑ 標準偏差 を小さくすると山が鋭くそびえ立ち(ばらつきが小さい)、大きくすると平らになだらかになります。中心極限定理により、ランダムな事象を大量に集めると必ずこの形に収束します。
Layer 2 — 定義・受験・証明
定義
平均 、分散 を持つ連続型確率変数 の確率密度関数が次式で与えられるとき、 は正規分布(ガウス分布) に従うという。
全区間の積分値(全確率)はちょうど 1 になる。
公式・数理モデル
証明・導出
中心極限定理(Central Limit Theorem: CLT): 母集団の分布がどんな歪んだ形(サイコロの一様分布や指数分布など)であっても、そこから無作為抽出した 個のサンプルの平均 は、 を大きくするにつれて、母平均 、分散 の正規分布 に限りなく近づく。
この驚くべき普遍性により、自然界の誤差・身長のばらつき・測定ノイズ・金融リスクなど、多数の独立な要因が足し合わさる現象のほとんどが正規分布でモデル化できる。
押さえておきたいポイント
- 自然界・社会現象で最も頻繁に現れる「釣鐘型(ベルカーブ)」の確率分布である
- 平均 を中心に対称であり、平均値・中央値・最頻値がすべて一致する
- の範囲に全体の約68.3%、 に約95.4%、 に約99.7%が入る
- 中心極限定理により、どんな母集団でも「平均をとる」だけで正規分布が自然発生する
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
ウェブサービスのA/Bテスト有意差判定(Z検定・信頼区間)
新旧UIのクリック率(CVR)の差が「単なる偶然のブレ」なのか「統計的に意味のある改善」なのかを判定するA/Bテストの判定アルゴリズム(Z検定やスチューデントのt検定)は、この中心極限定理と正規分布を基盤に 値を算出している。
1// 2群のA/BテストにおけるCVRのZスコア計算2function calculateABTestZScore(3 conversionsA: number,4 visitorsA: number,5 conversionsB: number,6 visitorsB: number7): { zScore: number; isSignificant95: boolean } {8 const pA = conversionsA / visitorsA;9 const pB = conversionsB / visitorsB;10 const pPool = (conversionsA + conversionsB) / (visitorsA + visitorsB);1112 // 標準誤差 (SE)13 const se = Math.sqrt(pPool * (1 - pPool) * (1 / visitorsA + 1 / visitorsB));14 const zScore = (pB - pA) / se;1516 // 95%信頼度 (両側検定で |Z| > 1.96)17 return {18 zScore,19 isSignificant95: Math.abs(zScore) > 1.96,20 };21}2223// 例: A案(100/2000=5%), B案(140/2000=7%)24const test = calculateABTestZScore(100, 2000, 140, 2000);25console.log(`Zスコア: ${test.zScore.toFixed(2)}, 有意差あり: ${test.isSignificant95}`);
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元