🙋
サイコロを 100 回振って (1, 2, 3, 4) の出目数が (30, 25, 20, 25) だったとき、これって「公平」って言っていいんですか?感覚的には少しズレがありそうな気がするんですが。
🎓
いい質問だ。それを定量的に判定するのが Pearson のカイ二乗適合度検定だよ。「公平」なら期待度数は E_i = 100/4 = 25 で全カテゴリ等しい。観測との偏差を二乗して E で割って和を取ったのが χ² 統計量で、この場合 χ² = (5²+0²+5²+0²)/25 = 50/25 = 2.000 になる。自由度 df = k−1 = 3 のカイ二乗分布で 5% 棄却限界が 7.815 だから、2.000 < 7.815 で「公平でない」と言うほどではない、つまり H₀ を棄却できないんだ。
🙋
じゃあ、もっと偏ったデータ、例えば (50, 25, 0, 25) みたいに極端だったら結果はどう変わるんですか?
🎓
スライダーを動かして実際にやってみよう。E は 100/4=25 のままで、χ² = 25²/25 + 0 + 25²/25 + 0 = 25+25 = 50 となり 7.815 を大きく超える。つまり「これだけ偏っていれば公平な確率は 5% 未満(実際には p ≈ 10⁻¹⁰)で、偶然ではない」と結論できる。判定カードが「棄却」に切り替わり、χ² 分布のグラフでは黄色マーカーが赤い棄却域に飛び出すのが見えるはずだ。
🙋
サンプルサイズって結果にどれくらい効くんですか?同じ比率なら N が大きくても小さくても同じですか?
🎓
いやいや、N の影響は決定的に大きい。観測比率を (0.30, 0.25, 0.20, 0.25) で固定すると χ² は N に比例して増える。例えば N=20 の (6,5,4,5) なら χ²=0.4 で問題なし、N=100 の (30,25,20,25) で χ²=2.0、N=1000 だと χ²=20 で「同じ比率なのに棄却」になる。これは検定力(detection power)の話で、サンプルが多ければ小さな偏りも統計的に検出できる。逆に N が小さすぎる(経験則として E_i < 5)と検定の精度が落ちるから、Fisher の正確検定や G 検定への切り替えを検討しよう。
🙋
「自由度 df = 3」って、なんで 4 ではなく 3 なんですか?カテゴリは 4 つあるのに。
🎓
合計 N = ΣO_i は固定されている(既知)から、4 つの O_i のうち 3 つが決まれば 4 つ目は自動的に決まる。だから「自由に動ける」のは 3 個分で df = k−1 = 3。仮に「平均値」など追加でパラメータを r 個推定する場合は df = k − r − 1 となる。今回のように一様仮説(推定パラメータなし)では単純に k−1 でいい。これがカイ二乗分布の形を決め、棄却限界 7.815 が出てくる根拠だよ。
経験則として全カテゴリで E_i ≥ 5 を満たすとカイ二乗近似が安定します。一部のカテゴリで E_i < 5 になる場合の選択肢は次の 3 つです。①隣接カテゴリを統合してカテゴリ数 k を減らす(df も減ります)、②サンプルサイズ N を増やす、③Fisher の正確検定(small-sample exact test)や G 検定(尤度比検定)に切り替える。本ツールでは k=4 固定なので、どのカテゴリも O_i ≥ 1 にすると E_i ≥ 1 が確保されますが、E_i ≥ 5 を狙うなら全 O_i の合計を 20 以上にしてください。
どちらも統計量の形は χ² = Σ(O−E)²/E で同じですが、目的と E の作り方が異なります。適合度検定(goodness-of-fit)は「1 変量のカテゴリ分布が想定分布に合っているか」を判定し、E は理論分布から直接決まります(本ツールの一様仮説など)。独立性検定(test of independence)は「2 変量のクロス集計表で行と列が独立か」を判定し、E_ij = (行 i 合計 × 列 j 合計) / 総合計 と計算し、df = (r−1)(c−1) になります。例:性別 × 喫煙の有無のクロス表は独立性検定、サイコロの出目分布は適合度検定です。
本ツールの統計サマリーは χ²、df、5% 棄却限界、判定の 4 項目に絞っています。判定は「χ² が棄却限界 7.815 を超えるか」で行うため、p < 0.05 か否かと等価な情報が得られます。厳密な p 値は内部で計算しており、χ² = 2.000 なら p ≈ 0.572、χ² = 7.815 なら p = 0.05、χ² = 11.345 なら p ≈ 0.01 といった対応関係になります。p 値の数値そのものを別画面で見たい場合は、外部の統計ライブラリ(scipy.stats.chi2.sf, R の pchisq)でも同じ値が得られます。
CAE 解析の品質保証や製造現場での代表的な用途は次の通りです。①メッシュ品質指標(要素のアスペクト比やスキュー角)が想定分布に従うかの検証、②モンテカルロ・シミュレーションの乱数生成器が一様分布に適合しているかのテスト、③製造ロット間の不良モード(クラック、ボイド、寸法不良など)の出現頻度が均等か、④品質管理の管理図と組み合わせて、特定の不良パターンが偶然以上に出ているかの監視。Pearson の χ² は計算が軽く、Excel でもすぐ実装できるため、現場の品質エンジニアにとって基本ツールです。
遺伝学・メンデル比の検定:F2 世代の表現型分布が理論比 9:3:3:1 に従うかどうかを判定する古典的な使い方です。例えばエンドウ豆の交配で観測された 312, 110, 102, 36(合計 560)から期待値 (315, 105, 105, 35) を計算し、χ² = (3²/315 + 5²/105 + 3²/105 + 1²/35) = 0.029+0.238+0.086+0.029 ≈ 0.382、df=3 で p≈0.94 と「メンデル則によく適合」と判定。実際の遺伝学論文では適合度検定が標準的に報告されます。
乱数生成器の一様性検証(CAE モンテカルロ):FEM の確率論的解析や信頼性解析で使う Mersenne Twister や Halton 系列などの乱数を、N 回サンプリングして k 個のビンに振り分け、各ビンの度数が一様か検定します。本ツールの 4 ビンを 10 ビンに拡張すれば df=9、棄却限界 16.92 で同じ手順。Diehard、TestU01 などの本格的な乱数検定スイートもこの χ² 検定をベースに複数の統計量を組み合わせています。
製造業の品質管理:1 シフトで発生した不良を {寸法不良, 表面欠陥, 組立ミス, その他} の 4 カテゴリに分類し、想定比率(過去データから 40:25:20:15 など)からの逸脱を検定します。χ² が棄却域に入れば不良パターンに変化があったとみなし、原因究明(材料変更、工程変動、作業者変動)に進みます。SPC(統計的工程管理)の補助ツールとして、管理図と並んで多用されています。
マーケティング・A/B テスト:ECサイトで 4 種類のバナーデザインを表示し、クリック数 (45, 38, 52, 41) を観測。「全デザイン同じクリック率(一様)」という帰無仮説を検定します。χ² が棄却されれば「デザイン間に有意な差がある」と判断し、次のステップ(多重比較やコンバージョン分析)へ進みます。複数案のうちどれが優れているかは多重比較や信頼区間で別途見ます。
最も多い誤解は、「χ² が大きい=差が大きい」と短絡的に解釈することです。χ² の大きさはサンプルサイズ N にほぼ比例して大きくなるため、N=10 で χ²=8 と N=10000 で χ²=8 では意味合いが全く違います。後者は「微小な偏りでも統計的に検出された」だけで、実用上の重要性は小さいかもしれません。効果量(effect size)として Cramér's V や Cohen's w を併記し、p 値だけでなく差の「大きさ」も評価してください。本ツールは N が小〜中のレンジ(合計 4〜400)を扱うので、N の影響を肌で感じられます。
次に、独立性の前提を忘れがちです。Pearson の χ² は各観測が独立であることを仮定します。同じ被験者を繰り返し測定した「対応のあるデータ」(before/after など)には適用できず、McNemar 検定や Cochran's Q を使います。また、複数の観測が同じ家族・同じ機械・同じ製造ロットから来ている場合(クラスター効果)も独立性が崩れ、χ² は過剰に有意になりがちです。
最後に、カテゴリ数 k やビン分割の任意性に注意してください。連続変数を離散ビンに分けて適合度検定する場合、ビン幅・ビン数の選び方で χ² が大きく変わります。Sturges の式や Freedman-Diaconis 規則など、データ依存の自動選択が使われますが、結果を報告するときは必ずビン分割方法を明記しましょう。本ツールは k=4 固定で「ビン選択の影響」は意識しなくていいですが、実務では一番盲点になりやすいポイントです。