Slide 1

Slide 1 text

白金鉱業 Meetup Vol.15 『Pythonで学ぶ効果検証入門』 の歪なところ、その理由 CyberAgent 伊藤寛武 2024/09/19 20:40 – 21:00

Slide 2

Slide 2 text

自己紹介 「伊藤寛武 」と申します! • サイバーエージェントに勤務。 • 新規事業立ち上げに奮闘中。データサイエンティ ストとしては開店休業状態。 • バックグランド 修士(経済学、マクロ経済学) → 資産運用会社 → ベンチャーコンサル → 助教 兼 博士(労働経済学) → CA 2 時系列の知識は大体この辺で更 新が止まっている 因果推論の知識を仕込んだ時期。 Mostly Harmlessちゃんと読んだ のもこの頃

Slide 3

Slide 3 text

宣伝: 本出版してます!!! Pythonで学ぶ効果検証入門 • 効果検証についての入門書 • 実務での応用を念頭に入れて議論を行う 3

Slide 4

Slide 4 text

宣伝2: イベントやります! • (実は)構成や意図がかなり似ている2冊だと思っている • 今日の話と合わせて聞いてもらえたら嬉しいです!! 4

Slide 5

Slide 5 text

本で目指したこと → 「中立的な表現をしない」「態度を明らかにする」 • 言わずもがな「いろいろ考えて効果検 証しましょう」は誠実かつ大事 • ただそのスタンスだけでは指針にはなり 得ない。 • 「どうするべきか?」が伝わりやしい 表現にこだわった • 議論のきっかけになれば、なんなら炎上 しても良い 5

Slide 6

Slide 6 text

今日の目的 • 執筆を振り返りながら、その思想を浮き彫りにしたい • 「”実務での応用”って具体的になに?」に応えたい • 本の出版にあたって、いろいろな話題を取捨選択した。その取捨選択 にこそ、効果検証に対する姿勢や思想が反映されているはず • 「良い効果検証とは何か?」について議論するタネを作る • 懇親会で盛り上がりたい 6

Slide 7

Slide 7 text

7 本の章立て、なんかおかしくない?

Slide 8

Slide 8 text

本の章立ての順番がヘン • 2章 A/Bテストを用いてクリーンに効果検証を行う • 3章 A/Bテストを用いて実務制約内で効果検証を行う • 4章 Difference in Differencesを用いて効果検証を行う • 5章 Regression Discontinuity Designを用いて効果検証を行う 8 • 「A/Bテスト → DID → RDD」という順序 • サンプル全体でのランダム性を使うA/Bテストと局所的なランダム性を使うRDDは推定に 使っている変動という意味で似た手法 →自然な発想では「A/Bテスト → RDD → DID」であるべき

Slide 9

Slide 9 text

思想:学ぶべき手法には優先度がある • 顕教:いろんな場面で使える手法がえらい • 「正しさ分析しないといけない」→ A/Bテスト • 「少しでもマシな分析を手早く」→ DID • 「A/Bテストができないときの工夫の1つ」→RDD • 密教:分析結果として得られる情報がリッチである手法がえらい • A/BテストおよびDIDはポピュレーションの全体における効果がわかる • A/BテストはATE、DIDはATT • どっちが知りたいか? • DID:少しノイズが入るけど対象とする集団における平均的な効果 • RDD:ノイズは入っていないけどローカルな集団における効果 • ローカルな集団を対象にしているから、更なる細分化は難しい 9

Slide 10

Slide 10 text

得られる情報量に注目し、交差項の紹介には執着 • 当該書籍では「交差項」を厚く・熱く紹介している • わざわざ次の2つを峻別して紹介 • 単純な交差項 • サブサンプル解析 • 異質性分析はA/Bテストからメカニズムの解析を目指すときの 心強い武器 • 分析者側にスキルがいるが、情報量が多い • その割に分位点回帰とかDTEとかは紹介しなかったが… • この異質性を綺麗に取れることこそがA/Bテストの超強いメリット 10

Slide 11

Slide 11 text

11 操作変数とか傾向スコア って本当に適用が難しい?

Slide 12

Slide 12 text

