Save 37% off PRO during our Black Friday Sale! »

A/BテストにおけるVariance reduction

A/BテストにおけるVariance reduction

Fd38d7ee40295f6361aa059008288731?s=128

yaginuuun

May 28, 2021
Tweet

Transcript

  1. A/Bテストにおける Variance reduction @yaginuuun, 2021/05/28

  2. 今日の話の元論文 • Improving the Sensitivity of Online Controlled Experiments: Case

    Studies at Netflix • NetflixによるKDD’16の論文 • カバ本でも参照されている ◦ Trustworthy Online Controlled Experiments - A Practical Guide to A/B Testing
  3. A/Bテストにおける Sensitivity とは何か • 評価指標に向けて使われる言葉 • ある決められたサンプルサイズにおいて、どのくらい小さな差分まで統計的有意に 検出可能か(Minimum Detectable Effect:

    MDEとも呼ぶ) ◦ MDEが小さいほどSensitivityは高いことになる。
  4. Sensitivity が低いことによって起こる問題 • 一人当たりの売り上げが20%上がった!でも統計的有意差はなかった。。 • 改善を行った機能単体で見ると購入が増えた!でも全体では統計的有意差はな かった。。 • → 基本的にできる限り上げたい

  5. Sensitivityを上げたい MDEは以下の式で求まる。* * 平均値の差の検定かつ有意水準 5%, 検出力80%, 均等割り付けの両側検定の場合 • 指標の分散が小さいほどSensitivityは高くなる •

    サンプル数が多いほどSensitivityは高くなる
  6. Sensitivityを上げたい 大きく3つの方策がある ① A/Bテストに割り当てるサンプルサイズを増やす ② Boldな変更を行う ③ Variance reductionを行う それ以外にも:分散の小さい指標を用いる

    , cappingする, ...
  7. Sensitivityを上げたい 大きく3つの方策がある ① A/Bテストに割り当てるサンプルサイズを増やす ② Boldな変更を行う ③ Variance reductionを行う それ以外にも:分散の小さい指標を用いる

    , cappingする, ... 常に可能なわけではない • サンプルサイズはサービス規模やダウンサイドリスクの制約を受ける。 • A/Bテストされるもの全てをBoldにはできない
  8. Sensitivityを上げたい 大きく3つの方策がある ① A/Bテストに割り当てるサンプルサイズを増やす ② Boldな変更を行う ③ Variance reductionを行う それ以外にも:分散の小さい指標を用いる

    , cappingする, ... 適用可能なケースが圧倒的に多い
  9. 補足:Variance reductionの解像度を少し上げる 平均値の差の検定で用いられている統計量: ここを小さくすることを目指す

  10. 補足:Variance reductionの解像度を少し上げる 平均値の差の検定で用いられている統計量: Variance reductionを行わない場合よりも大きくなる = 有意差が検出されやすくなる

  11. Variance reductionの手法 • Stratified sampling • Post stratification • CUPED

    どれも共変量を使って行う。
  12. Stratified sampling • 日本語だと 層化抽出法 と呼ばれる。 • 各層(Strata)から母集団と同じ比率でサンプルを抽出する • 母平均の推定は単純無作為抽出の場合と同様に行う

    Stratified sampling in Machine Learning. より引用
  13. Post stratification • サンプリング自体は単純無作為抽出を想定 • 母平均の推定を以下の式で行う 母集団のおける各Strataの比率 測定された各Strataにおける平均値

  14. CUPED • Controlled experiments Utilizing Pre-Experiment Data • 母平均の推定を新しく以下の値を定義して行う(共変量が一次元の場合)

  15. 各手法を適用した場合の分散* • 単純無作為抽出: • Stratified sampling: • Post stratification: •

    CUPED:
  16. 各手法を適用した場合の分散* • 単純無作為抽出: • Stratified sampling: • Post stratification: •

    CUPED: どれも単純無作為抽出の場合よりも小さくなっている
  17. 各手法を適用した場合の分散* • 単純無作為抽出: • Stratified sampling: • Post stratification: •

    CUPED: Stratified samplingの方がPost stratificationよりも分散削減効果が大きい。 一方で、サンプルサイズが大きい時はほとんど差がなくなる。
  18. 各手法を適用した場合の分散* • 単純無作為抽出: • Stratified sampling: • Post stratification: •

    CUPED: CUPEDによる分散低減効果は共変量の選択に依存する
  19. 実験条件 • 単純無作為抽出を基準として、各手法による分散低減量を比較する。 • 対象とする指標は以下の2種類 ◦ Retention rate: 契約継続率 ◦

    Streaming thresholds: ある一定の閾値よりも動画を視聴したかどうかを示す 2値変数。7個thresholdを変えたものを使う。 • 新規 / 既存 の2種類のセグメントで比較を行う。 • A/Aテストを想定し、ランダムな分割を各手法において100k回行い分散低減量の 点推定値を得た。
  20. 共変量 • 新規 / 既存で異なる ◦ 新規の場合、割り当てが登録時に行われるのでサービス上での行動を用いた 指標を共変量とすることができない。 • 手法間でも異なる

    ◦ 新規の場合、手法間では同じ ◦ 既存の場合、 ▪ Stratified samplingとPost stratificationは同じ ▪ CUPEDは異なる(実際にNetflixで用いているものを用いた)
  21. 実験結果 新規(Figure 3) 既存(Figure 4)

  22. 実験結果 新規(Figure 3) 既存(Figure 4) 既存よりも新規の方が分散低減量が少ない。 → 新規では使うことのできる共変量が限られているから

  23. 実験結果 新規(Figure 3) 既存(Figure 4) Post stratificationとStratified samplingはほとんど同じくらいの分散低減量となってい る。(事前の期待通り)

  24. 実験結果 新規(Figure 3) 既存(Figure 4) CUPEDではStreaming thresholdが高くなっても分散低減量が減少しない。 → 違う共変量を用いており、手法による差ではないらしい。

  25. 実験結果 CUPEDで使っている共変量と同じ共変量を用いてPost Stratificationを行うと、同程度 の分散低減量を達成できる。 Figure 5

  26. まとめ • Variance reductionは適用可能なケースも多く、Sensitivityを高めることができる方 策。 • サンプルサイズが大きい状況ではどの手法を用いても同じくらいの分散低減が期 待できるので、実装が容易で柔軟性のあるPost stratificationやCUPEDが推奨さ れる。

  27. 所感 • 各手法でどのようにStrataを切ったのか?または何個くらい共変量を用いたとかが 気になる。(あまり詳しく書かれていない) • 共変量の選択が肝 • pre-period analysisを行うよりも良いかもしれない。

  28. References • Improving the Sensitivity of Online Controlled Experiments: Case

    Studies at Netflix • Improving the Sensitivity of Online Controlled Experiments by Utilizing Pre-Experiment Data: CUPEDの元論文 • Power, minimal detectable effect, and bucket size estimation in A/B tests by twitter engineering blog