A/Bテスト

ABテストについて勉強したことのメモです。
学部生の頃に受けた医薬統計系の先生の話も思い出しながら書きました。
ABテストとは
ある施策などの効果を調べる際、その 施策の有無以外の要素がすべて同じである2つの集団にランダムに割付けて 行うテストのこと。
因果関係の検証が可能であるというメリットがある。
因果関係の検証は難しい
次のような例を考えます。
「新しいアイスクリームの広告を作成し、従来の広告と差し替えた結果、昨年度に比べて10%も売り上げが上昇した!今年の広告の方が優れている!」
一見正しいように思えますが、本当にその広告が原因かどうかはわかりません。アイスクリームの売り上げを左右する要因には、「気象(温暖化など)」「賃金」「インフルエンサーの紹介」「感染症」などの様々な要因が考えられますが、去年と今年では、それらの要因もすべて異なってしますため、このような前後比較では効果の検証には不十分です。
もう一つ、例を考えます。
とある進学校Tが、土曜学習(※本来休みの日であるはずの土曜日に行われる授業)の効果を示すため、学校の学生を以下の2グループに分けた。
A:土曜学習に参加した生徒
B:土曜学習に参加しなかった生徒
この2群で直近のテストの点数を比較した結果、Aの方が点数が高かった。
これは、選択バイアスと呼ばれるもので、グループ分けに恣意的な選択をしてしまっていることによる失敗例です。なぜなら、Aのように土曜学習に真面目に参加する学生は、Bに比べて元々の学習意欲が高いグループの可能性が考えられるからです。
この場合で正しくグループ分けするなら、こうでしょうか。
- 学校内からランダムに生徒を選び
- 選んだ生徒にのみ土曜学習を一定期間受講させる。
- 選ばれなかった生徒は土曜学習を受講しない。
- その後、テストの点数を比較する。
因果関係を示す方法
(理想)
1.人間と、そのクローンを1体ずつ用意
2.人間にAを施し、クローンには何もしない
3.効果の差分をとる
もちろん、人のクローンで実験などはできませんので、クローンのかわりに__統計的に同等な2集団__を作って実験します。
実際にランダム化するときは、コンピュータで乱数を発生させ,割り付け表を使用する方法が適切とされています。
くじ引きやサイコロの使用,患者番号などでの割り付けでは真のランダム化とはならないことに注意です。
ABテストのような比較対象実験を効率的に行う方法として、フィッシャーの三原則というものがあります。
参考文献
- ウェブ最適化ではじめる機械学習
- 岩波データサイエンス Vol.3