「操作変数と傾向スコアは使うな」って言い過ぎでは? 12 本の内容 即座に来た専門家による指摘

Slide 13

Slide 13 text

指摘は妥当(だし、本でもこっそり導入している) • 操作変数や傾向スコアのお気持ち • 「ランダムな変動を上手い具合に捕まえることで、施策効果の推定を いい感じにできる」 • 施策や意思決定がシステマティックに決まっているケースではそう いった状況は結構ある 13 オンライン広告の出稿は ほとんどサーバー上でシステム的に行われている → この仕組みをうまく使えば広告効果の分析は可能 adtechbookより引用

Slide 14

Slide 14 text

思想: 運用しづらい手法は実務/組織では用いるべきではない • 次の2つの識別はどうするのか? • 「やってよい操作変数法」と「やってはだめな操作変数法」 • ついつい「バルティック操作変数なら使っていいよ」とか言いがちだが… • この識別のためには、手法の仮定やお気持ちを理解し判断しないといけな い • 比較的容易 :教科書を読んで、必要な仮定を理解すること • 比較的難しい:実務上どの程度violationを許容するのか?の判断 • 意思決定をするための効果検証に意思決定が必要という微妙さを鑑み、本 ではあえて強い言葉を使いながら「使うべきではない」とした 14

Slide 15

Slide 15 text

そもそもA/Bテストですら運用は難しい • そもそもA/Bテストが難しい • A/Bテストが簡単ならばKohaviの本はあれ ほどの厚さにはならない • A/Bテスト基盤がある≠A/Bテストの運 用ができている • BigTechやそれに準じる企業組織の人は A/Bテスト基盤を作りたがる • それって本当に正しく運用できている? 15 経済学のトップジャーナルでもRCTのリサーチにおいて 頑健な値を提供していない(Young, 2019)

Slide 16

Slide 16 text

16 削っているという割に長くね?

Slide 17

Slide 17 text

本が長ったらしい • A/Bテスト、RDD、DIDしか紹介していない • それにも関わらずのに、300P超え • 「3000円は高いよ!」というお叱りをよく貰う • よく見ると、A/Bテストだけで150P超 • 理由の一つはもちろん筆者の能力 • 伊藤の文章力 • コードめっちゃ書いている 17

Slide 18

Slide 18 text

思想: 簡単な分析をまずは確実に実施できるようになろう • 潜在的な課題の多くはA/Bテストを含む凡庸な効果検証手法の 適切な実行/エグゼキューション • ほんとにまともにA/Bテストをできている分析組織がどれくらいある のか? • 効果検証の問題のほとんどは「高度な効果検証」の遥か手前にある • 本では分析の適切性を計測する方法をかなり手厚く紹介した • A/Aテスト、リプレイ、バランステスト、プレトレンドテスト、 Mccarryテスト • 扱っているテーマは少ないが、トピックは結構色々紹介した 18

Slide 19

Slide 19 text

19 割り当て方法の議論薄くない?

Slide 20

Slide 20 text

本では「A/Bではランダムに割り当てをします」 以上のことを言っていない • 本書での議論のされ方 • 「『どのようにランダムなのか?』という割り当てメカニズムに関し ては、さまざまな選択肢が存在しているのです」 • 「使うべき手法」とか何も書いていない • 「少なくとも」次の2つの区別を誤魔化して書いている • ベルヌーイ割り当て • 完全無作為抽出 • この2つの区別は実務家としては普通に必須だと思う • そして割り当て方法に応じた分析手法を使うべき…本当は • 細かい議論は、Imbens & Rubinを見てほしい 20

Slide 21

Slide 21 text

思想?:手法の難易度も高く、 運用容易な形への変換ができなかった • そもそも伊藤の能力の範囲を超えている • 自分も実務応用で活かし切った経験に乏しく、紹介にあたって自信を 持てなかった • 割当方法まで考えるとパッケージの支援を受けづらい • 回帰分析系のパッケージでポンがしづらい • 割り当てを工夫して得られるメリットは検出力2-30%だからまあいい か…となった 21

Slide 22

Slide 22 text

22 サンプルサイズの議論も薄くない?

Slide 23

Slide 23 text

