因果推論 | AI tech studio https://cyberagent.ai AI事業本部は、サイバーエージェントグループのデジタルマーケティング分野におけるサービス開発を行う組織です。 Fri, 27 May 2022 02:00:26 +0000 ja hourly 1 https://wordpress.org/?v=5.3.26 EBPMデータベースを作った理由 https://cyberagent.ai/blog/tech/oss/16582/ Fri, 27 May 2022 02:00:47 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=16582 経済学社会実装チームの森脇です。

本日、証拠に基づく政策(Evidence-Based Policy Making, EBPM)を促進するためのプラットフォーム、EBPMデータベースをリリースしました。このウェブサイトは査読付ジャーナルから政策現場における簡単なデータ分析までさまざまなレベルの政策に関するエビデンスを集めて共有することを意図したプラットフォームです。

大学やシンクタンクの専門家、行政組織の実務家などに政策効果に関する簡単なサマリー記事を「レビュー」という形で登録してもらい「データベース」化することで、政策を検討する際に過去の類似例の検証結果について参照できるようにしています。

EBPMデータベースのコンテンツは専門家のみなさまにどんどん追加していただきたいのですが、取り急ぎイメージを共有するために教育、医療、少子化の3分野について10本程度のレビューを掲載しています。いずれも分野の専門家が選定した査読付ジャーナルからの質の高いエビデンスを集めています。協力いただきました、伊藤寛武さん、高橋雅生さん、茂木良平さんにはこの場をお借りして御礼申し上げます。

EBPMは政府における議論がはじまった2017年ごろからバズり始め昨年急速に認知されるようになりました。厚生労働省では因果推論手法を用いた政策効果分析が発表されるなど着実に取り組みが進んでいます。私自身も中央省庁から政策のデータ分析に関するヒアリングを受ける機会があり政府におけるニーズの高まりを感じているところです。

trend

EBPMの検索数(Googleトレンド)

人的・財政的に慢性的なリソース不足に陥っている行政組織にとって、限られたリソースを有効な政策に振り向けることは喫緊の課題です。国の経済政策の司令塔である経済財政諮問会議においてEBPMアドバイザリーボードがエビデンスづくりを進めていますし、今年4月、経済産業研究所にEBPMセンターが設立されています。こうした、政府の取り組みはGoogleをはじめとするテック企業がA/Bテスト(ランダム化比較実験)によって客観的なエビデンスに基づいてサービスの改善を繰り返して成長してきたことと付合し、時代の趨勢と言えます。

EBPMデータベースの提供する価値

EBPMデータベースでは、主に3点の価値を提供したいと思っています。

低コストのEBPM

中央省庁のEBPMの取り組みは、「データを分析して」「証拠を生み出す」ところにフォーカスしているように見受けられます。日本最大のシンクタンクといわれ独自の研究所や傘下の研究独法をもつ中央省庁はともかく、自治体の現場でEBPMのためのデータ分析を行うのは容易ではありません。データ収集、分析、結果の活用という三段階のなかで、データエンジニア、データアナリスト、そして何より解析結果を幹部や議員に説明して意思決定を促す政策コンサルタントと、複数種類の専門家が揃うことはなかなかないと思います。

EBPMデータベースでは、すでに専門家がデータ収集と分析を行なった結果がレビューというかたちで投稿されています。適当なレビューを探して最後の意思決定の部分から始めることができます。必要なエビデンスが十分整理されていないといったご要望はお気軽にGitHubもしくはebpm@cyberagent.co.jpまでご要望ください。

EBPMについてのオープンな議論

EBPMデータベースのような試みは、諸外国でWhat Worksとかエビデンスストアといった名称で多数公開されています (注1)。しかし、これらは一方通行の情報提供にとどまり、研究者や政策現場とのインタラクションが難しくなっています。

EBPMデータベースでは、GitHubにソースコードをすべて公開しており、自由にレビューの追加や修正要望をできるようになっています。研究者の方がご自身の研究をアピールする場として使っていただくもよし、なんちゃって専門家によって歪んだ世論を糺すために分野で認められた高品質のエビデンスを追加していただくもよし、政策現場の方が実施してみたデータ分析結果を投稿していただくもよし、自由に使っていただければ幸いです。また、投稿されたレビューについての改善も歓迎しています。

政策現場とアカデミアの結節

COVID-19を契機に政策決定過程における専門家の役割が改めて議論されています。頑健なエビデンスをじっくり作り上げることに長けた専門家が、意思決定のためにオンデマンドなエビデンスを短時間で生み出す必要がある政策現場で何ができるのか。

急ぐあまりエビデンスの質が落ちれば仲間内から批判され、エビデンスの生産が遅いと政策現場からは見放されるという板挟み状況が改めて浮き彫りになりました。逆に、政策決定側は専門家に過剰に責任を負わせる構図も批判の対象となりました。

このような状況を打開するためには、EBPMデータベースを通じてエビデンスをつくる人と使う人が交流することでお互いの言語やインセンティブ、制約について相互理解を深めることで協働体制をつくっていくことが有用ではないかと思います。

既存のエビデンスについて共有するだけでなく、行政の現場での実証実験に専門家が参加し、その結果得たデータを論文化してまたEBPMデータベースに投稿するといったサイクルが生まれることを期待しています。

最後に

EBPMデータベースは開発途上のツールです。たくさんのレビューを投稿していただくとともに、実際に政策現場のユーザーに使った感想をフィードバックをいただき発展させていければと思います。

 

注1: What Works Clearing House, What Works Center for Local Growth  Education Endowment Foundation Teaching and Learning Toolkit  Kopernik Solution Catalog  J-Pal Crime Reduction Toolkit What Works For Children’s Social Care 3ie Development Evidence Portalなど

]]>
2021年ノーベル経済学賞の簡単な紹介 https://cyberagent.ai/blog/research/nobelprize2021 Mon, 11 Oct 2021 14:16:00 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=15554 2021年度のノーベル経済学賞はDavid Card, Joshua Angrist, Guido Imbensの3名に贈られました。おめでとうございます!
特にJoshua Angirst氏は東京大学(CREPE)で3日間の集中講義を行った際にAI Labからも参加させていただいたため、非常に親近感がありとても嬉しいです。

プレスリリースのタイトルに「Natural experiments help answer important questions for society」とあることから、因果推論の手法それ自体というよりも、自然実験を社会にとって重要な問いへ適用し、重要な洞察を発見したことへの貢献が考慮されているのだと感じました。

このブログ記事では、受賞した3名の貢献をプレスリリースの要約と共に簡単に解説し、それがデータサイエンティストにとってどんな意味があるのかについて触れたいと思います。

 

(Angrist氏から頂いたサイン)

◎簡単な業績紹介(プレスリリースの要約)

社会科学の疑問の多くは、原因と結果を扱うものです。

例えば、

  • 移民がそのほかの住人の給与や雇用に与える影響は?
  • 教育期間は将来の収入にどう影響するのか?

といった質問に応えるためには、移民や教育期間といった「原因」が、給与や雇用といった「結果」にどのような効果を与えるのかを分析する必要がありますが、これはそれほど簡単ではありません。

なぜなら、

  • もっと移民が少なかったら、住民の給料はどうなっていたのか?
  • 教育を受けていなかったら、その人の収入はどうなっていたのか?

といった「現実には起きなかったこと」は、実際にはデータとして観測されないからです。

今回のノーベル経済学の受賞者たちは、偶然の出来事や政策変更によって、似た状況にある人々が異なる扱いを受けるような状況を利用し、冒頭の疑問に答えることができることを示しました。
こうした偶然の出来事や政策によって生まれる擬似的な実験のような状況を、自然実験(Natural Experiment)と呼びます。彼らはこの自然実験を、医学における臨床試験のように、社会科学上の研究に利用することを編み出しました。

David Card氏は、自然実験を用いて、最低賃金・移民・教育の労働市場への影響を分析しました。1990年代初頭に行われた研究では、最低賃金の引き上げが必ずしも雇用の減少につながらないことなど、従来の常識を覆す新たな洞察をもたらしました。
また、新規の移民は受け入れ国の労働者の所得に全体としてプラスの影響を与える一方、既存移民の所得に対しては負の影響を与える可能性があることを明らかにしました。そのほかには、学生が労働市場で成功を収めるために、学校のリソースがこれまで考えられていたよりもはるかに重要であることも明らかにしました。

自然実験のデータを解釈するのはとても困難です。例えば、あるグループの学生に対し義務教育を1年延長したとしても(他のグループには延長しなかったとしても)、グループの各学生が受ける教育の効果は同じではありません。例えば、義務教育の延長をしなかった場合でも勉強を続けるような学生にとっては、義務教育の価値は他の(不勉強な)学生と異なるはずです。
こうした状況下で、学校教育の効果について、何らかの一般的な結論を出すことは可能なのでしょうか。1990年代半ば、Joshua AngristとGuido Imbensの両氏は、自然実験から原因と結果に関する正確な結論を導き出す方法を開発し、これらの問いに一定の答えを与えました。

経済学賞委員会のPeter Fredriksson委員長は「Card氏の社会的に重要な問題に関する研究と、Angrist氏とImbens氏の方法論的貢献により、自然実験が豊かな知識の源であることが示されました。彼らの研究により、重要な因果関係に関する多くの問いに答えることができるようになり、社会に大きな利益をもたらしました。」と述べています。

(引用元:Press release: The Prize in Economic Sciences 2021, LINK)

 

◎今回受賞対象となった業績が、データサイエンティストにとってどんな意味を持つのか?

今回の受賞者3名の功績は、

  • 明示的にABテストを行っていないデータから、自然実験と呼ばれるあたかもABテストをしていたかのような状況のデータをうまく見つけ出し、そこから因果効果を分析するという枠組みを整理した。
  • その方法を使って社会にとって重要な質問のいくつかに回答を示した。

という2点にあります。

ビジネスの現場でデータサイエンスを行っていると、実験が行われてないような場合にも「原因と結果」に対しての分析を求められることが多くあります。その際、オンライン広告などのデジタル化が進んだビジネス領域であれば、ランダムに抽出した顧客にのみ特定の広告を表示する、といった実験を行うコストが比較的小さいため、単純なABテストによる効果測定によって「原因と結果」を比較的高い精度で識別することができます。

一方で、近年ビジネス上の関心が急速に高まっているデジタル・トランスフォーメーションの現場では、施策の効果測定に関する実務上の制約があることがむしろ普通になっています。例えば実店舗の運営を伴う小売業においては、特定の顧客にのみ特定の価格をオファーする、といったような実験を行うことがそもそも困難です。

