MENU

複数回の統計検定とベイズ、そして実務的な落とし所

統計検定とピーキング、ベイズのシミュレーション

目次

目的

ABテストの結果を有意水準5%で統計検定を行う。IT企業の実務で、これはありふれた光景です。ただ、実務上は想定の期間では有意差が出なかったがあと少しで有意差が出そうなので期間を延長して再度検定したい、でもそうすると有意水準5%の検定ではなくなってしまう、という問題が発生します。ベイズを使えばいいという代替案が提示されることもあります。この記事では、シミュレーションに基づき、複数回の検証によっていずれかの時点で誤って有意となる割合はどのくらい増えるのか、そしてその対策としてベイズは有効なのか、結局、実務における現実的な落とし所は何かを検討していきます。

シミュレーションに基づき検証します:
・ピーキングによって統計検定の有意水準がどの程度緩くなるかを確認
・その対処法として、ベイズの有用性を確認

実験設計

設計の流れ

  • 通常の統計検定で検出力80%、第一種過誤5%を確認
  • ピーキングで誤判定率が膨らむ、つまり逐次に検定することで実質的な有意水準が上昇することを示す
    • 効果なし(pA=pB)の下で誤って「有意」「勝ち」と判定される割合を誤判定率と呼ぶ。逐次判定の場合、これは手続き全体の第一種過誤(FWER、Family-wise Error Rate)に相当する
  • 頻度主義と同じ条件でベイズ逐次検定の性能を評価
  • なお、同一指標・同一仮説に対しての検定を想定し、指標の多重比較やセグメント切り出しは別問題

効果の有無による分離

この2つの設定で、各手法の性能を比較します。

  • 真の効果あり(10%→12%):検出力の評価
  • 真の効果なし(10%→10%):誤判定率の評価

基本パラメータ

  • 対照群の真の成功率:pA = 10%
  • 介入群の真の成功率(効果あり):pB = 12%
  • 介入群の真の成功率(効果なし):pB = 10%
  • 有意水準:α = 5%
  • 検出力:1 – β = 80%
  • 割付比:1:1(各群同数)
  • 外側のシミュレーション回数:10,000回(検出力・第一種過誤の推定用)
  • 内側のモンテカルロ回数:100,000回(ベイズ事後確率の計算用)

検定方法の定義

頻度主義の検定

  • 検定方式:2×2カイ二乗検定(Yates補正なし)
  • 片側/両側:片側検定(10%→12%は改善方向が決まっているため)
  • 帰無仮説:H₀: pB ≤ pA
  • 対立仮説:H₁: pB > pA

ベイズの判定基準

  • 基本判定:P(pB > pA) ≥ 0.95 で「勝ち」と判定

サンプルサイズ計算

  • 前提:片側検定、α = 5%、検出力 = 80%、pA = 10%、pB = 12%
  • 計算式:2標本比率の差の検定のサンプルサイズ公式を使用
  • 計算結果:3026 ※A群、B群それぞれのサンプルサイズ
  • 最大サンプルサイズ N_max:上記で計算したn(逐次検定の打ち止めとして使用)

実験内容とその結果

統計検定

実験1:効果ありのケースで検出力の確認

  • 条件:対照群10%、介入群12%
  • 手順:サンプルサイズN_maxが集まった段階で統計検定、を10,000回実施
  • 確認項目:検出力(帰無仮説が棄却された割合)が約80%になることを確認

実験結果
・検出力:80.30%(理論値:約80%)
→ 固定サンプルサイズでの検定により、期待通りの検出力が得られることを確認

実験2-1:効果なしのケースで通常の検定(ピーキングなし)

  • 条件:対照群10%、介入群10%(真の効果なし)
  • 手順:サンプルサイズN_maxが集まった段階で有意水準5%の統計検定を10,000回実施
  • 確認項目:第一種の過誤の割合(誤判定率)

実験結果
・誤判定率:5.46%
→ 有意水準5%とほぼ一致し、適切に制御されていることを確認

実験2-2:効果なしのケースでナイーブな逐次検定(ピーキングあり)

  • 条件:対照群10%、介入群10%(真の効果なし)
  • 手順:
    • 複数の時点で統計検定を実施
    • いずれかの時点でP値 < 0.05 の場合、検証を打ち切って「有意」と判定
    • 最後まで到達しても有意でない場合は「有意でない」と判定
  • 検定パターン:
    • 2回検定:サンプルサイズが1/2、1集まった段階
    • 3回検定:サンプルサイズが1/3、2/3、1集まった段階
    • 4回検定:サンプルサイズが1/4、1/2、3/4、1集まった段階
  • 確認項目:
    • 誤判定率(いずれかの時点で誤って有意となった割合)、つまり実質的な有意水準
    • 検定回数kを増やしたときの理論上限(独立と仮定した上限)と比較