本ではサンプルサイズの議論も薄い • 本書での議論のされ方 • 「サンプルサイズを事前に計算(…)必要があります」でおしまい • 計算方法に触れず!!! • 永田本にぶん投げた(→『サンプルサイズの決め方』) • 統計初心者が永田本を読むのは難易度が高いのは知っていての所業 • アンチパターンはキッチリ紹介 • ナイーブな逐次停止 • 「サンプルサイズは多すぎるのもダメ」 23

Slide 24

Slide 24 text

思想?: やるならシミュレーションベースの手法 • (よく知られた)サンプルサイズ計算は難しく使いづらいと感じて いる • クラスターA/Bや層化A/Bでどうやるのか?を考えると頭がいたい • シミュレーションベースの手法なら運用しやすいかなと思っている • 個人的にはDeclareDesignを推している(ただしRのパッケージなので本からは 漏れた) • どこかで紹介ブログを書きたいし、本も翻訳したい 24

Slide 25

Slide 25 text

25 デルタメソッドは?

Slide 26

Slide 26 text

本ではデルタメソッドを全く紹介していない • デルタメソッド:カバ本で紹介されている手法 • 割当単位と分析単位が異なるとき(CTRの分析で発生しがち)に必要 な手法として導入される • カバ本の普及とともに多くの人が認知したが、書籍ではスルー した • その他色々な「ナウ」い手法を本ではほとんどスルーしている 26

Slide 27

Slide 27 text

デルタメソッドはムズい • デルタメソッドはDeng et al(2018)が元ネタ Deng, Alex, Ulf Knoblich, and Jiannan Lu. "Applying the Delta method in metric analytics: A practical guide with novel ideas." Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018. • 読んでみると案外、数式間の補完が必要 • 状況によって使いまわすためには、「理解」していないとダメ系 • パッケージの支援も厳しい • 分析チームとしてこの手法を前提にするのは厳しいと判断 27

Slide 28

Slide 28 text

思想:回帰分析ができれば十分実用的 • 書籍では、回帰分析 & クラスタ頑健標準誤差の手法を紹介 • 回帰分析 → 比較的慣れ親しんだ手法 • クラスタ頑健標準誤差 → パッケージの支援あり • 「クラスターA/Bならばクラスタ頑健標準誤差を使いましょう」と紋切り 型の主張にできる • クラスターA/BテストをA/Bテストのデザインの1つとして整理 • デルタメソッド/クラスタ頑健標準誤差という手法の話ではなく、クラス ターA/Bテストという効果検証プロジェクトデザインの一環として整理 • 「重要なのは効果検証の手法ではなくプロジェクトのデザインである」と いう主張を一貫させた。 • 分析という道具については回帰分析だけでかなりいいところまでいける 28

Slide 29

Slide 29 text

「”分析方法としては“回帰分析を用いる」ことは 分析プロジェクトの単純化を意味しない • 効果検証プロジェクトは次の3ステップに分かれる 1. 設計 2. 実施 3. 分析 • 分析方法とは「分析」ステップの1テクニックの話にすぎない • 考えるべきなのは「プロジェクトのデザイン」なのであり、分 析方法は二の次 29

Slide 30

Slide 30 text

30 全面的な統計的仮説検定手続きの採用

Slide 31

Slide 31 text

書籍では全面的に統計的仮説検定を採用 • 分析の不確実性を評価する方法として、統計的仮説検定を採用 「本書ではある種の割り切りとして統計的仮説検定を用いた分析を一 貫して用います」 • 統計的仮説検定の「悪評」を考えると、高リスクな判断…な気 はする • 実際、そもそも伊藤自身は統計的仮説検定をほぼ使わない • 推定値と分散を見て大まかに”判断”している • 「使わないものを人に教えるな 」 31

Slide 32

Slide 32 text

復習: 統計的仮説検定は大きな弊害を現場にもたらす • よく知られているように、統計的仮説検 定を使いこなす難易度は高い • 難しすぎるP値の解釈 • 保守的な意思決定を招く仮説検定プロセス • 見過ごされるFalse Positive Rateの問題 32 BigTechの実験でも高いFPRが推察され、 高リスク状態になっている(Kohavi et. al, 2022)