こういった状況において、自然実験の概念や受賞者たちが整理してきた手法を知らなければ、多くの場合間違った意思決定へと導くような分析結果を得ることになってしまいます。逆に言えば、受賞者らの整理してきた枠組みを学ぶことで、データサイエンティストにとって回答が可能なビジネス上の疑問の範囲が大きく広がることにもなります。

経済学は昔から自然実験のアプローチを利用してきたわけではありません。1980年代は、データの生成過程を構造方程式として表現する方法が主流でした。こうした手法で得られた結果に対し、実験結果と比較した検証などが行われるようになった結果、従来の方法ではうまく実験の結果を再現できないことが徐々に明らかになってきました。このような状況の中で、今回の受賞者三名は、自然実験をうまく利用した分析方法に関する重要な貢献をいくつも生み出し、経済学のみならず、社会科学全体の発展にに大きなインパクトをもたらしました。

彼らの貢献の多くは、効果を検証したい要素(例えばクーポンや広告)がどのような理由によって割り振りが決まっているか、という部分に着目することで、正確な効果を識別しようとしています。これは分析者が、現実の世界における割り振りの決定ルールや、それを行う人間の考え方などに十分な注意を払い、こうしたバックグラウンドを考慮した分析を行うことを要求しています。今回、三氏の業績に対しノーベル賞が与えられたことで、ビジネス上のドメイン知識に左右されない「スマート」なモデル構築手法やアルゴリズムが重視されがちな現状に対し、社会や人間の意思決定への洞察の重要性について、データサイエンティストが考え直すきっかけになるのではないでしょうか。

◎サイバーエージェントでの関連した取り組み

サイバーエージェントには経済学バックグラウンドのデータサイエンティスト・リサーチャーが多数在籍しており(参考A・参考B・参考C)、ABテストができないような環境において、今回の受賞者の提案してきた手法などを日々実務の中で活用しています。具体的には、小売業におけるポイントプログラムの効果や、広告の表示やクーポンの利用といったパーソナライズされたマーケティング施策の効果を検証する際に、今回の受賞対象となった手法を広く用いながら、適切な因果効果の識別を図っています。

また、これらの手法を実際のビジネスで活用した経験を生かし、ビジネスで利用することを前提とした入門書である「効果検証入門」という書籍の出版や、データサイエンティスト協会で講義を行ったりしています。

そんなサイバーエージェントでは、今後もより広い範囲で経済学のアプローチを利用した分析の活用を想定しています。こういった中で、因果推論や自然実験を前提にした分析を行いたい方だけでなく、そういったタイプの分析者と働いてみたいと思う営業職やMLエンジニアやソフトウェアエンジニアといった幅広い職種の方を募集中です。

興味のある方はカジュアル面談なども可能なので、ぜひお声がけください!

 

執筆者

白木(@mori_kogai)・安井(@housecat442)

]]>
続・Synthetic Difference in Differenceの紹介 https://cyberagent.ai/blog/research/causal_inference/14180/ Tue, 24 Nov 2020 09:51:43 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=14180

こんにちは、経済学チームの安井(@housecat442)です。

丁度去年の今頃にSynthetic Difference in Difference(SDID)という手法の簡単な紹介をこのブログで行ったのですが、先日Susan Athey大先生のtwitterで「Working PaperをMajor Revisionしたよ」っていう話が書かれていました。

丁度DID的な設定での効果の分析を行う必要がある状況だったので、updateされた論文を読み直して使ってみました。

今回は使ってみた感想をいくつか書いてみようと思います。

1. SDIDの利点をおさらいする

SDIDとは結局のところ、Difference in Difference(DID)を行う際に、サンプルに重みをつける方法です。

$$(\hat{\tau}^{SDID}, \hat{\mu}, \hat{\alpha}, \hat{\beta}) = arg min \left( \sum_{i=1}^N \sum_{t=1}^T \left( Y_{it} – \mu – \alpha_i – \beta_t – W_{it} \tau \right)^2 \hat{\omega}^{SDID}_i \hat{\lambda}^{SDID}_t  \right)$$

\( \hat{\omega}^{SDID}_i \hat{\lambda}^{SDID}_t \)はサンプル\(i,t\)の重みを表しています。もし、\(\hat{\omega}^{SDID}_i \hat{\lambda}^{SDID}_t  \)が全ての\(i, t\)に対して1であれば、これはDIDと同じ損失最小化を行っていることになります。

ちなみに、そもそもDIDとは・・・?といった方は拙著の効果検証入門を参照していただけると良いかと思います。

 

\(\hat{\omega}^{SDID}_i \hat{\lambda}^{SDID}_t  \)は見ての通り、二種類の重みの掛け合わせになっています。

1つはユーザーや店舗などの個体間につける重み\(\hat{\omega}^{SDID}_i\)です。こちらは介入が行われる前のデータにおいて、非介入群から介入群をうまく近似できるように正則化付きの誤差最小化問題を解いて重みが算出されます。つまり、介入群の介入されていない時期をうまく予測できる重みを学習していることになります。これは例えば、ある店舗 i は介入群の予測にはあまり寄与しないため非常に小さな重みがつく一方で、別の店舗 j は予測で有用であるために大きな値の重みがつくといった状態です。

もう1つは、時間軸につける重み\(\hat{\lambda}^{SDID}_t\)です。こちらは非介入群において、介入前のデータから介入後のデータをうまく近似できるように、誤差最小化問題を解くことで算出されます。つまり、非介入群において、介入後をうまく予測する重みを学習していることになります。これは例えば、ある時期 t は介入後を予測するためには重要ではないけれども、t + 1は重要なので大きな重みがつくといった状態です。

これら2つの重みを掛け合わせたものが、DIDの回帰分析においてサンプルの重みとして使われます。これら2つの重みは直感的には、

・介入群の反実仮想を予測する上で有用でない個体 i の重みを小さくし、有用な個体の重みは大きくする。

・介入群の介入時の反実仮想を予測する上で有用でない時期 t の重みを小さくし、有用な時期の重みは大きくする。

といったものになります。

このような重みをうまく利用する事で、普通のDIDに対してSDIDでは信頼区間がかなり小さくなることが、論文内では実験的に示されています。これは重みをつけたことでモデルのフィットが良くなったことに起因するとされています。論文内での実験ではSynthetic Controlもほぼ同様の恩恵がありますが、これはおそらく実験に利用された喫煙データにおいて時間間の重みを考慮するメリットがあまり無いことに依存しているのでは無いかなと思います。

Synthetic Control(SC)やCausal Impact(CI)は、同じような状況での利用が想定されている手法です。どちらの手法も基本的には個体間の重みのみを考慮した方法です。SCは最適化問題を解くことで重みを得ており、CIは正則化と状態空間モデルを利用する事で個体間の重要度を調整しています。

 

2. 使ってみた感想

とりあえず使ってみた感想をここに書いてみたいと思います。

 

微妙に周期がブレる周期的なイベントの対応

普段CausalImpactを使っている身からすると、個体間の重みに該当するものはすでに考慮していることが多いので、SDIDの大きな特徴は時系列の重みが追加されている部分にあります。

自分がよく扱うデータには、介入群の値が定期的もしくは不定期に0になるような状況が存在します。

これは例えば何かしらの問題でデータが記録されなかったり、ある期間ではある商品が品切れしていて売り上げが発生しなかったりとさまざまな理由が存在しています。

完全に周期的な現象であればseasonalityを入れることでCausal Impactでも十分に対応できますが、多少のズレが存在するような場合(例えば商品の入荷が火曜日か水曜日だったり)には対処がかなり難しいなーと思っていました。

SDIDでは一度重みの算出を通すことでこの辺りの対応を勝手にやってくれていたので、非常に良かったです。

 

どのタイミングのデータを使うか問題

企業でDID系の分析をする場合、大体どの時期のデータから使うかで悩むことになります。

観測可能な期間自体は長いものの、昔のデータは実際あてにならない可能性が高く、どこから使えば良いのかよくわかりません。

という問題に対しても、一旦思考停止して放り込んでみて、関係なさそうな期間は重みで削られることに期待するということが可能になるのは、割と嬉しいのでは無いでしょうか?

 

データのスケールに依存して結果が変わる

これはDID系のデータは大体そうだと思いますが、重みの算出に正則化を入れることでデータのスケールに対してかなり影響を受けている気がしています。

重み算出時の正則化の値は\(Y_{it} – Y_{i(t-1)}\)の分散を用います。

データのスケールが変数間で大きく異なる場合、スケールの小さい変数の係数は大きめになるため、スケールの小さい変数に対してはかなり強くパラメーターの値が押さえ込まれることになります。この結果、スケールの小さい変数はほぼ考慮されないという状態になってしまいます。

よって、特に何もnormalizeなどをしてなければ、変数の追加や対数を取っただけでもかなり結果が変わってしまいました。

これは一般的なDIDで想定しているような、州ごとやユーザーごとに同一の変数を観測して分析するような場合には、大きな問題とはならないはずです。

しかし、ウェブ企業で用いるような、検索トレンドのデータを\(Y_it\)として扱うような場合には気をつけなければならない問題だと思われます。

 

どの変数を使えば良いのか?

上の問題も相まって、変数を追加すると結構結果が変わってしまいます。

ただその結果の変化が、追加した変数が介入のタイミングで何らかの効果を受けてしまっているからなのか、それとも正則化とかを通じて何か別の変数が考慮されなくなってしまっているかとかが実際よくわかりません。

論文内では介入が行われていなく効果が0になることがわかっている期間を利用してRMSEを測って、DIDやSCとの比較を行っています。このやり方を真似すれば、変数を入れ替えしてRMSEを比較することは可能な気がしています。

しかし、実際にやってみると結構適当な変数を入れるだけでほぼフィットせずに効果の推定値は0になったりするので、この結果を全て信頼するのも少し違う気がしています。

 

3. 使うことがおすすめできる方法か?

とりあえず現状はまだやめておいた方が良い気がしました。

ただ、時系列で色々問題があるデータを扱うような場合には、既存の手法ではうまく対応できないけれども、SDIDでは対応できるという可能性が十分にあると思います。

なので、困ったら使ってみるのが良いのでは無いでしょうか?

ちなみにSDIDのgithubページはこちらにあります。

]]>
GANで因果推論 https://cyberagent.ai/blog/research/causal_inference/10261/ Thu, 27 Jun 2019 02:59:17 +0000 https://cyberagent.ai/research/?p=2283 はじめに

6月中旬からAI LabのAD Econチームでインターンをしている齋藤 (@moshumoshu1205)です. 普段はこちらのブログで記事を書いたりしています.

