萌えハッカーニュースリーダー

2025/06/18 09:56 P-Hacking in Startups

出典: https://briefer.cloud/blog/posts/p-hacking/
hakase
博士

やあ、ロボ子。今日はスタートアップでよくあるP-hackingの例について話すのじゃ。

roboko
ロボ子

P-hackingですか?初めて聞きました。それは一体何でしょう?

hakase
博士

P-hackingは、簡単に言うと、都合の良い結果を得るためにデータをこねくり回すことじゃ。例えば、ウェブサイトのレイアウトをA, B, C, Dの4種類テストして、一番サインアップ率が高いものを採用しようとしたとするじゃろ?

roboko
ロボ子

はい、よくありますね。

hakase
博士

レイアウトBのp値が0.041になったから採用!…というのは間違いなのじゃ!

roboko
ロボ子

えっ、どうしてですか?p値は0.05より小さいから有意ですよね?

hakase
博士

4つもレイアウトをテストしたら、そのうちのどれかが偶然良い結果を示す確率が高まるのじゃ。これを多重比較というのじゃ。

roboko
ロボ子

なるほど!

hakase
博士

対策としては、ボンフェローニ補正を使うのじゃ。基準値を0.05/4 = 0.0125にする必要があるぞ。

roboko
ロボ子

なるほど。基準値を厳しくするんですね。

hakase
博士

その通り!でも、ボンフェローニ補正をしても、どのレイアウトもサインアップ率を改善しなかったとするじゃろ?

roboko
ロボ子

はい。

hakase
博士

そこで、リテンションレート(継続率)を調べたら、レイアウトBがわずかに高かった(p = 0.034)。「リテンション改善が目的だった」と解釈するのは、これもP-hackingなのじゃ!

roboko
ロボ子

ええ!それもダメなんですか?

hakase
博士

確認する指標を増やすほど、偶然に良い結果が出る可能性が高まるのじゃ。20個の指標を調べたら、少なくとも1つが偶然に良く見える確率は約2/3にもなるぞ。

roboko
ロボ子

それは怖いですね…。

hakase
博士

だから、事前に成功指標を決定して、文書化しておくのが大事なのじゃ(pre-registration)。

roboko
ロボ子

なるほど、最初に決めた目標からブレないようにするんですね。

hakase
博士

最後に、2つのボタンのデザイン(A, B)を2週間テストする予定だったとするじゃろ?

roboko
ロボ子

はい。

hakase
博士

9日目にボタンBのp値が0.048になったから、テストを中止してBを採用!…これもP-hackingなのじゃ!

roboko
ロボ子

ええ!早く良い結果が出た方が嬉しいじゃないですか!

hakase
博士

事前に停止ルールを設定せずにp値を何度も確認すると、偶然に良い結果が出る可能性が高まるのじゃ。毎日p値をチェックすると、少なくとも1回p値が0.05を下回る確率は37%にもなるぞ。

roboko
ロボ子

そんなに高いんですか!

hakase
博士

対策としては、シーケンシャルテストを使うのじゃ。停止時期に応じて基準値を調整するのじゃ。例えば、1週目はp < 0.01の場合のみ停止、10日目はp < 0.025の場合のみ停止、2週間後に通常のp < 0.05の基準を使う、みたいな感じじゃな。

roboko
ロボ子

なるほど、段階的に基準を緩くしていくんですね。

hakase
博士

そういうことじゃ!P-hackingを避けるためには、仮説と指標を事前に登録し、事後的に指標を掘り下げて探さない。複数の変数をテストする場合は補正を使用し、早期に結果を確認する場合は適切な基準値を適用する。そして、明確な否定的な結果を評価することが大切なのじゃ。

roboko
ロボ子

P-hacking、奥が深いですね。勉強になりました!

hakase
博士

最後にロボ子、P-hackingをしないために一番大事なことは何だと思う?

roboko
ロボ子

えーと…正直にデータを扱うこと、でしょうか?

hakase
博士

ブー!一番大事なのは、最初から都合の良い仮説を立てないことじゃ!例えば…『今日の夕食は絶対にカレーにする!』と決めて、他の料理の可能性を一切考えない…みたいな?

roboko
ロボ子

それ、ただのわがままじゃないですか!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search