仮説検定の基本

英語名 Hypothesis Testing
読み方 ハイポセシス テスティング
難易度
所要時間 2〜4時間
提唱者 ロナルド・フィッシャー、イエジ・ネイマン、エゴン・ピアソン
目次

ひとことで言うと
#

「この差は偶然ではなく、本当に意味のある差なのか?」を統計的に判断する手法。感覚や直感ではなく、確率の力で意思決定の精度を上げる。A/Bテストの判定から品質管理まで、データを使うあらゆる場面の基盤になる。

押さえておきたい用語
#

押さえておきたい用語
帰無仮説(H₀)
差はない」「効果はない」と仮定する立場のこと。検定はこの仮説を否定(棄却)できるかどうかを判断する。
対立仮説(H₁)
帰無仮説に対して「差がある」「効果がある」と主張する立場。帰無仮説が棄却されたとき採用される。
p値
帰無仮説が正しいと仮定したとき、今回のデータ以上に極端な結果が偶然で得られる確率を指す。小さいほど「偶然では説明しにくい」ことを意味する。
有意水準(α)
「偶然を有意な差と誤認してもよい確率の上限」である。一般的に5%(0.05)を使い、p値がこれ未満なら有意と判定する。
効果量(Effect Size)
差の実質的な大きさを示す指標。p値は「差があるか」を示すが、効果量は「どれだけ大きい差か」を示す。

仮説検定の全体像
#

帰無仮説を設定し、p値で棄却判断を行い、効果量で実務的意味を確認する
帰無仮説 H₀「差はない」「効果はない」この仮説を否定できるかを検証対立仮説 H₁「差がある」「効果がある」H₀が棄却されたときに採用検定の実行とp値の算出t検定・カイ二乗検定・分散分析などを実行p値を有意水準(α=0.05)と比較して判定p < α → H₀を棄却統計的に有意な差がある効果量も合わせて確認p ≥ α → 棄却できず差があるとは言えないデータ不足の可能性も検討
仮説検定の実行フロー
1
仮説設定
帰無仮説と対立仮説を立てる
2
基準決定
有意水準とサンプルサイズを決める
3
検定実行
適切な検定手法を選びp値を算出
4
結果解釈
p値と効果量から判断を下す
意思決定
統計的・実務的に意味ある差か判断

こんな悩みに効く
#

  • 新しいデザインにしたらCV率が1%上がったが、これは偶然なのか本当の改善なのかわからない
  • アンケートで男女差が出たが、回答者が少ないので信じていいか不安
  • 「なんとなく良くなった気がする」という判断から脱却したい

基本の使い方
#

ステップ1: 帰無仮説と対立仮説を設定する

検定の出発点は「2つの仮説」を立てること。

  • 帰無仮説(H₀): 「差はない」「効果はない」という立場
    • 例: 「新デザインと旧デザインでCV率に差はない」
  • 対立仮説(H₁): 「差がある」「効果がある」という立場
    • 例: 「新デザインのほうがCV率が高い」

ポイント: 帰無仮説を「棄却する(否定する)」ことで対立仮説を採用する、というのが検定のロジック。最初から「差がある」を証明するのではない

ステップ2: 有意水準とサンプルサイズを決める

検定を始める前に判断基準を決めておく。

  • 有意水準(α): 「偶然を間違って『差がある』と判断する確率」の上限
    • 一般的には 5%(α = 0.05) を使う
    • 厳密さが求められる場合は1%
  • サンプルサイズ: 十分なデータ数がないと、本当の差を検出できない
    • 事前に検出力分析で必要数を計算するのが理想

ポイント: 有意水準は検定の前に決めること。結果を見てから基準を変えるのは不正。

ステップ3: 適切な検定手法を選んで実行する

データの種類と比較の目的に応じて検定手法を選ぶ

比較の内容検定手法
2グループの平均値の差t検定
3グループ以上の平均値の差分散分析(ANOVA)
比率の差(A/Bテスト)カイ二乗検定 / Z検定
相関があるか相関係数の検定

計算はExcelの T.TEST 関数、Pythonの scipy.stats 、またはオンラインの検定ツールで実行できる。

ステップ4: p値を解釈して判断する

検定の結果得られるp値を有意水準と比較する。

  • p値 < 有意水準(例: p < 0.05): 帰無仮説を棄却 → 「統計的に有意な差がある」
  • p値 ≥ 有意水準: 帰無仮説を棄却できない → 「差があるとは言えない」