唐突ですが, 広告や教育, そして医療に至るまである介入が個々の被介入者に対して有する因果効果(個別的因果効果: Individual Treatment Effect)を予測できると嬉しいことがたくさんあります. 例えば, 本当に効果がある人を事前に特定してその人たちにのみ広告を打てるとしたら, 広告配信の費用対効果を改善できます. さらに, 望ましい治癒効果の望まれる人にのみ投薬や治療を施すことができたら, 治療効果の最大化が期待できるでしょう. これらの例にとどまらず多くの分野で, 介入の適切な個別化はKPIの改善に寄与すると考えられるためここ数年で盛んに研究されています.

本記事では, それらの研究の一つであるGAN (Generative Adversarial Nets)を活用して個別的因果効果を予測する手法を提案している研究[Yoon et al. (2018)]の紹介をしたいと思います.

定式化

ここでは, 因果効果予測の問題を簡潔に定式化します. 細かい仮定などは[Yoon et al. (2018)]のSection 2をご覧ください. また本記事では, 単に介入がbinaryである状況のみを記述しています(例えば, ある介入をするかしないかのみに興味がある場合). しかし, 本記事で紹介する手法は介入が多値である場合にも適用できます (介入が3種類以上存在し, それぞれの介入効果に興味がある場合).

\( \mathcal{X} \)を特徴量空間, \( \mathcal{Y} \)を出力空間とします. また介入空間を単に\( \mathcal{T} = \{0, 1\} \)としておきます. それぞれが \( \mathcal{X}, \mathcal{T}, \mathcal{Y} \) 上に値をとる確率変数を \( \boldsymbol{X}, T, \boldsymbol{Y} \)とした時, これらの確率変数が同時確率分布\( \mu \)に従うとしておきます (i.e., \( \left( \boldsymbol{X}, T, \boldsymbol{Y} \right) \sim \mu \)). ここで出力に関する確率変数\( \boldsymbol{Y} \)がベクトルである \( \boldsymbol{Y} = \left( Y^{(0)}, Y^{(1)} \right) \) ことには注意が必要です. これはRubin-Neyman causal modelに従ったnotationで, 介入有無のそれぞれに対応する目的変数(Potential outcomes)がそれぞれ独立に存在することを想定しています. このような想定を立てることで因果効果を記述したり扱いやすくするためのモデルがRubin-Neyman causal modelです. 詳しくは拙著のqiita記事をご覧ください.

さてこのモデル化のもとではあるデータ\( i \)に対するIndividual Treatment Effect (ITE)は次のように定義されます.
$$
\tau_i = Y_i^{(1)} – Y_i^{(0)}
$$
これは介入した時の目的変数と介入しなかった時の目的変数の差分を意味するので, 介入の因果効果の定義として妥当そうです. もしもこのITEの値が観測されているならば, 特徴量\( \boldsymbol{x} \)からITE \( \tau \)を予測するような教師あり学習を行うことで未知データに対するITEの予測値を比較的容易に手に入れることができるでしょう.

しかし事はそう簡単には運びません. なぜならば私たちはいかなるデータについてもそのITEの実現値を観測することはできないからです. これは私たちは各データに対してたかだか一つの介入しか施すことができないことに起因します. 実際に私たちが観測可能な目的変数\( Y^{obs} \)は, \( \left( Y^{(0)}, Y^{(1)} \right) \)と\( T \)を用いて次のように表されます.
$$
Y^{obs} = T Y^{(1)} + (1 – T) Y^{(0)}
$$
これにより, 介入した時(\( T = 1 \))はそれに対応する目的変数\( Y^{(1)} \)のみが, 介入しなかった時(\( T = 0 \))はそれに対応する目的変数\( Y^{(0)} \)のみがそれぞれ観測されるという事実が明確化されるかなと思います. よって私たちが用いることができる訓練データは, \( \mathcal{D} = \{ \boldsymbol{x}_i, t_i, y_i^{obs} \}_{i=1}^{n} \)のような形をしており, この情報のみを用いて\( \tau \)をよく予測するような予測器を作らねばならないというのがこの分野が直面する大きな困難でありかつ面白さでもあるわけです. ここで観測される側の目的変数\( Y^{(T)} \)をfactual outcome, 観測されない側の目的変数\( Y^{(1 – T)} \)をcounterfactual outcomeと呼んだりします.

真のITEが一切観測されない状況で未知データに対すてITEを予測する手法はいくつか存在します. 中でも本記事で紹介するGANITEは, 観測されないcounterfactual outcomeをGANのような考え方に基づき人工的に生成することで, 擬似的なITEを含む訓練データを生成し, それに基づきITEの予測器を学習するというアイデアに基づいています.

GAN

GANITEは, GANのアイデアを活用しているので先立って簡潔にGANの説明をしておきます.
しかしGANに関してはお詳しい方も多いと思うので, 本章は読み飛ばして頂いても構いません.

GANの目標は, ある確率分布\( p_{data} \)を出来るだけよく近似するようなgenerator \( \boldsymbol{G} \)と呼ばれるNetworkを学習することです. Generatorの入力はランダムノイズ\( \boldsymbol{z} \sim p_{\boldsymbol{z}} \)で \( p_{\boldsymbol{z}} \)には一様分布などが用いられます.

より良いgenerator \( \boldsymbol{G} \)を学習するために, GANはもう一つのdiscriminatorと呼ばれるNetwork \( \boldsymbol{D} \)を活用します. generatorはノイズから出来るだけ\( p_{data} \)のサンプルと見なせるような偽のデータを生成しようとしますが, discriminatorはgeneratorが生成したデータと真の分布\( p_{data} \)からサンプルされたデータを精度よく判別できるように学習されます. このように2つのNetworkを敵対的に学習することにより, discriminatorの判別精度が低い所で落ち着いたならばそれはすなわち, generatorが真の分布からのサンプルと遜色ないデータを生成できていることを意味しそうです.

GANは上記のような意図を反映させたmin-max構造を持つ損失関数をgeneratorとdiscriminatorに関して交互に最適化していくという手順を踏みます.
$$
\min_{\boldsymbol{G}} \max_{\boldsymbol{D}} E_{\boldsymbol{x} \sim p_{\text { data }}} \left[ \log \boldsymbol{D}(\boldsymbol{x}) \right]+ E_{\boldsymbol{z} \sim p_{\boldsymbol{z}}} \left[\log (1- \boldsymbol{D}( \boldsymbol{G}(\boldsymbol{z}))) \right]
$$

実際には観測されないcounterfactual outcomeの確率分布をGAN的な損失を最適化することで近似しようというのが[Yoon et al. (2018)]の基本的なアイデアになります.

GANITE

さてここからが本記事の主題になります. [Yoon et al. (2018)]における提案手法であるGenerative Adversarial Nets for inference of Individual Treatment Effects (GANITE)は, 大きく2つのパートから構成されます.

  1. 実際には観測されないcounterfactual outcomeを生成するパート
  2. もともと観測されるfactual outcomeと1. で生成されるcounterfactual outcomeを用いてITE予測器を学習するパート

以降この2つのパートをそれぞれ紹介し, そのあとで全体的なアルゴリズムを記述します.

Counterfactual outcomeの生成

このパートは, Counterfactual Generator \( \boldsymbol{G} \) とCounterfactual Discriminator \( \boldsymbol{D_G} \) 間の敵対的学習によって構成されます.

・Counterfactual generator \( \boldsymbol{G} \): 特徴量ベクトル, 介入, 観測される目的変数をそれぞれ\( \boldsymbol{X}, T, Y^{obs} \)とし, \( \boldsymbol{Z}_G \)を\( [-1, 1] \times [-1, 1] \)上に値をとる一様分布に従う確率変数とします. この時, これら4つの変数を入力とする関数を\( g: \mathcal{X} \times \mathcal{T} \times \mathcal{Y} \times [-1, 1]^2 \rightarrow \mathcal{Y} \times \mathcal{Y} \)とします. Counterfactual generator \( \boldsymbol{G} \)はこの関数\( g \)の出力によって定義される確率分布です.
$$
G \left( \boldsymbol{X}, T, Y^{obs} \right) = g \left( \boldsymbol{X}, T, Y^{obs}, \boldsymbol{Z}_G \right)
$$
Counterfactual generatorを得る上での目標は, 確率分布\( \boldsymbol{G} \)がpotential outcomesの周辺分布をよりよく近似するような関数\( g \)を学習することになります. もしそのような\( g \)を得ることができれば, \( \boldsymbol{G} \)によって得られるサンプルが実際には観測されないcounterfactual outcomeを含めた目的変数をよく代替してくれると考えることができそうです.

・Counterfactual discriminator \( \boldsymbol{D_G} \): Counterfactual generatorに従う確率変数を\( \tilde{\boldsymbol{Y}} = \left( \tilde{Y}^{(0)}, \tilde{Y}^{(1)} \right) \sim \boldsymbol{G} \)とします. また\( \tilde{\boldsymbol{Y}} \)のうち, 実際に実現した介入に対応する要素を\( Y^{obs} \)に入れ替えた確率変数を\( \bar{\boldsymbol{Y}} \)で表します (例えば, \( T = 1 \)ならば, \( \bar{\boldsymbol{Y}} = \left( \tilde{Y}^{(0)}, Y^{obs} \right) \)となります. ).

この時, Counterfactual discriminator \( \boldsymbol{D_G}: \mathcal{X} \times \mathcal{Y} \times \mathcal{Y} \rightarrow [0,1] \times [0, 1] \)は, \( \left( \boldsymbol{X}, \bar{\boldsymbol{Y}} \right) \)を入力とした時に, \( \bar{\boldsymbol{Y}} \)のどちらの要素がどれくらいの確率で実際に観測されたfactual outcome (\( Y^{obs} \))なのかを予測します. このCounterfactual discriminatorの予測精度が悪ければ悪いほど実際に観測されたoutcomeとの判別ができないようなcounterfactual outcomeをCounterfactual generatorが生成できていることを意味します.

最終的に\( \boldsymbol{G} \)と\( \boldsymbol{D_G} \)に関する敵対的な学習は次のように定式化されます.
$$
\min_{\boldsymbol{G}} \, \max_{\boldsymbol{D_G}} \; E_{( \boldsymbol{X}, T, Y^{obs} )} \left[ E_{\boldsymbol{Z}_G} \left[ \boldsymbol{T}’ \log \boldsymbol{D_G} \left( \boldsymbol{X}, \bar{\boldsymbol{Y}} \right) + ( \boldsymbol{1} – \boldsymbol{T} )’ \log \left( \boldsymbol{1} – \boldsymbol{D_G}\left( \boldsymbol{X}, \bar{\boldsymbol{Y}} \right) \right) \right] \right]
$$
ただし, \( \boldsymbol{T} \)は\( \boldsymbol{T} = (1 – T, T) \)で表されるベクトルです.

ここでの定式化に従ってCounterfactual generatorを得たら, それによって擬似的なITEを含むデータセット\( \tilde{D} = \{ \boldsymbol{x}_i, t_i, \tilde{y}_i \}_{i=1}^n \)を生成し, ITE予測器の学習に移ります.

