Uberの因果推論活用について雑な和訳(後半やる気失せた)
(原文)https://eng.uber.com/causal-inference-at-uber/
Uberは顧客体験の改善・運用分析・製品の開発のために因果推論を活用した取り組みを行っている。本記事ではUberで因果推論をどのようにスケーリングしているかについてまとめる。
因果推論とは
因果推論とは何かが発生する理由の質問に答えることを目的とした複数の統計的手法の集まりである。回帰分析などはXの変化がYの変化にどのように関連しているかを定量化することを目的としているが、因果推論ではXの変化がYの変化を引き起こすかを判断することを目的としている。
近年因果推論の分野は範囲と影響が拡大化している。Uberでの因果推論の取り組みは従来の分析を改善した。
なぜ因果推論が重要なのか
高いレベルで言えば、因果推論はUberのプラットフォームがユーザー体験を向上させることを助けてくれる。因果推論による洞察はユーザーがどこにPainPointを持っているか・製品開発のきっかけ・よりパーソナライズされたデータの提供に役立つ。
例えば、ユーザーが「機能自体に不満がなく、この機能をどのように使えば良いのか」だけがわからない場合に質問をチケットを送ってきている場合、適切な洞察を得ることで、機能の改善ではなく使用方法についてのコミュニケーションに注力することができる。
さらに細かいレベルで言えば、因果推論はデータサイエンティストとプロダクトアナリストにA/Bテストが不可能な場合やに観測データに基づいた因果関係の質問に答えたり、適切に設計された実験から追加の洞察を得ることを可能にしてくれる。
例えば、市場のすべての顧客が参加できるメールのキャンペーンを開始する。この場合、RCTを行なっていないので効果検証をどのようにして行うか?また、無作為に制御されたA/Bテストがあり、介入群において、実際には介入が行われなかった(メールを送ったが開かれなかったなど)バイアスをどのように対処するのか?これらの疑問を因果推論により対処することによってプラットフォームでのユーザーエクスペリエンスの向上を図ることができます。
因果推論の種類
因果推論の分野はそれぞれの手法が疎結合であり、初心者が様々な手法の構造的に理解をするのは少し膨大です。より明確に分けるために「実験データで使用する方法」と「観測データで使用する方法」の二つのカテゴリに分けることができます。
実験データを用いた因果推論
実験データを用いた手法は、A/Bテストなどの実験を設計して行なったデータを用いた手法です。
ほとんどの場合、RCTを行うことが因果関係を測定するのに最もクリーンな方法であり、A/Bテストなどの実験実験を行なっているのになぜ因果推論を使用する必要があるのか疑問に感じるだろう。だが、多くの場合、介入非介入での値の平均の差を見るだけでは満足できない場合が多い。 因果推論により、実験データ内の追加の複雑性に対処することができ、治療がどのようにそしてなぜその効果をもたらしたのかについてより多くの洞察が得ることができる。
グループ間にある既存の差が重要である場合
既存の差を調整するには事前実験データを使用した制御実験(CUPED)メソッドを使用することができる。このメソッドはオンライン実験の分散を抑える手法としてよく使用されるが、バイアスの低減にも役立つ。
CUPEDメソッドを適用する場合、研究者は最初に治療がなかった場合の各個人のベースラインを推定するために、実験事前データだけを用いて実験事故データを予測するモデルを作成する。その後、観測データと予測ベースラインを比較することでバイアスを調整した比較を行う。Uberでは社内実験プラットフォームを通してCUPEDメソッドが実装されている。
ランダム化が失敗する度合いがあり、セレクションバイアスが引き起こされる度合いが存在する。RCTが完全に失敗した場合傾向スコアマッチングやIPTWなどの方法を適用して実験を観測研究として扱うこともできる。
介入群の中の非介入の要素が存在している場合
顧客に向けて「販促メールを送る」という介入をした場合を考える。全ての顧客がメールを開くわけではない。そのような際にどのようにメールの効果を測定すれば良いのだろうか?もし販促メールを開いた人と非介入の群とを比べる場合、セレクションバイアスが生じる可能性があります。メールを開くことを選択した人たちは開くことを選択しなかった人たち異なる可能性があるからです。
このセレクションバイアスを回避するには、販促メールの開封にかかわらず、介入群と非介入群とを比較する必要があります。ただし、介入群の中で実際には非介入の群が存在するため、介入効果は薄まります。
バイアスのない実際の介入効果をどのようにしたら見積もることができるだろうか?
この問題に対処するために、我々はComplier Average Causal Effect (CACE)アプローチを用いることができます(CACEアプローチとは?後で詳しく勉強する)
CACEアプローチとは、実際に治療されている部分母集団の治療効果を推定するために、intention-to-treat (ITT:治療割り当ての効果)をコンプライアンス率で調整します。
CACEはinstrumental variablesのフレームワークの一つとして考えることができる。具体的にemailの例で考える。ランダムな割り当ての下で結果変数に影響を与える唯一の方法は顧客が実際にemailを開くか否かであると考える。CACEではこの仮定が必要である。CACEを用いると研究者はグループの割り当てをinstrumental variableとして使用することで介入が結果変数に与える実際の効果を測定することができる。
介入効果がサブグループにより異なる場合
Uberのような多種多様な顧客が存在する会社の場合、顧客はそれぞれ独自の好みやニーズがある。したがって、介入が一つのグループではよく働くことがあっても、異なるグループではうまく働かないこともある。
そのような問題に、因果推論の一つの手法である heterogeneous treatment estimation(HTE) を用いることで、全ての顧客が利益を得るように設定された体験を特定することができる。
HTE分析では、観測された共変量を条件とする介入効果であるconditional average treatment effect (CATE)を計算する。HTEの目標はどのセグメントが介入とコントロールの間に最大の差があるかを特定することにある。言い換えると、どのグループの人が介入により最も利益を得るのだろうか?ということです。
HTEの一般的なワークフローは、最初にA/Bテストを実施し、次に観測データを用いてHTEモデルを学習させることです。研究者は異なるセグメントに基づいて最適化された介入を特定することができる。その後、HTEによって得られたアイデアから、個別化された介入を行う二度目の実験を行う。
HTEを推定する他の方法として、Uberでよく使われるアプローチの一つは想起モデリングと呼ばれ、quantile regressionなどは広く使用されている別のアプローチである。
なぜ介入が結果変数を動かしたのかを知りたい場合
介入効果Xが結果変数Yに大きな影響を与えた実験があると仮定する。
XとYが関連している理由について仮説が存在するかもしれないが、回帰分析などの基本的な分析では、仮説を経験的にデータを用いてテストを行なうのではなく、論理的に推測しているだけである。
Uberで頻繁に使用されている因果推論の手法であるMediation modeling, a causal inference methodはその問題を解決する。 介入効果Xと結果変数Yの間のブラックボックスを開いて、根本的なメカニズム(つまりなぜ起こったのか)を解明する。
基本的に、メディエーションモデリングは、介入効果全体を2つの部分に分解する。1つは、仮説を立てた特定のメカニズムによるもの(平均的な因果的メディエーション効果)と、他のすべてのメカニズムによるもの(平均的な直接効果)です。
メディエーションモデリングは、データが因果仮説をサポートしているかどうかを経験的にテストするのに役立つ。
詳しくはべつの記事に(article on this topic)詳しくまとめている。
観測データを用いる因果推論
Uberでは多くの実験を行なっているが、実験で顧客体験に悪影響を与えたくはない。ランダム化されていない変数の因果的影響を推定するために、実験で得られたデータではなく観測データを活用することもできる。
観測データを用いる上で考慮する点
例えば、UberEatsの配達の遅延が、顧客の将来的な満足度にどのような影響を及ぼすか知りたい場合がある。RCTにより配達を遅延させる群とさせない群とでテストを行うことは物理的には可能だが、ビジネス上そのような判断は難しい。
そのような際に、観測データから配達の遅延が発生したユーザーと発生していないユーザーを調査することにより、実験に頼らずに影響を調査することができる。
ただ、これら二つのグループ間の差を計算するだけでは、意味のある答えは得られない可能性が高い。配達の遅延が発生したユーザーと発生していないユーザーを単純に比較すると、配達の遅延に遭遇する回数は、注文の数に相関があると考えられるため、配達の遅延が多いほど顧客エンゲージメントが高くなるという信じられない結論に達する可能性がある。
この注文数のような、介入変数と結果変数との間にある変数のことをバックドアパスと呼ぶ。観測的因果推論法では、このようなバックドアパスをブロックすることを目的とする。これを行う一つの方法としては分析で過去の注文数を制御することであり、例えば注文数が5つのユーザーを抽出することなどである。
ただ、実際のデータには。さまざまな変数を含む複雑なバックドアパスが多数存在する可能性があります。制御すべき変数と制御すべきでない変数を決定することは、因果推論分析の重要なステップであり、問題のビジネス問題の実質的な知識を持つ研究者とドメイン専門家の間の密接な協力を必要とする。
観測データを用いた因果推論の手法
含める必要があるバックドアパスを決定した後は、因果モデリングを行う様々な方法がある。
- 傾向スコア
- 二重ロバスト推定
- 回帰不連続法(regression discontinuity method)
- 差分の差分法
- 操作変数法(instrumental variables approach)
傾向スコア
最も簡単の方法としては、関連する共変量の全く同じである介入個体と非介入個体を比較することである。ただ、共変量の数が多い場合、このアプローチは実行できない場合がある。そのような場合に傾向スコアを用いて共変量を要約する手法が使用される。傾向スコアは、共変量が与えられた場合に処理される予測確率である。
傾向スコアを算出したの家に、傾向スコアのマッチングやIPTWなどの観測値を重み付けして分析を構築することができる
二重ロバスト推定
Doubly-robust estimation(二重ロバスト推定)はg-computationとIPTWの二つのアプローチを組み合わせて介入効果の推定値を測定する。これにより、2つのモデルのいずれかが正しく指定されていれば、推定値は一貫する(とされている)
回帰不連続法
介入が行われた時点での回帰線の不連続性を調べる手法。
例として、Uberでは動的価格設定のさまざまなレベルが、要求する顧客の決定にどのように影響するかを検討している。
差分の差分法
介入が行われる前後の差から、介入があった群となかった群との差を取り除くことで、介入の効果を調べる手法。特定の年で発売されるマーケティングキャンペーンや新製品の機能などの効果検証に用いられる。
操作変数法
結果への影響が及ぶ3番目の変数を特定することにより、因果関係を取り除く。
観測データを用いた因果推論の有効性について、ほとんどがテスト不可能な仮定に基づいているため、注意して使用する必要がある。
例として、傾向スコアマッチングにおいて、共変量がすべて傾向スコアモデリングに含まれている必要がある、だが、この仮定が成り立つかを判断することは容易ではない。
Uberでは「因果モデル図を用いる」「反応度分析・感度分析を行う」「既知の因果効果を伴うシミュレーションテストを行う」などのアプローチを行いこの問題に対処している。
また、Uberでは因果推論手法をスケールさせるために、pythonのパッケージに想起モデリングを実装するなど、全社のチームが簡単に利用できるようにプラットフォームを整備している。また因果推論コミュニティを形成し、学習と共有を促進している。