重要な注意点:

  • 「有意でない」は「差がない」という意味ではない。データが足りないだけかもしれない
  • p値が小さい = 効果が大きい、ではない。**効果量(Effect Size)**も必ず確認する
  • 統計的に有意でも、実務的に意味のある差かは別問題

具体例
#

例1:ECサイト1万人のA/Bテストでボタン色の効果を統計的に判定する

状況: 月間50万セッションのECサイト。商品ページの「カートに入れる」ボタンの色を変更するA/Bテストを実施。

グループ訪問者数カート追加数カート追加率
A(現行・青ボタン)5,0001503.0%
B(新・緑ボタン)5,0001903.8%

検定の実行:

  • 帰無仮説: 「ボタンの色でカート追加率に差はない」
  • 有意水準: α = 0.05
  • 検定手法: カイ二乗検定
  • 結果: p値 = 0.028

判断: p値(0.028) < 有意水準(0.05)なので、帰無仮説を棄却。緑ボタンのほうがカート追加率が統計的に有意に高い

追加の確認:

  • 効果量: カート追加率が3.0% → 3.8%で、0.8ポイントの改善
  • ビジネスインパクト: 月間訪問者50万人に対して、年間で約48,000件のカート追加増加

統計的にも実務的にも意味のある改善と判断し、緑ボタンを採用。年間の追加売上は推定2,400万円

例2:研修プログラムの効果を30人×2グループのt検定で検証する

状況: 従業員200名の人材派遣会社。新しい営業研修プログラムの効果を検証したい。研修受講グループ30人と未受講グループ30人の翌月の成約率を比較。

グループ人数平均成約率標準偏差
研修受講30人18.5%4.2%
未受講30人15.8%3.9%

検定の実行:

  • 帰無仮説: 「研修の有無で成約率に差はない」
  • t検定の結果: p値 = 0.012、効果量(Cohen’s d)= 0.67

判断: p値(0.012) < 有意水準(0.05)で統計的に有意。効果量0.67は「中〜大の効果」。

成約率は平均2.7ポイント向上。効果量0.67は「中〜大の効果」に該当する。全営業チーム200名への展開を決定し、年間で約1,600万円の売上増が見込まれる。

例3:メルマガ開封率の曜日差を分散分析で確認し配信日を最適化する

状況: 登録者8万人のBtoBメルマガ。開封率が曜日によって違う気がする。過去12週間の曜日別開封率データで検証。

曜日平均開封率データ数
月曜22.1%12週分
水曜25.3%12週分
金曜19.8%12週分

検定の実行:

  • 帰無仮説: 「配信曜日で開封率に差はない」
  • 分散分析(ANOVA)の結果: p値 = 0.041

判断: p値(0.041) < 有意水準(0.05)で、曜日間に統計的に有意な差がある。多重比較(Tukey法)で水曜と金曜の間に有意差を確認。

配信日を水曜に統一した結果、開封率は全体で平均2.1ポイント向上。CTR経由の問い合わせは月15件→22件に増加した。「何曜日が良さそうか」を感覚ではなく統計で確認したことが、この改善につながった。

やりがちな失敗パターン
#

  1. サンプルサイズが不足した状態で結論を出す — 100人ずつのA/Bテストで「差がなかった」と結論づけるのは早計。事前に必要なサンプルサイズを計算し、十分なデータが集まるまで待つ
  2. 多重検定の罠にはまる — 20個の指標を同時に検定すると、偶然で1つは有意になる(5%×20=1個)。複数の検定を行う場合はボンフェローニ補正などで有意水準を調整する
  3. p値だけで意思決定する — p値は「差があるかどうか」を示すが、「差がどれだけ大きいか」は示さない。効果量と信頼区間を必ずセットで確認する
  4. 結果を見てから有意水準を変える — p値が0.06だったので「今回は10%で判定しよう」は不正。有意水準は検定の前に決めて固定するのが大原則

まとめ
#

仮説検定は、データの差が偶然なのか意味のある差なのかを統計的に判断する手法。帰無仮説を立て、有意水準を事前に決め、適切な検定を行い、p値と効果量を合わせて解釈する。まずは次のA/Bテストで、結果を「なんとなく」ではなく統計的に判定するところから始めよう。