ITE予測器の学習

ここでは, 前節のような方法で生成された擬似的なデータセット\( \tilde{D} = \{ \boldsymbol{x}_i, t_i, \tilde{y}_i \}_{i=1}^n \)を用いてITE予測器を生成する方法を紹介します. [Yoon et al. (2018)]はこのITE予測器の学習にもITE generatorとITE discriminatorによる敵対的学習を行う方法を採用しています.

・ITE generator \( \boldsymbol{I} \): 特徴量ベクトル\( \boldsymbol{X} \)と, \( [-1, 1] \times [-1, 1] \)上に値をとる一様分布に従う確率変数\( \boldsymbol{Z}_I \)を入力とする関数を\( h: \mathcal{X} \times [-1, 1]^2 \rightarrow \mathcal{Y} \times \mathcal{Y} \)とします. ITE generator \( \boldsymbol{I} \)はこの関数\( h \)の出力によって定義される確率分布です.
$$
I \left( \boldsymbol{X} \right) = g \left( \boldsymbol{X}, \boldsymbol{Z}_I \right)
$$
ITE generatorを得る上での目標は, 確率分布\( I \)がpotential outcomesの周辺分布をよりよく近似するような関数\( h \)を学習することです.

・ITE discriminator \( \boldsymbol{D_I} \): ここでは, Counterfactual discreminatorの学習とは異なり, (擬似的ではありますが)必要な変数が全て格納されている完全なデータセット\( \tilde{D} \)にアクセスできるので, conditional GANで用いられるようなdiscreminatorの損失を適用します. つまり, ITE discreminator \( \boldsymbol{D_I}: \mathcal{X} \times \mathcal{Y} \times \mathcal{Y} \rightarrow [0,1] \)は, \( \left( \boldsymbol{X}, \boldsymbol{Y}^* \right) \)を入力とした時に, \( \boldsymbol{Y}^* \)が\( \tilde{D} \)からのサンプルなのかはたまたITE generator \( \boldsymbol{I} \)からのサンプルなのかをよく判別できるように学習します.

結局のところ, ITE予測器を得る部分の最適化問題は次のように定式化されます.
$$
\min_{\boldsymbol{I}} \, \max_{\boldsymbol{D_I}} \; E_{\boldsymbol{X}} \left[ E_{\boldsymbol{Y}^* \sim \mu_{\boldsymbol{Y}} ( \boldsymbol{X} ) } \left[\log \boldsymbol{D_I} ( \boldsymbol{X}, \boldsymbol{Y}^* ) \right] + E_{\boldsymbol{Y}^* \sim \boldsymbol{I} ( \boldsymbol{X} ) } \left[\log ( 1 – \boldsymbol{D_I} ( \boldsymbol{X}, \boldsymbol{Y}^* )) \right] \right]
$$
ここで, \( \mu_{\boldsymbol{Y}} ( \boldsymbol{X} ) \)は特徴量ベクトル\( \boldsymbol{X} \)で条件付けた時の\( \boldsymbol{Y} \)の周辺分布です.

Algorithm

さてGANを用いてITE予測器を構築するための考え方をこれまでに述べてきましたが, 具体的には細かい正則化が入っていたりするので, ここではそれらについて説明します.

Counterfactual Block (\( \boldsymbol{G}, \boldsymbol{D_G} \))
Counterfactual generatorとdiscreminatorのmin-max最適化問題をある経験的なサンプルについて定義すると,
$$
V_{CF} \left( \boldsymbol{x}_i, \boldsymbol{t}_i, \bar{\boldsymbol{y}}_i \right)
= \boldsymbol{t}_i’ \log \left( \boldsymbol{D_G} \left(\boldsymbol{x}_i, \bar{\boldsymbol{y}}_i \right) \right) + (\boldsymbol{1} – \boldsymbol{t}_i )’ \log \left( \boldsymbol{1} – \boldsymbol{D_G} \left(\boldsymbol{x}_i, \bar{\boldsymbol{y}}_i \right) \right)
$$

また実際に観測されるfactual outcomeに対するL2損失も定義します. このL2損失を組み込むことにより, Counterfactual generatorが観測されているfactual outcomeに対して一定の構成精度を担保するようにしてあげます. (\( \mathcal{L} \)の下付き文字\( S \)は’supervised’の頭文字です.)
$$
\mathcal{L}^G_S \left( y_i^{obs}, \tilde{y}^{(t_i)}_i \right) = \left(y_i^{obs} – \tilde{y}^{(t_i)}_i \right)^2
$$

最終的にCounterfactual Blockでは次の損失を\( \boldsymbol{G} \)と\( \boldsymbol{D_G} \)で交互に最適化します.
$$
\min_{ \boldsymbol{D_G} } \; – \sum_{i=1}^{k_G} V_{CF} \left( \boldsymbol{x}_i, \boldsymbol{t}_i, \bar{\boldsymbol{y}}_i \right)
$$

$$
\min_{ \boldsymbol{G} }\; \sum_{i=1}^{k_G} \left[ V_{CF} \left( \boldsymbol{x}_i, \boldsymbol{t}_i, \bar{\boldsymbol{y}}_i \right) + \alpha \cdot \mathcal{L}^G_S \left( y_i^{obs}, \tilde{y}_i \right) \right]
$$
ここで, \( k_G \)はバッチサイズ, \( \alpha \)はhyperparameterです.

ITE Block (\( \boldsymbol{I}, \boldsymbol{D_I} \))
ITE generatorとdiscreminatorのmin-max最適化問題をある経験的なサンプルについて定義すると,
$$
V_{ITE} \left( \boldsymbol{x}_i, \bar{\boldsymbol{y}}_i, \hat{\boldsymbol{y}}_i \right) = \log \left( \boldsymbol{D_I} \left(\boldsymbol{x}_i, \bar{\boldsymbol{y}}_i \right) \right) + \log \left(1 – \boldsymbol{D_I} \left(\boldsymbol{x}_i, \hat{\boldsymbol{y}}_i \right) \right)
$$
またcounterfactual blockで生成される擬似的なデータセット\( \tilde{D} \)に含まれるITEに対する直接的なL2損失も定義します.
$$
\mathcal{L}_S^I \left( \bar{\boldsymbol{y}}_i, \hat{\boldsymbol{y}}_i \right) = \left( ( \bar{y}^{(1)} – \bar{y}^{(0)} ) – ( \hat{y}^{(1)} – \hat{y}^{(0)} ) \right)^2
$$

最終的にITE Blockでは次の損失を\( \boldsymbol{I} \)と\( \boldsymbol{D_I} \)で交互に最適化します.
$$
\min_{ \boldsymbol{D_I} } \; – \sum_{i=1}^{k_I} V_{ITE} \left( \boldsymbol{x}_i, \bar{\boldsymbol{y}}_i, \hat{\boldsymbol{y}}_i \right)
$$

$$
\min_{ \boldsymbol{I} }\; \sum_{i=1}^{k_I} \left[ V_{ITE} \left( \boldsymbol{x}_i, \bar{\boldsymbol{y}}_i, \hat{\boldsymbol{y}}_i\right) + \beta \cdot \mathcal{L}^I_S \left( \bar{\boldsymbol{y}}_i, \hat{\boldsymbol{y}}_i \right) \right]
$$
ここで, \( k_I \)はバッチサイズ, \( \beta \)はhyperparameterです.

論文では今まで説明してきたCounterfactual BlockとITE Blockの学習を擬似コードにまとめてくれています ([Yoon et al. (2018)]のAlgorithm 1).

実験結果

最後に論文で行われている実験結果を部分的に紹介します.

datasets & metrics

論文では, 以下の2つのsemi-syntheticデータと1つのreal-worldデータを用いて精度検証を行っています.

IHDP: このデータは, [Hill. (2011)]で提供されているInfant Health and Development Program (IHDP)で集められたデータが元になっています. この実データを元に人工的にpotential outcomes (\( Y^{(0)}, Y^{(1)} \))が生成されているため, これらをgrount truthとして用いることができます. データ数は747ととても小さく, 介入が割り当てられたのがその内139と介入群のデータが少ないのも特徴です. 各データについて25個の特徴量が格納されています.

Twins: Twinsデータは, [Almond et al. (2005)]によって提供された1989-1991の間にアメリカで生まれた子供に関するデータセットです. 本論文ではこのデータのうち出生時体重が2kg以下のTwins(双子)のペアのみを用います. 双子のうち, 出生時体重の軽かった方を統制群(\( t = 0 \)), 重かった方を介入群(\( t = 1 \))とします. 目的変数は生後1年での死亡率であり, 体重の重かった方の生死と軽かった方の生死の差がITEの実現値になるので, これをground truthとして用います. Twinsデータでは, 各データについて30個の特徴量を用いています.

Jobs: Jobsデータは, [Lalonde. (1986)]で用いられた因果推論ではとても有名な職業訓練に関するデータセットです. このデータセットには, RCTによって収集された722のサンプルと2490の観察データが納められています. 各データについて7個の特徴量が格納されています. 本論文では, 職業訓練がその後の失業有無に対して有する因果効果を予測することを目標にしています. このJobsデータは他の2つのデータとは異なり完全なreal-worldデータなので, testデータにおいてもpotential outcomesが未知です. 論文では, RCTで集められたデータのみを用いて次のように計算されるPolicy riskと呼ばれる評価指標により手法の性能を評価しています.

$$
R_{\text{pol}} = 1 – \frac{1}{N} \sum_{i=1}^N \sum_{t’=0}^k \left[ \frac{1}{| \pi_i \cap T_i \cap E |} \sum_{ \boldsymbol{x} \in \pi_{t’} \cap T_{t’} \cap E } y_i^{(t’)} \times \frac{ |\pi_{t’} \cap E| }{|E|} \right]
$$
ここで, \( \pi_{t’} = \{ \boldsymbol{x} : t’ = \arg \max \hat{\boldsymbol{y}} \} \), \( T_{t’} = \{ \boldsymbol{x} : t’ = t\} \), \( E \)はRCTによって収集されたデータの集合です. 若干計算式がややこしいですが, つまりはITE予測値に基づいて決定された介入方策によって導かれるだろう目的変数の期待値の良さを測っています.

results

前節で述べた3つのデータセットにGANITEとその他の比較手法を適用した時の結果は次の通りだったそうです. ([Yoon et al. (2018)]のTable2) ここで\( \epsilon_{PEHE} \)はITEのground truthに対するMSEだと思ってください.

