【統計学入門】データの種類と目的に応じた統計的仮説検定の完全ガイド(t検定・分散分析ほか)
データ分析やA/Bテストの現場で「A案とB案に決定的な差があるか?」「3つ以上のグループ間で平均値に違いがあるか?」を客観的に証明するためには、適切な統計的仮説検定を選ぶ必要があります。今回は、データの性質や目的に応じた主要な検定手法を一覧表と解説で整理します。
1. 【 概要 】
統計的仮説検定とは、得られたデータに「偶然とは言えない意味のある差(有意差)」があるかどうかを確率的に判定する手法です。
比較するグループの数やデータの種類(数値データか、カテゴリカルデータか)によって、使用すべき検定手法が完全に決まっています。適切な手法を選択しないと、誤った結論を導いてしまうため、全体像をしっかり押さえておくことが重要です。
2. 【 比較表:目的別の主要な検定手法一覧 】
| 比較の目的・条件 | 手法名 | 具体例 |
|---|---|---|
| 2つの独立したグループの平均の差 | 2標本 t検定(Studentのt検定など) | AクラスとBクラスのテスト平均点の差 |
| 同一人物の前後・ペアの平均の差 | 対応のある t検定 | ダイエット前後の体重の差 |
| 3つ以上のグループ間の平均の差 | 一元配置分散分析(ANOVA) | A・B・C 3店舗の売上平均の差 |
| 2つのカテゴリカルデータの関連性 | カイ二乗検定(独立性の検定) | 性別とよく買う商品の好みの関連 |
| 正規分布に従わない2グループの比較 | マン・ホイットニーのU検定 | 満足度アンケート(1〜5点評価)の比較 |
3. 整理:各検定手法の具体的な役割と使い所
表にまとめた主要な検定手法が、実務でそれぞれどのような場面で使われるのかを詳しく見ていきましょう。
【 各手法の詳細な仕組み 】
「お互いに無関係な2つのグループ(例:男性と女性、新薬群とプラセボ群)」の平均値に意味のある差があるかを検証します。
・手法(2):対応のある t検定
「同じ対象に対して測定を2回行った場合(例:研修の前と後)」のように、ペアになっているデータの平均の差を検証します。
・手法(3):分散分析(ANOVA)
3つ以上のグループがある場合、t検定を何回も繰り返すと誤りの確率(多重比較の問題)が跳ね上がってしまいます。そのため、データの「ばらつき(分散)」を利用して、一括してグループ間に差があるかを判定します。
・手法(4):カイ二乗検定
平均値ではなく、「度数(人数や件数)」の比率に偏りがあるかを検証します。アンケートのクロス集計などで最も頻繁に使われます。
・手法(5):マン・ホイットニーのU検定(ノンパラメトリック検定)
データが正規分布に従わない場合や、アンケートの順序尺度(1〜5点の評価など)のデータを比較する場合に、平均値ではなく「順位」をベースに差を検証します。
4. 関連して押さえたい「パラメトリックとノンパラメトリックの選択基準」
検定を選ぶ際に、もう一つ絶対に見落としてはいけない基準が**「データの性質(分布)」**です。
・パラメトリック検定(t検定や分散分析など)
データが「正規分布(きれいな釣鐘型の分布)」に従っていることを前提としています。身長、体重、売上金額など、連続する数値データでよく使われます。
・ノンパラメトリック検定(マン・ホイットニーのU検定など)
データが偏っていたり、点数や順位といった「正規分布に従わないデータ」の場合に用います。分布の形状に依存しないため、安全に使うことができます。
5. 補足:Python(SciPy / Statsmodels)での検定コード例
Pythonを使って、代表的な「2標本t検定」や「分散分析」を実行する際のコードイメージです。
# 1. 2標本 t検定(SciPy)
t_stat, p_val = stats.ttest_ind(group_a, group_b)
print(f"t値: {t_stat:.4f}, p値: {p_val:.4f}")
# 2. 一元配置分散分析(SciPy)
f_stat, p_val_anova = stats.f_oneway(group_a, group_b, group_c)
print(f"F値: {f_stat:.4f}, p値: {p_val_anova:.4f}")
# 判定の目安: p値が 0.05 未満なら「統計的に有意な差がある」と判断!
6. まとめ
統計的仮説検定は、2グループなら「t検定」、3グループ以上なら「分散分析」、カテゴリカルデータなら「カイ二乗検定」というように、データの数と目的に応じて綺麗に分類されます。
それぞれの特徴と使い所をしっかり押さえておくことで、データに基づいた客観的で正しい意思決定ができるようになります!