Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介: オンライン対照実験における尺度解釈の12の落とし穴

論文紹介: オンライン対照実験における尺度解釈の12の落とし穴

社内 LT の資料

7cca11c5257fda526eeb4b1ada28f904?s=128

Kenta Murata

October 25, 2017
Tweet

Transcript

  1. A Dirty Dozen: Twelve Common Metric Interpretation Pitfalls in Online

    Controlled Experiments Kenta Murata Speee Inc. 2017.10.25 オンライン対照実験における尺度解釈の12の落とし穴 論文紹介
  2. どんな論文? • Microsoft で実施された何千ものオンライ ン対照実験から得られた知見の共有 • やってしまいがちな尺度の誤解釈を12パ ターン紹介 • どうして起きるか、どうやって回避できる

    かを解説
  3. https://twitter.com/TJO_datasci/status/919615942644023296

  4. 目次 • オンライン対照実験 • 尺度の分類 • 12の落とし穴 • まとめ

  5. オンライン対照実験 • A/B テストと呼んでいるもの • オンライン製品の新機能の有効性を調 査する方法 • 「対照実験」という語は治験から来て いる

  6. 対照実験 • 試験対象の新しい治療方法について2つの群 A, B を用意する • A: 対照群 (control

    group) ‣ 新しい治療を受けない群 • B: 治療群 (treatment group) ‣ 新しい治療を受ける群
  7. オンライン対照実験 • 試験対象の新機能について2群を用意 • A: 対照群 (control group) ‣ 新機能が入ってない現在の状態を見せるユーザ群

    • B: 治療群 (treatment group) ‣ 新機能を加えた状態を見せるユーザ群
  8. A と B の差異 • 実験が正しく設計され、正しく実施されれば、 A と B の違いは新機能の存在のみである

    • 外部要因 (季節性、最近増えた他の新機能の影 響、ライバル製品の動向など) ‣ A と B の観測が同時に実施されれば、両方にほと んど同じだけ影響を与えるので、実験結果に意味 のある影響はないだろう
  9. A と B の尺度の差 • A と B の間に生じる尺度の差は、純粋 に新機能の存在に起因するはず

    • 製品に加えられた変更と、ユーザの行 動の変化の間の因果関係を確立する ⬇
  10. 尺度の分類 • Microsoft では数百もの尺度が算出されている ‣ デプロイの判断のために直接参照するのは一握り ‣ しかし、正しく判断するためには他の尺度が必要 • 尺度を分類することで、異なる種類の尺度間で

    明確な役割分担ができ、実験結果を解釈すると きの使い方まで定まる
  11. 4種類に分けて考える • Data Quality Metrics • Overall Evaluation Criteria (OEC)

    Metrics • Guardrail Metrics • Local Feature and Diagnostic Metrics
  12. Data Quality Metrics • 実験結果を信用して良いかどうか判断 するための尺度 • 新機能の実装バグなどの問題に対する 警報として機能する •

    網羅的な Data Quality Metrics の集合 を持っていれば、後述する尺度解釈の 落とし穴を特定しやすくなる
  13. Data Quality Metrics の例 • 対照群と治療群のユーザ数の比率 ‣ Sample Ratio Mismatch

    (SRM) を検出 する ‣ ほとんどの SRM は深刻な選択バイアス の存在を意味していて、その場合の実験 結果は無効である
  14. Overall Evaluation Criteria (OEC) Metrics • 以下の問いに答えるための尺度集合 ‣ 新機能は成功したのか? ‣

    新機能のインパクトはどうだったか?
  15. OEC 尺度の性質 • 短期間の実験で計測できる • 同時に、長期のビジネス価値とユーザの満足度を 暗示する • 1製品に1つの OEC

    尺度を持つのが理想 ‣ 他の2-3の尺度による複合尺度でも良い • 良い OEC の設計は難しい
  16. Guardrail Metrics • 成功を直接示さないが、リリース判断 の時に悪い値を示していてほしくない 尺度の集合 • 例: Page Load

    Time (PLT)
  17. Local Feature and
 Diagnostic Metrics • Local Feature Metrics ‣

    特定の機能の使われ方や機能性を計測する尺度 - 例: 要素ごとの CTR、ファネルのステージを通過したユーザの割 合、など ‣ 治療群において、この尺度の予期せぬ向上は、治療群の変更に よる副作用が原因かもしれないので、解釈に注意を要する • OEC のための Diagnostic Metrics ‣ OEC の変化 (または不変) の原因の理解を助ける尺度
  18. 12の落とし穴 1. Metric Sample Ratio Mismatch 2. Misinterpretation of Ratio

    Metrics 3. Telemetry Loss Bias 4. Assuming Underpowered Metrics had no Change 5. Claiming Success with a Borderline P-value 6. Continuous Monitoring and Early Stopping 7. Assuming the Metric Movement is Homogeneous 8. Segment Interpretation 9. Impact of Outliers 10.Novelty and Primacy Effects 11.Incomplete Funnel Metrics 12.Failure to Apply Twyman's Law
  19. Metric Sample Ratio Mismatch

  20. Metric Sample Ratio Mismatch • 尺度サンプル比率の不一致 • 尺度を求める際に使えるサンプル比率 が対照群 A

    と治療群 B で一致しない
  21. MSN における MSRM の例 • 新機能: リンク先を新規タブで開く • 実験結果: 治療群のページ読み込み時間

    (Page Load Time: PLT) が 8.32% 増えた • なぜ? PLT = Sum of each page load time Total number of page loads
  22. PLT 増加の原因 • 治療群のページ読み込み総数は対照群よりも 7.8% 少なかった • 「新規タブ」と「戻るボタン」の影響 ‣ 対照群では、戻るボタンで前のページに戻るとページ読み込みが

    発生し、ブラウザのキャッシュを使うので小さい読み込み時間が 発生する ‣ 治療群では、戻るボタンを押さず前のページのタブを開くので、 前のページに戻るためのページ読み込みが発生しない ‣ 治療群では、戻るボタンによる小さなページ読み込みが存在しな いため、対照群よりも PLT が大きくなる
  23. MSRM と SRM の違い • Sample Ratio Mismatch の発生は実 験全体を無効にする

    • Metric Sample Ratio Mismatch の発 生は通常は尺度のみ無効にする
  24. MSRM の要因になるもの • ユーザの行動の変化 • An different loss ratio of

    telemetry between control and treatment • 新機能の間違った instrumentation • 以降で紹介する他の落とし穴
  25. MSRM の不認識による問題 • 尺度がサンプル比率の不一致に影響されるこ とを認識していないと次の間違いを招く可能 性がある ‣ リリース判断の間違い ‣ 調査の方向性の間違い

    ‣ 実験の影響の誤推定
  26. MSRM が起きたらどうする? • 次の2つを実現するために尺度を分解する (1)尺度のどの部分が異なっているか理解する (2)MSRM に影響されず信頼できる部分を分離する • 分解された尺度の詳細はケースバイケースで変 化する

    • 分子と分母を分けることから始めると良い
  27. MSN の例の PLT を分解してみる • Homepage PLT 1. Average homepage

    PLT per user a. Average homepage PLT per user with 1 homepage visit b. Average homepage PLT per user with 2+ homepage visits 2. Number of homepage loads per user a. Number of back-button loads b. Number of non-back-button loads i. PLT for non-back-button loads
  28. Misinterpretation of Ratio Metrics

  29. Misinterpretation of Ratio Metrics • 比率尺度の誤解釈 • 比率尺度の変化と、実際の変化が一致 しない

  30. MSN での例 • 治療群: メインコンテンツの下の方に あるモジュールを上の方に移動した • 治療群の CTR が

    40% 落ちた!!1
  31. 尺度の定義 Avg CTR/user = P u2users CTR(u) #users CTR( u

    ) = #click on the module by the user u #impressions of the module
  32. 40% 減少の意味 • MSRM は起きていない • 尺度の変化は治療群に加えられた変化 に起因するものと検証された • 治療群が良くないことを表すのか?

  33. 分子と分母を分けて見る • CTR(u) の分子と分母を分けて調査 ‣ 分子と分母の両方が対照群より改善されていた ‣ しかし、分母の変化が分子より大きかった ‣ だから、比率で見たときに減ってしまった

    CTR( u ) = #click on the module by the user u #impressions of the module
  34. この例の正しい解釈 • ページ全体の CTR に変化はない • モジュールのクリック数は増えている • 実験は成功 →

    治療群の方が良い
  35. 比率尺度の2種類の計算式 • 比率の平均 ‣ 例: 今見たやつ (ユーザ CTR の平均値) •

    平均の比率 ‣ 例: #clicks from all users #page view from all users
  36. (A) 比率の平均 の方が有利 • 変化に敏感である • 外れ値に強い ‣ 各ユーザの行動の重みが均等化されている •

    MSRM に悩まされにくい ‣ 分母のユーザ数が実験の制御量だから • 分散を計算できる
  37. 比率尺度の分母の不一致の検出 • 分母と分子それぞれの計数尺度を比率 尺度と同時にトラッキングすること

  38. Telemetry Loss Bias

  39. Telemetry Loss Bias • 遠隔測定ロスによるバイアス • モバイル端末上での計測結果の集計ロ スに起因して発生する

  40. モバイル端末上での計測 • 通信帯域の利用を最適化するため、端末上で発生し た計測対象のイベントをバッファに溜め置いて、 WiFi 接続時にバッチ送信する • バッファの容量は有限なので、しばらく WiFi に接

    続されずバッファが満杯になると古いものを捨てる • 捨てられたイベントは計測されず失われる
 → telemetry loss
  41. Skype での例 • iPhone アプリにおける通知配信の信頼性向上を目的 とするプッシュ通知配信プロトコルを変更する実験 • メッセージ関連の尺度に影響があると予想していた が、電話関係の尺度に影響があるとは想定していな かった

    • しかし、いくつかの電話関係の尺度に統計的に有意 な変化が発生し、しかも典型的な「向上」もしくは 「悪化」のパターンには従わない変化だった
  42. 何が悪かったのか? • プッシュ通知によってアプリがバックグラウン ドで立ち上がり数秒間動き続ける • その間、端末が WiFi に接続されていると、蓄 積された計測イベントのバッチ送信が発生する •

    そのため、治療群における telemetry loss が 減少し、いくつかの尺度で MSRM が発生した
  43. Telemetry loss bias の影響 • Telemetry loss が変化したイベント に依存する尺度が無効になる •

    Telemetry loss を見過ごすと、間違っ たリリース判断を招く可能性がある
  44. Telemetry loss bias を防ぐ • 尺度のために計測される全てのイベン トについて、イベントの計測ロスを図 る Data Quality

    尺度を作ること
  45. 計測ロスを図る方法 1. クライアント側のイベントに対応するサー バ側のイベントと比較する ‣ サーバ側に対応するイベントがある場合は確 実にこれを利用する 2. イベントにシーケンシャルな番号を付ける ‣

    サーバ側に対応するイベントがない場合に こっちを採用する
  46. Assuming Underpowered Metrics
 had no Change

  47. Assuming Underpowered Metrics had no Change • 検出力が小さい尺度を変化なしと仮定 してしまう問題

  48. MSN での実験の例 • 治療群におけるユーザ毎の総 PV が対照群よりも 0.5% 増えた • MSN

    のように成熟したサイトでは、総 PV の 0.5% の変化は十分意味のある影響だと考えられる • しかし p 値を見ると統計的に有意ではなかった • より詳しく調べると、実験は十分な検定力を持つ設 定になっていなかった
  49. 検定力 • 検定力 (statistical power): 帰無仮説を棄 却し、対立仮説が真であると言える確率 • 検定力が 80%

    より小さい場合、第2種の 過誤 (偽陰性) を犯す可能性が高くなる • 事前に検定力分析をして、十分なサンプル サイズを推定しておく必要がある
  50. Claiming Success with
 a Borderline P-value

  51. Claiming Success with a Borderline P-value • きわどい p 値で実験の成功を主張してしまうこと

    • 対照実験では、統計的に有意な結果が偶然得られるこ とがある ‣ A/A テストでも統計的に有意な変化が起きる場合がある ‣ 必ず再現性を確認すること • また、p 値は頻繁に御用、誤解釈されているので気を つけるべし
  52. Continuous Monitoring and
 Early Stopping

  53. Continuous Monitoring and Early Stopping • 継続監視と早期停止 • 継続監視: 予定期間、予定のサンプル

    数を超えても実験を継続すること • 早期停止: 予定期間、予定のサンプル 数を満たす前に実験を中断すること
  54. 例1 • Being で実施された、新しいランキング アルゴリズムの2週間の評価実験 • 1週間後、鍵となる成功尺度が統計的に 有意な向上を見せた • さて、この時点で実験を止めて良いか?

  55. 例2 • Xbox における、マルチユーザゲームで悪い行いを してサスペンドされたユーザへの tips 教示の、2 週間に渡る評価実験 • 目的:

    カスタマーサポートの電話呼び出しを減らす こと • 2週間後、電話での呼び出し回数は変化しなかった • その後も実験を継続して良いだろうか?
  56. どちらもダメ • 帰無仮説検定における標準的なシナリオにおい て、早期停止も継続監視もやってはならない • 早期停止と継続監視は、第1種の過誤 (偽陽性) を発生させてしまう • 偽陽性は、実際には効果がない変更を加えてリ

    リースしてしまう危険性がある
  57. 早期停止が許される場合 • 治療群がユーザの満足度を著しく低下 させていることが分かった時

  58. Assuming the Metric Movement is Homogeneous

  59. Assuming the Metric Movement is Homogeneous • 尺度の変化が均質的であると仮定して しまうこと •

    実際には、同じページの尺度が、ペー ジが表示されるコンテキストに依存し て異なる振る舞いを見せることがある
  60. Being での例 • 尺度: 広告の表示数 • ページ内の広告表示数が 0.6% 悪化していた が、調べてみると・・・

    ‣ ページが最初に表示された場合の広告表示数は 0.3% 向上していた ‣ ページ内のリンクをクリックし、その後「戻る ボタン」によって元のページに戻った場合の広 告表示数は 2.3% も悪化していた
  61. よくある不均質性 • 異なる国に属するユーザが異なる振る 舞いを見せる • 機能が特定のブラウザの特定のバー ジョンだけで異なる振る舞いを示す

  62. Segment Interpretation

  63. Segment Interpretation • ユーザのセグメンテーションに対する解釈の問題 • ユーザのセグメンテーションの例 ‣ 国 ‣ デバイスの種類

    ‣ OS ‣ アプリのバージョン ‣ ユーザ登録からの日数
  64. Being での例 • 検索結果順位づけの新しいアルゴリズムの試験におい て、対照群と治療群のそれぞれでユーザを2群に分けた ‣ U1: 検索結果にディープリンクを表示 ‣ U2:

    ディープリンクを表示しない • 治療群において、U1 と U2 の両方で sessions per user が向上したが、全ユーザ (U1 + U2) で見ると統 計的に有意な変化はなかった
  65. Simpson’s Paradox • 母集団での相関と、母集団を分割した集 団それぞれにおける相関は異なっている 場合がある。 • 統計的に有意な変化が得られるまでユー ザのセグメンテーションを繰り返してい ると、このパラドックスに落ちる

  66. 多重比較問題 • これは多重比較問題の一種であり、偽陽性の可能性を増やす • 有意水準 (偽陽性率) を α = 0.05

    (=1/20) とし、ユーザを 20セグメントに分けて、各セグメントが独立であるとする • 純粋な確率論として、1つのセグメントが統計的に有意な変 化を見せる可能性がある • Bonferroni 補正で有意水準を補正する ‣ セグメントが20個ある場合は、有意水準を20で割るか、p 値 を20倍する
  67. Impact of Outliers

  68. Impact of Outliers • 外れ値の影響 ‣ 尺度を歪める ‣ 分散を増加させる ‣

    結果として、統計的に有意な結果が得ら れなくなる
  69. 外れ値の取り除き方 • Trimming ‣ 外れ値を取り除く • Capping ‣ 固定値で置き換える •

    Winsorizing ‣ 特定のパーセンタイルの値で置き換える ‣ (Charles P. Winsor さんの名前から命名された)
  70. 外れ値に影響されにくい統計量 • 平均値 → 中央値 • 分散 / 標準偏差 →

    四分位間隔 (IQR) • 最小値 → 5パーセンタイル • 最大値 → 95パーセンタイル
  71. Novelty and Primacy Effects

  72. Novelty and Primacy Effects • 新規性による効果と本質的な効果の区別 • 人は新しいものが好きなので、新機能はリリース当初 はよく試してもらいやすい •

    リリース初期に見られた効果がずっと継続するかどう かは、実験を継続しないとわからない • 逆に、リリース初期には全く影響は見えないが、時間 が経ってから少しずつ効果が現れてくるものもある
  73. 新奇効果の切り分け • 実験の全期間の観測を累積した尺度だけを見ていると 切り分けできない • 日時でセグメントを切って比較することで切り分けで きる可能性がある ‣ 例: 1日目は向上しているが、2日目以降は減少している

    • 短期ウィンドウと長期ウィンドウでの比較 ‣ 例: 短期では向上しているが長期では変化なし
  74. Incomplete Funnel Metrics

  75. Incomplete Funnel Metrics • 不完全なファネル • 最終ゴールでの尺度だけではなく、 ゴールに至るまでのステップを分解し てファネルを作り、各段階で尺度を追 跡する必要がある

  76. Failure to Apply Twyman's Law

  77. Failure to Apply Twyman's Law • Twyman’s Law の応用、つまり予期せ ぬ尺度の変化から問題を特定すること

    に失敗する • 致命的な問題を含んだバージョンをリ リースしてしまう危険性がある
  78. どうやって防ぐか • 予期しない変化を検出する仕組みを作る ‣ 適切なセグメント分けの集合 ‣ 適切な OEC ‣ 変化を検出してアラートを出す仕組み

    ‣ アラートに応じて実験を中断する仕組み
  79. まとめ • Microsoft でのオンライン対照実験で 観察された、尺度解釈における12の一 般的な落とし穴を紹介した

  80. 参考文献 • 原論文 ‣ http://www.kdd.org/kdd2017/papers/view/a-dirty-dozen-twelve-common-metric- interpretation-pitfalls-in-online-contro • 論文の解説ブログ記事 ‣ https://blog.acolyer.org/2017/09/25/a-dirty-dozen-twelve-common-metric-

    interpretation-pitfalls-in-online-controlled-experiments/ ‣ http://sucrose.hatenablog.com/entry/2017/10/15/234947 • Twyman’s Law ‣ http://www.exp-platform.com/Documents/TwymansLaw.pdf • オンライン対照実験について • https://hbr.org/2017/09/the-surprising-power-of-online-experiments