これを見ると, GANITEはその他の手法と比較してIHDPデータセットではあまり良い性能を示しているとは言えませんが, その他の2つのデータセットではもっとも良い性能を示していることがわかります. 筆者らは, IHDPは全てのデータ数が747であるのに対し他の2つのデータセットは数千~数万程度のデータ数があること, GANITEが多くのhyperparameterを含み学習が難しいこと等から, データ数が多い時に提案のGANITEが有効であると主張していました.

さいごに

本記事では, GANのような敵対的学習を用いて訓練データにおいてさえも観測されないIndividual Treatment Effectを予測する手法について紹介しました. 同様の考え方は欠損データ解析などの文脈でも提案されているようなので, これからも動向を注視していきたいと思っています.

References

[Yoon et al. (2018)]: Jinsung Yoon, James Jordon, and Mihaela van der Schaar. GANITE: Estimation of Individualized Treatment Effects using Generative Adversarial Nets. In International Conference on Learning Representations, 2018.
[Hill (2011)]: Bayesian nonparametric modeling for causal inference. Journal of Computational and Graphical Statistics, 20(1):217–240, 2011.
[Almond et al. (2005)]: Douglas Almond, Kenneth Y Chay, and David S Lee. The costs of low birth weight. The Quarterly Journal of Economics, 120(3):1031–1083, 2005.
[Lalonde (1986)]: Robert J LaLonde. Evaluating the econometric evaluations of training programs with experimental data. The American economic review, pp. 604–620, 1986.

  • アイキャッチ画像は, [Yoon et al. (2018)]のFigure 1を引用しました.
]]>
AAAI 2019参加報告:主にバンディットと因果推論について https://cyberagent.ai/blog/no_use/participant_report/10258/ Tue, 26 Feb 2019 11:29:32 +0000 https://cyberagent.ai/research/?p=1698 こんにちは、経済学チームの安井(@housecat442)です。

先日開催されたAAAI 2019に参加・発表してきましたので、気になった研究や発表した論文の内容について簡単に記事を書かせていただきます。

そもそも今回はじめてAAAIへ参加させていただいたのですが、経済学徒にもおなじみのゲーム理論の存在感に非常に驚かされました。内容に関しても非常に面白く、因果推論や計量経済学だけでなくゲーム理論においてもComputer ScienceとEconomicsの交差点があったのかと深く感心させられました。これに関しては一緒に参加した後輩の金子くんが別途ブログ記事を投稿する予定なので、しばしお待ちいただいてそちらを参照していただければと思います。

実はAAAIは因果関係を考える様な学習モデルが以前から発表されてきました。中でも操作変数法をオンライン学習の設定に持ち込んだ研究は非常に面白く、自分のブログでその驚きを報告したほどでした。[1]
この論文を発見した時からぜひ一度AAAIへ参加してみたいと思っていたので、今回AAAIに参加する事ができ非常に嬉しかったです。

(ちなみに今年の会場はハワイでした。)

気になった発表三つ

“Balanced Linear Contextual Bandits”(Link)

こちらはContextual Banditにおける報酬予測モデルで、Importance Weightを用いる事を提案した内容の研究です。NeuralIPS 2017のWhat If What Next Workshopで発表された”Estimation Consideration in Contextual Bandits”(Link)のカンファレンス版となっています。
共著者の一人であるSusan Atheyはテック企業での研究活動を行う経済学者の代表的な存在であり、”機械学習を用いた因果推論”や”因果推論を用いた機械学習”や”因果推論を用いた機械学習の評価”といったテーマでKDD,NeuralIPSといった様々なトップカンファレンスで論文を量産しています。まさに予測と因果の交わる部分の最先端をいく研究者だと思います。そんなSusan Atheyが関わっている研究だったのもあり、個人的には非常に注目していた研究です。

Contextual Banditは自己の決定に基づいて学習データが作られていきます。よって、学習データは予測したいデータの分布そのものではなく、そこでさらに自己の意思決定によるバイアスが発生する事になります。この様な状況に対応するために傾向スコアを用いて学習データを予測したいデータに近づけてあげて、その状態で報酬予測モデルを学習するといったことを行います。

理論パートではUCB/Thompson Samplingのそれぞれに対してこの提案手法を用いた場合についてのRegret Boundが示されており、Linear Thompson Samplingと結果がそう変わらないことを示しています。実験パートにおいては二つの実験結果が示されています。1つはシミュレーション環境における性能評価で、もう一つは300個ほどあるマルチラベルのデータセットにおける性能評価です。

(論文内での性能評価結果のグラフ)

このグラフは点一つ一つがデータセットでの結果となっており、縦軸が行に表示されている手法の報酬性能で、横軸が列に表示されている手法の報酬性能となります。点が青くなっている場合には列側の手法の報酬性能が高く、赤くなっている場合には行側の報酬性能が高いということを示しています。
ここでメインとなる様な提案手法はBLTSであるため、上から2番目の行の結果に着目します。比較対象であるLinTS, LinUCBに対してはほとんどの点が青くなっており、傾向スコアを用いたBLTSの報酬性能が平均的に
高い事がわかります。この結果バンディット自体がもたらすバイアスを取り除く機構を入れることで性能が改善する事が示されました。

バンディットの報酬予測モデルにおける学習データと予測データの分布の違いを考えるというテーマでは傾向スコア以外にも利用できる方法は多く存在するはずなので、今後もいくらか進歩がありそうだと思える研究でした。また実務的にも報酬性能が向上する事が期待できる上にモデルの学習部分のみを変更すれば良いというのは導入が楽なので取り組みやすいという印象を受けました。

“Dynamic Learning of Sequential Choice Bandit Problem under Marketing Fatigue”(Link)

こちらはユーザーが広告に対して思う不快感を考慮に入れた様なバンディットの提案を行なっている研究です。とあるプラットフォームにユーザーが何回か訪れる時に、そのプラットフォームがどの様な広告の出し方をするべきかを考えます。とりあえず広告を出し続ける場合、広告を表示する回数が増えるのでユーザーがクリックする確率はいくらか上昇し、クリックした事によって広告主から費用をもらえる場合には売り上げの期待値が増加する事になります。一方でユーザーが広告に嫌気がさしてプラットフォームの利用自体を停止してしまうという行動を考えると、広告を出し続けるとユーザーがあるタイミングで離脱してしまい、未来における収益をえるチャンスを失ってしまいます。

こちらの論文ではこの様な状況の時にオフラインでの広告表示最適化問題を考え、それをonlineの設定で解くという流れでバンディットを導入しています。この時広告収益から離脱によるコストを差し引いた効用が最大化される様に考えます。この効用のUCBは、広告を表示する場合の収益と離脱した際のコストが決まっていれば、広告をクリックする確率と離脱する確率のUCBが定義できれば得る事ができます。この様にして効用のUCBを定義し、広告表示を行なっていきます。

この研究で提案されている内容はプラットフォームからの離脱をコストとして想定していたり、そのコストが一定であることを想定していたりと、RTBの世界では扱わない様な設定があります。この辺りをうまく変更することでRTBで広告の不快感を考えた様な広告選択を考えることは可能な様に思えました。

“A Distillation Approach to Data Efficient Individual Treatment Effect Estimation”(Link)

ABテストで計測される様な因果効果がサンプルの特徴によって異なる事が想定される場合に、非実験データにおいてその条件毎に異なる効果(ITE)をどの様に推定・予測するか?という研究があります。最近であれば先ほど話に出たSusan Atheyが提案したGeneralized Random Forest(GRF)と呼ばれる手法がよくこのITEの推定に用いられる様になってきました。[2]

この研究では、ITEを推定・予測するモデルを実際にプロダクトに導入する際に、オフラインで使えるデータがオンラインで使えるデータよりもリッチであるという実務では比較的よく見る状況におけるITEの予測方法を提案しています。観測データにおけるGRFの役割はデータのもつバイアスを取り除き、その上でITEを推定する事にあります。この時バイアスを取り除くためにはGRFに投入するデータの中にバイアスを生み出す様な変数が含まれている必要があります。しかし、バイアスを取り除くための変数は必ずしもITEの学習には必要でないというケースがあります。

よって、提案手法ではまずオフラインのリッチなデータを使ってGRFの学習を行い、バイアスを軽減してITEの推定値を出力します。そして次にオンラインで利用可能な限定されたデータでITEをラベルにして教師あり学習を行います。これによりITEの”予測”をプロダクトで利用可能な現実的なデータのみで行える様になります。

ITEの予測は広告効果を考えるという観点で多くのアドテク企業において非常に興味のあるトピックになっています。しかし実際にはITEの予測モデルは学習方法などに多くの問題があり、実務的な使いやすさにおいては大きな問題がまだまだ残っています。この研究はそんな問題の一つであるリッチなユーザーデータが必要という状況をいくらか緩和してくれる様な方法を提案してくれています。

さて、やはり自分が最近興味のあるバンディットアルゴリズムと因果推論に内容が偏ってしまいましたが、気になった発表の紹介としては以上となります。もしこの辺りの研究に興味のある方がいらっしゃればtwitterのアカウントまでコメントを飛ばしていただければと思います。

発表内容について

Efficient Counterfactual Learning from Bandit Feedback(Link)

今回のAAAIは聴講だけでなく、共同研究の一環として執筆した論文を発表してきました。
この研究はバンディットアルゴリズムのオフライン評価に関する研究で、統計的により効率的な評価を試みるものとなっています。このオフライン評価の基礎的な内容については以前に投稿した記事や、社内カンファレンスで発表した資料などがあります。

上記の資料で紹介されている様に、これらのオフライン評価では基本的に傾向スコアを利用したInverse Probabilty Weightingが行われます。Off-Policy Evaluationの特殊系とも言える因果推論では、IPWを利用した際にはSeive EstimatorやSeries Logistic Regressionなどを用いる事で統計的に効率的、つまり推定される分散の値が最小になる様な推定量が得られることが知られています。[3]

今回は因果推論の様に一つの選択肢だけを選び続けるPolicyの評価ではなく、特徴量の値によって選択肢を変える様なPolicyの評価を行うOff-Policy Evaluationにおいてどの様にして統計的に効率的な評価が行えるのかを考え、機械学習を含む様なnonparametricなモデルによって傾向スコアを推定することで、効率的なが可能であることを証明しました。この結果として推定される評価値の分散は縮小し、より信頼度の高い評価と意思決定をオフライン評価で行えることが可能になりました。

ポスターセッションではバンディットに関心のある方や機械学習の側面から因果関係に興味を持つ様な研究者の方に来訪頂き、様々なディスカッションを行うことが出来ました。

(ポスターセッション終了後にぱちり)

最終日のCausal LearningのセッションではOralの発表も行われ、共著者の矢田さんによるプレゼンテーションが行わ、発表後には先ほど紹介した”Balanced Linear Contextual Bandits”の著者や因果推論に興味関心のある研究者が自然と集まり、30分ほど様々な議論が行われました。