Slide 33

Slide 33 text

個人的にアンチパターンだと思っている態度 • 統計的仮説検定を効果検証のプロトコルのように扱ってA/Bテ ストの数を競うのはアンチパターン せっかくコストをかけて収集したデータから得られる情報量を落とし て、偽陽性リスクを招く行為 • 分析組織に定量的KPIを置こうとするとこの手のアンチパター ンが大量発生 33

Slide 34

Slide 34 text

思想:初学者でも手に入る判断軸が必要 • 統計的仮説検定はソフトウェア的支援が厚く初学者でも扱いやすい • 代替方法は、分析コストがあがってしまうところが気に入らなかった • 「仮説検定をしないで、推定値と分散を見て判断しましょう」 → そんなことができる人が現場に多いなら、そもそもこの書籍は要らない • 「ベイズ的手法を用いましょう」 → 現状だと分析コストが高い • 推定値の不確実性の解釈よりも、推定値の解釈にコストを割くべき • どういう方法をとっても「不確実な結果」が「確実な結果」になることはない。 • 10%有意にすらならない推定値はどうあがいても不確実な結果 • それならば、収集したデータと向き合う時間を増やすべき • 1%有意な推定値でも、その推定値が得られたメカニズムは考えないといけない 34

Slide 35

Slide 35 text

まとめ 35

Slide 36

Slide 36 text

話題の取捨選択を左右した考え ① データ分析チームは必ずしも効果検証の専門家によって構成されて いない 施策を行えば、否が応でもやらないといけないのが効果検証 そのため、様々なバックグラウンドの人をエンパワーする必要がある ↓ • 初学者でも(ギリ)読めるように難易度調整 • 操作変数/サンプルサイズ計算/デルタメソッドは扱わない • 割当方法やそれに合わせた分析は誤魔化して紹介 • 妥当性を確認する手法を徹底して紹介する • A/Aテスト、リプレー、バランステスト… 36

Slide 37

Slide 37 text

話題の取捨選択を左右した考え ② 付加価値を出す効果検証のために必要なのは手法そのものではない 効果検証そのものがすぐさま付加価値になるわけではない。 意思決定に資することこそが重要。 ↓ • 手法を学ぶのに(そこまで)コストをかける必要はない。分析手法の学習 や選択に手間取らないように1つのフレームワークを全面的に採用する • 分析 → 回帰分析、意思決定 → 統計的仮説検定、設計 → 一部の論点をスキップ • 分析で得られる情報量を重視する • DIDをRDDよりも重要な手法として位置付ける • 交差項を使った分析の紹介 37

Slide 38

Slide 38 text

実務で役にたつ ≠ 「ドメイン知識」的現場主義 • 「実務で役にたつ」と称していると、“実務”的な現場主義を招く ≒「現場」で手に入る「生」の知識こそが大事なのであって、象牙の塔的な 因果推論テクニックは優先度が落ちる!? • 一面の真実ではありつつ、「現場主義」にも問題あり • 「ドメイン知識が重要」などといって具体的な指針示せない分析者は最も Low-Value • この問題意識を提示/答えようとしたのが問題作である第6章 • “闇堕ちするデータサイエンティスト”と称した • データ分析者は専門家としての責務を果たすべき。 • 専門家じゃないと答えられない問題や状況は存在する。 そこに責任と矜持を持つ。 38

Slide 39

Slide 39 text

「誰がどのように読むか」を考えて パフォーマティブ/行為遂行的な本になることを意図しました • 書籍としての想定 • サイレントマジョリティに向けて書きたい: 現時点で効果検証に詳しくないが、やらなきゃいけない人 • 期待している読まれ方 • 「これ以上はマニア向けの知識だな」という境界線を引き、実務で付加価値を創出す るために必要な最小公約数的な知識集合を身につけてもらう • それは理論的知識が果たせる役割の矮小さを意味しない • 現場主義も問題を含む。理論と現場の両方を理解していることこそが実務 者に求められる。 • そのための展望を6章、通称ポエムパートに託した • 初学者に阿った過度な簡単化はしない。むしろ頑健性の確認という視点を 啓く。 39