実験結果
・2回検定の誤判定率:8.37%(理論上限:9.75%)
・3回検定の誤判定率:10.30%(理論上限:14.26%)
・4回検定の誤判定率:11.16%(理論上限:18.55%)
→ 検定回数を増やすと、誤判定率が当初の有意水準5%を超えて、実質的な有意水準は緩くなる
→ 独立を仮定した場合の理論上限は1(10.05)k1-(1-0.05)^kで、近似としては5%×回数が目安

ベイズ

ベイズ実験の基本設定

  • 最大サンプルサイズ N_max:統計検定と同じ3026
  • 事後確率の計算:内側のモンテカルロ100,000回で事後分布からサンプリング
  • 外側の反復:10,000回のシミュレーションで検出力・誤判定率を推定
  • 事前分布:Beta(1,1)(一様事前分布)

実験3:検出力の確認(効果ありの場合)

  • 条件:対照群10%、介入群12%
  • 手順:サンプルサイズN_maxが集まった段階で1回だけベイズ検定を実施
  • 判定基準:P(pB > pA) >= 0.95 で「勝ち」と判定
  • 確認項目:検出力(「勝ち」と判定された割合)

実験結果
・検出力:80.76%
→ 頻度主義の検出力(80.30%)と同程度の検出力

実験4-1:効果なしのケースで固定nのベイズ検定(ピーキングなし)

  • 条件:対照群10%、介入群10%の前提(真の効果なし)
  • 手順:サンプルサイズN_maxが集まった段階で1回だけベイズ検定を実施
  • 判定基準:P(pB > pA) >= 0.95 で「勝ち」と判定
  • 確認項目:誤判定率(誤って効果ありと判定した割合)

実験結果
・誤判定率:4.88%
→ 頻度主義の第一種過誤(5.46%)と同程度の誤判定率

実験4-2:効果なしのケースで逐次ベイズ検定(ピーキングあり)

  • 条件:対照群10%、介入群10%(真の効果なし)
  • 手順:
    • 複数時点で逐次的にベイズ検定を実施
    • 4回検定:サンプルサイズが1/4、1/2、3/4、1集まった段階
    • 各時点で事後確率を計算(内側100,000回のモンテカルロ)
  • 停止ルール:
    • P(pB > pA) >= 0.95 で検証を打ち切り「勝ち」
    • N_maxに達しても条件未達なら「勝ちではない」
  • 確認項目:
    • いずれかの時点で誤って「勝ち」と判定された割合(誤判定率)

実験結果
・誤判定率:11.80%
→ 逐次的な判定により、誤判定率が固定nの場合(4.88%)から大幅に上昇し、ピーキング(4回検定)の誤判定率(11.16%)と同程度
→ ベイズ手法を用いても、事後確率だけを停止ルールとして用いる限り、逐次的な判定による誤判定率の上昇を抑えられない

結論

  • 同一指標・同一仮説に対して有意水準5%の統計検定を複数行うと誤判定率は上昇
    • 誤判定率は2回検定で約8.4%、3回検定で約10.3%、4回検定で約11.2%
    • 誤判定率は名目有意水準5%を超え、理論上限の目安である5%×回数よりは低い
  • ベイズでも、事後確率だけを停止ルールとして用いる限り、逐次的な判定による誤判定率は上昇
    • 固定nのベイズ検定では誤判定率4.88%だったが、4回検定では誤判定率11.80%まで上昇
    • これはピーキング(4回検定)の誤判定率(11.16%)と同程度
  • 実務的な落とし所としては、ABテストの期間延長を含め、複数回の統計検定が必要になった場合、効果なしの下での誤判定率が5%×回数まで緩くなる可能性を理解して、検定結果を使うのが現実的

実務的な落とし所
・同一指標・同一仮説に対して統計検定を複数行うと、実質的な有意水準は緩くなるので注意
・効果なしの下での誤判定率が5%×回数まで緩くなる可能性を理解して、検定結果を使うのが現実的

Pythonコード

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

霞ヶ関を経て、現在はメガベンチャーのBtoBマーケティング組織の部長
筑波大学ビジネス科学研究科博士課程修了(博士(経営学))
得意分野は、施策効果の検証、インセンティブ最適化、セールス生産性の改善といったデータサイエンス活用

コメント

コメントする

目次