(Oralでの発表)

人工知能系のコミュニティにおいては因果推論を考える様な研究者はまだまだ少数派ですが、皆それぞれがそこに価値があると考え様々なアイデアで挑戦していることが知れて非常によかったです。またアドテクスタジオ内で行われているバンディットアルゴリズムと因果推論に関する議論の内容が決してAAAIで発表を行う様な研究者たちに遅れをとっているわけでもなさそうだという事がわかったのも、自分としては大きな自信につながりました。

(発表後の議論の様子)

引用

[1]Venkatraman et al., Online instrumental variable regression with applications to online linear system identification, Thirtieth AAAI Conference on Artificial Intelligence. 2016.
[2]Athey et al., Generalized random forests, Annals of Statistics, January 2019
[3]Hirano et al., EFFICIENT ESTIMATION OF AVERAGE TREATMENT EFFECTS
USING THE ESTIMATED PROPENSITY SCORE , Econometrica, July 2003

]]>
東京大学駒場祭学術企画『経済学研究の最前線』でお話したこと ~アドテク,経済学 , 機械学習,因果推論~ https://cyberagent.ai/blog/research/causal_inference/10254/ Fri, 28 Dec 2018 08:12:56 +0000 https://cyberagent.ai/research/?p=1341 こんにちは! 新規事業開発室の2018年度新卒の金子です.

11月24日(土)〜11月25日(日)に第69回駒場祭の学術企画 『経済学研究の最前線』でサイバーエージェントとして出張講義をさせていただきました.

 『経済学研究の最前線』という企画はUTEAという学生団体様の学術企画で, 高校生~学部1,2年生向けに院生が中心となって研究の紹介をするという企画だったのですが, 社会人代表としてサイバーエージェントにおける経済学活用例を紹介させていただきました.

発表資料は以下になります.

内容

近年GoogleやFacebookなどの海外のTech企業で経済学系の専門職の採用が盛んになっているという導入から始まり, 因果と相関の違い(因果推論の話), 現在のネット広告の仕組みについて話してから, Off-Policy EvaluationとAAAI 2019に採択された産学連携研究について軽く触れるという流れになっています.

特に後半のPolicy Evaluationの話は, 以前のリサーチブログの下記の記事が参考になると思います.

バンディットアルゴリズムの評価と因果推論

採択された論文についてのアナウンスは以下のpostです.

他の発表者の方が因果推論の話を別の切り口から発表をしてくださるなど非常にやりやすかったのですが, 25分の発表時間にまとめきるのは中々に大変でした… 発表後に質問に来てくださる方がいてくださって大変ありがたかったです.

頂いた質問

Q : スライド内のAIの性能差ってどこから来るんですか?
A : 例えばですが,使用する変数や機械学習の手法などによって変わってきます

Q : Off-Policy Evaluationの部分のどこで因果推論を使ってるのかわかりづらかったのでもう少し詳しく教えてほしいです
A : ものすごくざっくり言うと, 傾向スコアという「数々の変数(スライド内の例だと例えばosや時刻など)を条件つけた時に, 処置が割り当てられる確率」を用いて, ランダムに割り当てられていない状態で得られている旧/新システムの結果の差を上手く補正するということをやっています

Q : なんで経済学系の人を積極的に雇ってるtech系企業が日本だとサイバーだけなんですか?
A : 正直よくわかってないです, これから状況は変わっていくかもしれません…

資料を読んでくださった高校生 ~ 学部1,2年生への勝手な願望

高校生 ~ 学部1,2年生向けという内容で発表させていただいて,スライドの最後の方に「こんな感じのことが伝わればいいな」というのをまとめていたのですが, 特に「より大きな因果効果が得られる選択肢はなにか?」の部分についてもうちょっと補足したいと思います.
今回のスライドで触れた機械学習 + 経済学(因果推論)で「正しくAIの効果を推定する」という話は, 多分今後数年でネタが彫り尽くされてしまうと思います. とはいえ因果推論が賞味期限切れになるかと言われればおそらくそんなことはなく, 「次に何が研究されるだろうか?」ということを考えると因果効果が最も高い選択肢を反実仮想的に選ぶという話になるんじゃないかと思います. 最も効果の高い広告画像を各個人ごとに選べれば, あるいは作っていければ… みたいなことができればかなり夢のある話なんじゃないでしょうか? (映画『マイノリティ・リポート』では屋外における個人へのターゲティング広告の描写などがありました. あれはディストピアを描いたものでしたが…)
若干話がそれましたが, 機械学習 + 経済学という文脈で今回紹介したような研究がされているということ, そしてそういった形の研究を自分もしてみたいと資料を読んで思って頂けると幸いだなと思っています.

おわりに

今回の企画を行ってくださったUTEAの運営の学生の方々には貴重な機会を頂いて感謝しています. また, 高校生~学部1,2年生だけでなく, 上のスライドを通じて経済学を学んでいる学生がサイバーエージェントで経済学使ってこんな面白いことをやってるんだな, と伝われば嬉しいです!

]]>
論文紹介:The Selective Labels Problem: Evaluating Algorithmic Predictions in the Presence of Unobservables https://cyberagent.ai/blog/research/causal_inference/835/ Mon, 29 Oct 2018 01:28:30 +0000 https://cyberagent.ai/research/?p=835
今回はちょっと変わった機械学習の評価方法を提案している論文の紹介です。
The Selective Labels Problem: Evaluating Algorithmic Predictions in the Presence of Unobservablesという論文で、2017年のKDDにて発表された物です。

人間の意思決定の結果を元のデータとして機械学習でより良い意思決定を行いたい場合に直面する問題を定義し、その中でより適正な評価方法を提案しているといった内容です。
AILabで行なっている論文読み会で発表した際の資料も参照してもらえればと。

意思決定ログの問題点

保釈の意思決定

この論文の中では裁判における保釈の意思決定をメインに取り扱っています。
判事は自分の担当する被告に対して保釈を許可するか否かを意思決定します(t = 1 or 0)。被告は保釈されると実社会に戻り、普通の生活をするか再び犯罪に手を染めるかを決定します(Y = 1 or 0)。保釈されなかった場合には収容所に収監されます(Y = NA)。
保釈を認めて期間中に再犯を起こされてしまうと社会的なコストが発生してしまうために、保釈した人が再犯するという状態はなるべく避けたいと判事は考えます。しかし誰彼構わず保釈を拒否するわけにも行きません。なぜなら収容所の運営コストは保釈されない被告の数が増えると増加してしまうからです。

この事から、判事はなるべく再犯しそうな被告のみに対し保釈を拒否し、再犯しなさそうな場合には積極的に保釈を認めたいというインセンティブがある事になります。そして判事はそれぞれ自分が担当する被告について保釈した場合の再犯を起こす確率を予測し、それに基づいて意思決定を行います。このように意思決定のルールが整っている場合、予測問題を機械学習に入れ替えて保釈の意思決定を行う事は応用上良くある発想であるように思えます。

よくある二つの問題点

しかし、人間の意思決定データを入れ替えるような機械学習の応用は中々上手くいかないという事は多くの実務家の認識として存在するのではないでしょうか?

この論文ではその理由として2つの問題点に着目しています。

  1. Unobserved
    これは人には利用できるが機械学習のモデルをつくるときには利用出来ない特徴量が存在しているという問題です。例えば判事は被告の法廷審問に参加する被告の家族の存在や被告自身の法廷審問時における態度などを観測してそれを元に再犯の確率を予測する事ができます。(家族が参加すると再犯しにくかったりする)しかし、これらの記録は公式には残らないので学習データには含まれません。

  2. Selective Labels
    これは再犯するか否かというラベルが、判事が保釈を許可した場合に限って観測されるという問題です。判事は再犯しにくいと予測した被告を保釈するので、ラベルのついた学習データとしては再犯しにくい被告のデータばかりが集まるという事になります。

これらの問題はどちらか一方が存在する場合にはそれぞれ対処の方法が知られています。
Unobservedに関しては機械学習においては無視して学習をそのまま行なえば問題ありません。特徴量が不足する事により幾らか精度が下がってしまいますが、観測できなかった特徴量と相関の強い特徴量が学習データに含まれて入れば欠損した特徴の効果も幾らか含んで学習してくれます。
Selective Labeslの問題では因果推論のアイデアを応用する事で幾らか問題が解決できる事が知られています。例えば保釈されるか否かを分類問題で解き、その結果得られる予測確率でサンプルの重みをつけて再犯確率の予測を行うといった方法が考えられます。

組み合わせによる問題

しかし、これらの問題が同時に存在する場合には新たな問題が浮上します。
法廷審問に家族が参加するという特徴は、保釈後に被告が家族からの監視を受けて再犯しにくくなるという傾向があるために再犯率が下がる事が判事には知られています。そして被告の年齢が若い場合には家族が参加する確率が非常に高いという事も知られています。

この場合、多くの判事はこの特徴を踏まえて若くて家族が法廷審問に参加する被告を多く保釈します。一方で若いが家族が法廷審問に参加しなかった被告は中々保釈されません。このようなプロセスから学習データが生まれている場合、学習データでラベルが観測される若い被告の大半は家族が法廷審問に参加したものになり、ラベルが観測されない若い被告の大半は家族が法廷審問に参加しなかった者になります。

問題なのは機械学習のモデルにとっては家族の参加は観測できない特徴になっているという事です。これによりこの学習データで機械学習のモデルは若い被告は再犯率が低いといった相関関係を学習します。しかし実際にモデルをデプロイした際には家族が参加した場合もしなかった場合に対しても予測を行わなければならないため、被告が若い場合には誤差が大きくなってしまいます。

つまり、学習データでは「若い=再犯率が低い」と学習する事が精度を改善する一方で、予測したいデータでは精度の改善には繋がらないという結果になってしまいます。この傾向が存在する場合、いくらCross-Validation等を利用して学習データの中で比較して精度が優っていたとしても実際の予測では性能が劣化して比較対象よりも精度が劣っているかもしれないという事がわかります。

提案されている評価方法

前提条件の確認

さて、この論文ではこのような状況の時に三つの条件を満たせればより良い評価ができるという事を説明しています。
* 複数の意思決定者(判事)から学習データが発生している事
* それぞれの意思決定者(判事)は案件(裁判)に対してランダムに選択されている事
* 意思決定者は結果を予測しながら意思決定を行い、意思決定の境界線がそれぞれ異なる事(同じ50%の再犯率を予測した時に保釈を許可する判事もいれば許可しない判事もいる状態)

保釈の意思決定の例ではこのような条件を満たしています。しかし、社会の仕組みの中でこのような条件を満たすものはなかなか存在しない気がします。

ARとFRによる評価

評価自体も一般的に分類問題で用いられるAUCやloglossではなく、Failure Rate(FR)とAcceptance Rate(AR)というものを用います。ARとは保釈する割合の事をさします。例えばある判事が1000人の被告のうち700人の被告に対して保釈を認める場合にはARは70%となります。FRは被告の数に対して再犯が発生した割合の事をさします。例えばある判事が1000人のうち700人の被告に対して保釈を認め、そのうち100人が再犯を行なった場合FRは10%となります。

ARとFRを利用した評価はARを固定した状態で、FRを比較するという形で行われます。ARは保釈の数を示すので、収容所の社会的コストを表します。よって、ARを固定して保釈しないコストを同一にした状態で、FRをみる事でどれだけの再犯を許してしまったのかを比較する事が出来るわけです。

いくつかのARの値でFRをみる事で、AR-FR間の曲線を描く事が出来ます。モデル間や人の予測値でこのカーブを描き、比較する事でモデルの比較が可能になるというのがこの論文における基本的な評価方法です。この記事の中ではAR-FR間の曲線の事をAR-FRカーブと呼びます。

このカーブはイメージとしては以下のようなものになります。例えば黒のカーブが人の意思決定のカーブで、黒のカーブが機械学習モデルによるものであれば、同じARを見た時には機械学習モデルの方がFRが低いという事になり、機械学習を利用した意思決定がより良いという事がわかります。

AR-FRカーブの描き方(Contraction Technique)

人の意思決定についてこのAR-FRカーブを描く事は非常に簡単です。想定している条件から、それぞれの判事が別々のARを持っているので、ARをそれぞれの判事のデータで集計してビン化してその中でFRを算出するだけでカーブを描く事ができます。

一方で機械学習のモデルでこのカーブを描く事は少し工夫が必要となります。この論文では別のデータで学習済みのモデル(B)がすでに手元にあるという状況を想定しています。

例えばAR = 60%の時のFRを算出したいとします。
1. まずは一番ARが高い意思決定者qのデータを持って来ます(\(AR_q\) = 90%)。サンプル数はNとします。
2. このデータに対してモデルBで再犯確率の予測値を算出します。
3. 実際にデータ上で保釈されていない被告のデータを捨てます。
4. さらに評価したいAR = 60%と同じになるまで予測された再犯確率の高いデータから捨てます。
5. 最後に残ったデータの中で再犯の数をカウントしてNで割ってFRを求めます。
これがあるAR = 60%を指定された時の機械学習のFRということになります。
これを各ARの値で算出する事でAR-FRのカーブを描く事ができます。
この方法をContraction Techniqueと命名しています。

少し怪しい部分

一番高いARを持つ意思決定者qのデータに対して予測値を出し、そのデータを絞るだけで何故FRの評価が出来てしまうのでしょうか?これはシンプルに意思決定者が各案件にランダムに選択されている為にデータの性質が同じである事が期待できるという点に基づいています。

このことから察しの良い方は「評価したいARをもつ意思決定者のデータと、ARが一番高い意思決定者のデータの質が実際には異なる場合には評価の質が下がるのでは?」という点が想定できると思います。これは例えばサンプル数が少ない場合などに想定されます。また、最初にARが高い意思決定者の決定をそのまま受け入れてデータを捨てる部分に関しては、モデルの純粋な評価では無くなってしまっているという点ではいささか不自然さを感じる部分かもしれません。

これらの点に関しては機械学習の予測値が実際の意思決定と食い違う場合にはFRの推定値の質が低下することが実験で示されています。(後述)

シミュレーションによる実験

実験の設計

では論文の中の実験内容について解説していきます。まずはシミュレーションデータでの実験です。
生成するデータは以下のような設定となっています。
裁判官の数:M = 100
裁判官一人当たりの裁判の数:500
裁判の数:N = 50,000
特徴量:X
裁判官のみに使える特徴量:Z
機械学習も裁判官も使えない特徴量:W
X,Z,Wはそれぞれ 平均0 分散1の正規分布から生成
裁判官毎のAR:r
rは[0.1 – 0.9]の間で一様分布から生成してラウンドを取る

Y(再犯するか否か)の確率を計算する
$$P(Y = 0|X,Z,W) = \frac{1}{1 + \exp{-(\beta_X X + \beta_Z Z + \beta_W W)}}$$
確率が0.5以上であれば再犯したという設定にし、それ以外は再犯しないとする。
$$P(Y = 0|X,Z,W) > 0.5 \ then \ Y = 1\ else\ Y=0$$
このとき\(\beta_X = \beta_Z = 1\)で\(\beta_W = 0.2\)とする。

T(保釈するか否か)の作成は以下の様に行う
$$P(T = 0|X,Z,W) = \frac{1}{1 + \exp{-(\beta_X X + \beta_Z Z)}} + \epsilon$$
\(\epsilon\)は意思決定のノイズを表し、平均0分散0.1の正規分布から生成される。
各裁判官はそれぞれの持つr以下の\(P(T = 0|X,Z,W)\)を得た場合には保釈を拒否し(T = 0)、それ以外の場合には保釈を許可する(T = 1)。

この結果特徴X,Z,Wを持った裁判50000件に対して、ランダムに振られた裁判官・保釈されたか否か(T)・保釈すると再犯するか否か(Y)が全て観測されたデータが手に入ります。

モデルの学習

作成したデータセットをランダムに半分に分割し、片方を学習データとします。
学習データでは実際の状況を想定して保釈されたデータのみを残した状態で再犯の予測問題を学習します。実験の中ではロジスティック回帰が用いられています。

MLと人間のAR-FRカーブを描く

テストデータにおいて各裁判官毎にデータ上のARを算出して小数点1桁以下を切り、その値でグループ化してFRを集計します。これはARが似ている裁判官のデータを集めてあたかも一人の裁判からそれらのデータが生まれたかの様に扱う事と同じ操作です。これにより、人のAR-FRカーブを描くことができます。機械学習のカーブはこのグループ化されたデータに対して前述のプロセスを実行します。

結果人の意思決定と機械学習による意思決定のAR-FRカーブを描く事が出来ました。以下は実験の結果として得られたカーブとなっています。Human Evaluationが人間の意思決定で、Contractionが提案手法による機械学習の評価となっています。

比較対象のカーブを描く

この論文では比較対象としてTrue Evaluation, Labeled Outcome, Propensity Scoreの三つが存在します。
True EvaluationはモデルBによる予測値をテストデータの全てのサンプルに対して算出し、ARに応じて保釈の意思決定を上書きし、FRを計算するというものです。事前に振られている裁判官の保釈の意思決定を無視して機械学習による意思決定の評価をしているので、本番にこのモデルを投入した時にどんな評価を得られるかを示す値になっています。よって基本的にはこの評価とより近い評価を得られる方法が望ましいという事になります。
しかしこれは保釈されなかった被告に関しては本来再犯するかは観測できないため、シミュレーション実験上でのみ比較できる対象となります。

Labeled Outcomeはテストデータの裁判官によって保釈されている全てのデータに対してモデルBによる予測値を算出し、ARのグループ毎に下からAR%のサンプルで再犯が観測できたとしてFRを算出するといった方法です。元々1000人の被告に対して700人保釈するAR=70%のデータがある場合、その700人に対して再犯確率の予測値を算出して確率の低い490人を保釈したとしてその中で再犯数を集計します。結果70人が再犯していたとすると、70/700 = 10%がMLのFRという事になります。
これはもっともナイーブな評価方法ですが、実務的にはよく選択される方法な気がしています。

Propensity Scoreは保釈される確率をロジスティック回帰などで学習し、FRの算出の際に予測値の逆数をサンプルの重みとして使うといった事を行います。これは因果推論のアイデアを応用した場合の評価方法ですが、今回はunobservedの問題が存在するために上手く機能しない事が想定されています。

実験結果

AR-FRカーブの比較

以下が論文内で示されたシミュレーションデータにおける実験の結果です。
横軸がARで、縦軸がFRとなっています。

Human Evaluationは評価としての比較対象ではない事に注意してください。

実験の結果としてはTrue Evaluationに対してContractionがLabeled Outcome, Propensity Scoreよりも非常に近いという状態になっており、シミュレーション上はこの評価方法がベターである事を示しています。

また、比較している評価方法の場合、カーブがHuman Evaluationよりも下回るために人間の意思決定より機械学習を利用した意思決定の方が質が高いという結果をオフラインの検証で示す事になりますが、Contractionで評価を行なった場合にはその逆の結論を得る事になります。True EvaluationはHuman Evaluationよりも上側のカーブとなっているため、本番適応した際の機械学習の評価は人間の評価よりも低いという事になるため、Contractionによる評価がより適正であると言えるでしょう。

意思決定者しか使えない特徴の影響

家族の法廷審問への参加などの、意思決定者にのみ利用できる特徴量の影響がより大きくなった時に、それぞれの評価はどのように変化するのでしょうか?これを示しているのがこちらのグラフになります。

元々の値が1なので、右に行く毎に2倍、3倍となっていきます。縦軸はTrue Evaluationとの誤差をMAEで算出したものになっているので、下にあるほど誤差が少ない事を示しています。
比較対象は意思決定しゃにのみ利用できる特徴量の影響が大きくなる毎に誤差も大きくなっているのがわかります。先のグラフで比較対象が楽観的な方向性に誤差を持つ事がわかっているので、これはおそらく機械学習の意思決定が人間に圧倒的に勝るだろうという方向に誤差が大きくなっていると考えられます。一方でContractionは誤差が微増するものの、この変化に対しては頑健な性質を見せています。

ARが最も高い意思決定者(q)のデータの質による影響

ARが最も高い意思決定者のデータの質が悪い場合には推定結果の質も悪くなりそうだという話に対する実験結果が論文内では示されています。

左の図は\(AR_q\)が横軸にとってあり、縦軸にContractionのTrue Evaluationに対する誤差をとったものになっています。これは\(AR_q\)が低くなっていった場合にContractionの誤差がどう変化するかを見るものとなっています。ここでは\(AR_q\)が下がると誤差が大きく上昇することが観測されています。

中央の図はARが最も高い意思決定者のデータで保釈されないような被告が機械学習のモデルで実際に保釈されないような意思決定になるか?という一致率(Agreement Rate)を横軸にとったものです。例えば裁判官qが1000人内100人に保釈を認めないとします。この時1000人に対して機械学習で再犯確率の予測値を算出し、その上位100人を見たときに、裁判官が保釈しなかった100人と一致した人数が30人の場合には一致率が30%という事になります。
この一致率も低下するとやはり評価の誤差が大きくなることが観測されています。

右の図は裁判官qのデータのサイズが誤差に与える影響を表しています。これはデータのサイズが大きくなるほど誤差が減少する事が観測されています。

この様に、AR-FRカーブによる評価の質は最もARが高い意思決定者の性質によって大きく左右されるということが示されています。

実データでの実験

この論文では三つの実データで評価を行なっています。

一つは今までと同様保釈の意思決定についてです。

もう一つは医師による処置の意思決定についてです。これは咳などの症状を訴える患者に対して、医師が服用期間が短くて効果の弱い処置を与えるか服用期間が長くて効果の強い処置を与えるかという選択を扱ったものです。15日以内に症状の再発が起きるか否かが予測したいラベルとなります。

三つ目は法人向けの保険の販売で、保険商品を作れるマネージャーが商品作成の依頼をもらった時にその商品を作るか否かという意思決定を扱います。商品を作った結果黒字になったか否かが予測したいラベルとなります。

この記事では細かく取り扱いませんが、意思決定者毎に与えられている案件の質が違うという可能性は統計的な検定で検証されています。それぞれの実験結果は以下のようになっています。


これらの実験の結果全てのケースにおいてContractionとLabeled Outcomeの結論が食い違う事がわかっています。つまり、手に入ったデータセットの背景を考慮せずにモデルの評価をナイーブに行うことは機械学習の評価を過剰に高める事になり、本番において大きなしっぺ返しをもらう事を示唆しています。

まとめと感想

内容としては「人の意思決定ログから機械学習を利用してよりベターな意思決定ルールを作る」という話に置いて重要になるオフライン評価法方法を提案したものでした。

意思決定者が案件に対してランダムにアサインされるなど、ビジネス上のケースでは中々達成されそうにない状況を仮定していたりするのですが、非常に面白い評価方法であるとともに根底で捉えている問題に関しては非常に本質的な問題を捉えているように思えました。

]]>
バンディットアルゴリズムの評価と因果推論 https://cyberagent.ai/blog/research/causal_inference/199/ Fri, 13 Jul 2018 07:56:41 +0000 https://cyberagent.ai/research/?p=199 この1-2年でアドテクスタジオでもMulti-Arm-BanditやContextual-Banditといった単語がプロダクトとのMTGの中で飛び交うようになり、社内における応用例も徐々に増えてきました。

Banditそれ自体も非常に面白いのですが、個人的には「それをどの様に評価・比較するのか?」という問題が非常に面白いと考えています。

その大きな理由の一つは評価に因果推論の発想を用いる必要性が生じている事にあります。

今回は、Contextual-Banditの様なPolicyの評価方法について簡単なイントロを行えればと思います。

1. セットアップ

広告の画像をContextual-Banditで選択している様な状況を考えます。

すでに何らかの広告を見せる事が決まっているリクエスト(i)が来るたびに、そのリクエストを発生させたユーザーのcontext(X)が手に入り、それを元に報酬(r)であるクリックの予測を行い、Thompson Samplingを用いて候補セット(A)の中から表示する広告(a)を選択します。

結果ユーザーによるフィードバックが観測され、クリックしたか否かがわかります。
$$r_i \sim D_r(.|X_i, a_i)$$
この予測と選択の一連の流れを行う部分をPolicy(\(\pi\))と呼びます。
$$a_i = \pi(X_i)$$
教科書的にはtのフィードバックを利用してt+1で使われるPolicyを更新するという内容がよく出て来るのですが、実装の都合などでバッチで更新されるケースが実務的には多く、今回もその内容に乗っ取って話を進めます。

この時、手元に残っているログは以下の様なものになります。
$$\{X_i, r_i, a_i\}_{i=1}^N$$
リクエスト(i)毎にContext(X)と、選んだ広告画像(a)と、結果クリックされたか(r)が溜まっている状態です。
また、ログが取得できている期間ではPolicyは一つしかないものと考えます(\(\pi_0\))

 

2. 比較の話

さて、ここでPolicyに何かしらの改良を加えるアイデアを思いついたとします。ここで問題になるのは「どの様にして既存のPolicyとこの改良を加えたPolicyを比較するか?」という点です。(より良いPolicyは獲得しうる報酬(r)の合計がより大きい方だと考えます。)

この二つのPolicyを比較する為のGolden Standardな検証デザインは何か?ということを考えた場合、おそらく皆さんご存知の通りABテスト(RCT)という答えになるかと思います。つまり、未来におけるリクエストの半分をランダムに既存のPolicyに割り振り、残りの半分を新規のPolicyに割り振り、それぞれで獲得できたクリックの数を比較するといった方法です。

「RCT cartoon」の画像検索結果

しかし、この様なABテストを実施するためには実際に新規のPolicyを実装する必要がありますし、さらに結果的に大失敗と終わる可能性のあるアイデアにある程度のリクエスト数(ユーザー)を割り振らないといけません。また、もし思いついたアイデアが1つでは無く100個で有れば、検証のためのコストは非常に高くなってしまいます。

この様な社会科学でよくみられる様な「実験の実施コストが高い」という理由から、どうにかして手持ちのデータからRCTの結果を再現したいという要求が生まれることになります。

 

3. replay-method

過去のログに置いて新しいPolicyの評価を行うためには、まず実際に選択を行わせる必要があります。これは新Policy(\(\pi(X)\))に過去ログの\(X_i\)を入力してやれば得る事ができます。

$$a_{1,i} = \pi(X_i)$$

問題となるのはその評価を入手する事です。過去の選択(\(a_{0,i} = \pi_0(X_i) \))を実行した時の報酬(\(r_i\))は観測されていますが、\(a_{0,i}\)以外の選択を実行した時の報酬は観測されていません。(あるリクエストにおいて広告画像1を見せた結果の報酬は観測しているが、広告画像2を見せた結果の報酬は観測していないので。)

つまり、新Policyの報酬は既存のPolicyと同じ選択肢を選んだ時でしか観測されないわけです。よってそれをそのまま評価と考えると新Policyの評価は以下の様に算出されます。

$$V_{naiive}(\pi) = \frac{1}{N} \sum_{i=1}^N {r_i 1(a_{0,i} =a_{1,i})}$$

この方法は、もし既存のPolicyが選択肢をランダムに選んでいた場合には評価が正しいという事が分かっており、こちらの論文でreplay-methodとして提案されています。しかし、ランダムでは無い場合には既存のPolicyによって生じるサンプリングバイアスの影響を受ける為にこの評価方法はABテストの近似としては不満足なものとなってしまいます。

 

4. Direct method

次に簡単な方法は、予測モデルによって観測されなかった選択肢の報酬を予測してしまうDirect Methodと呼ばれる方法です。つまり、ある選択肢が選ばれたデータを学習データとして、その選択肢が選ばれなかったデータに対して予測を行う訳です。この辺りの論文での実験だとridge回帰によって予測を行ったりしています。そして、予測された報酬の平均をPolicyの評価として扱います。

$$\hat{r}_a(X)=E[r_a|X]\\
V_{DM}(\pi) = \frac{1}{N} \sum_{i=1}^N {\hat{r}(X_i, \pi(X_i))}
$$

こちらの方法は、機械学習の実務をやっている方には割と自然な発想な気がしますが、2つの問題点があります。

1つは\(\hat{r}(X, a)\)を表現するのに十分なデータが得る事が非常に難しいという点にあります。多くの場合報酬はユーザーの意思決定に依存するので、その意思決定を高い精度で近似出来ている必要が出て来るのですが、これは実際問題かなり難しいタスクになるでしょう。また、学習の元になっているデータもsampling biasを持つデータとなってしまっています。どちらもサンプルサイズの増加によって消える様な問題では無い為に、この評価方法もやはりABテストの近似としては不満足なものとなってしまいます。

 

5. Inversed Propensity Score

この様な問題において因果推論を扱う分析ではPropensity Score(\(p_a\))がよく用いられます。最初の方法と同様に既存と新規のPolicyの選択が同一になったサンプルだけを評価に用いますが、この時に既存のPolicyでその選択肢が選ばれる確率の逆数をsampling weightとして用います。

$$p_a = p(a|X_i) \\
V_{ips}(\pi) = \frac{1}{N} \sum_{i=1}^N {\frac{r_i 1(a_{0,i} =a_{1,i})}{p_a}}
$$

この時Propensity Scoreはlogistic regression等で推定することも出来ますし、Thompson Samplingを利用している場合ではサンプリングのプロセスを繰り返すことでその確率を直接得る事が出来ます。Offline Policy Evaluationの文献を見ていると後者の方法を用いている事が多い様に思えます。

この様なIPSと呼ばれる方法の問題点は、Propensity Scoreが非常に小さい時に評価に対して大きな影響を与える事になり、結果的に評価の推定値の分散を押し上げてしまう事にあります。しかしIPSはサンプルサイズが大きくなるとABテストの結果に一致していくというメリットもあります。

 

6. Doubly Robust

最後にIPSとDMを掛け合わせたdoubly robustを紹介します。(参照)

$$
V_{dr}(\pi) = \frac{1}{N} \sum_{i=1}^N {\frac{(r_a – \hat{r_a}(X_i))1(a_{0,i} =a_{1,i})}{p_a} +\hat{r}_{\pi(X_i)}(X_i)}
$$

第一項は過去のPolicyと新規のPolicyの選択が一致しない場合には0になってしまうため、その様な場合にはDMと同様の評価を行う様になっています。
一致した場合には報酬予測の誤差をIPSで重みを掛け、DMの評価にそれを足し合わせています。報酬予測の精度が高いと第一項が0に近付いていくので、報酬予測の精度が悪い時にはIPSを使うといった構造だと解釈することも可能です。

7. まとめ

改めて問題を整理して考えると、新Policyの評価が難しいのは評価が過去ログの全サンプルで入手することが出来ず、欠損が発生しているという構造上の問題から生じていました。そして、どの様なサンプルで欠損が起きるかが既存のPolicyに依存しているため、欠損がランダムではなく何かしらのメカニズムを元に起きているという事情ありました。

これらの事から新Policyの評価は欠損のある評価データからいかに、欠損のない評価を推定するか?という欠損データにおける因果推論の捉える課題と同様な状態である事が分かります。よって、Propenstiy ScoreやDoubly Robustの様な方法が使われているわけです。

今回紹介した方法の他にもMorerobust Doubly Robustの応用や、もう少し複雑なバンディット問題のオフライン評価の話などが最近の研究では取り扱われています。もし興味を持たれた方は調べてみると面白いと思います。

 

 

引用文献

  • Li, Lihong, et al. “Unbiased offline evaluation of contextual-bandit-based news article recommendation algorithms.” Proceedings of the fourth ACM international conference on Web search and data mining. ACM, 2011.
  • Dudík, Miroslav, John Langford, and Lihong Li. “Doubly robust policy evaluation and learning.” arXiv preprint arXiv:1103.4601 (2011).
]]>