見出し画像

因果推論の勉強会をやっています

※本稿はテックブログからの転載です。

はじめに

JDSCの緒方です。Data Scientistをしています。

突然ですが、私はData Scientistをやっているにもかかわらず機械学習が好きではありません。機械学習を用いたプロジェクトは、JDSCが手掛ける同種のプロジェクトがそうである様に、多くがとてもエキサイティングなものですが、個人的にあまりときめかないのです。ではお前は何をやりたくてデータサイエンスをしているんだと言う話なのですが、私はデータを用いた科学的な意思決定の支援(Decision Science)が好きです。

私はデータドリブンな意思決定をビジネスで行うのには、実はそんなに高度な分析を行う必要はないと思っています。むしろ、必要なデータが必要な人に、常に同じ意味で届けられていることの方が重要です。なので企業の意思決定を支援する仕組みとしてのデータ基盤の導入、その使い方のトレーニング、背後の組織構築支援などのプロジェクトにより大きな価値を感じます。これはビジネスの速度が計量経済学などのエビデンスに基づいた意思決定を支援する枠組みが想定する意思決定の速度よりも十分早く、また意思決定の枠組みも国や自治体単位のそれよりも自由が効き、トライアンドエラーが(もしくはトライアンドエラーを許すモメンタムの醸成が)比較的容易と考えているからです。

一方で、じゃあ何でもかんでも生データ同士の単純比較で意思決定を行っていっても良いのかと言うと、決してそんなことはありません。計量経済学や疫学が培ってきた、エビデンスに基づいた意思決定を支援する枠組みは、うまく使えばビジネスのスピードでも十分に活用できますし、誤った結論を避ける有効な手段になり得ます。この様な手法を因果推論といい、JDSCでは現在輪読会という形式で有志が学習しています。私は大学院で計量経済学を専門に研究を行(うふりをして落ちこぼれ)っていたので、土地勘があることから微力ながらファシリテーターをしています。

因果推論とは

簡単にですが、因果推論というものが何かというのをお話しておきたいと思います。因果推論とは、ある施策(介入といいます)を行った時に、KPIにその施策の結果としてどのような変化が現れるかを評価する手段です。

例えば教育の領域で、小学校の1クラスを少人数にした方が教師がきめ細やかな教育ができて子供の学力が上昇するんじゃないかという仮説があったとします。実はこのトピックでは長く経済学でも議論されているトピックです。このような仮説の正しさを、どのように評価するのがいいでしょうか?単に教育をうけたクラスの生徒数と、子供のテストの点数の相関をみるだけでは解決しません。なぜならば、少人数でクラス運営ができるのは都会より田舎の学級ですし、都会に制限したとしても学級の人数が少ないのはもともと学力の高い子供が進学する私立の学校であったりなど、様々なバイアスが存在しているからです。

本当に今知りたいのは、現在少人数で運営している学級の子供の学力が高いのか、ではなく、ある子供の所属する学級の人数を少なくした時その子供の学力が高くなるのか、です。

このような疑問に最も早く結論を付けてくれるのはRCT(ビジネスでいうところのABテスト)です。いくつかの学級をランダムに選んできて、その学級の人数を減らします。残りの子供の成績ののびが、そのような介入を受けていない学級の子供の成績ののびよりも大きいのか、変わらないのか、それとも小さいのかを観測することで、学級の所属人数をへらしたときの子供の学力への因果効果がわかります。

もちろん、倫理的な問題からそのような実験は難しいです。ですので、現在存在しているデータから、バイアスを取り除くことで上のような因果効果に迫ろうというアプローチが因果推論です。このような手法はビジネスの世界でもとても強いニーズがあります(たとえばあるマーケティングを実施したときの売上高への因果効果を理解して、適切にROIを把握したい、など)。

勉強会の流れ

さて、話を戻しますが、教科書はスタンフォード大学の因果推論を学ぶコースで利用されている講義ノートが公開されていたので、こちらを用いています。輪読会の教材としてはかなりマニアックな部類に入ると思います。因果推論は近頃とても流行っていて、日本語でも基礎的かつ実践的な書籍は多いのですが、最先端の内容までカバーされたものは多くありません。一方で、比較的新しい手法や詳細な議論をカバーしている教科書は大学院レベルのものになってしまい、企業の有志で実施する輪読会の題材としては重くなりすぎます。この教材はスタンフォード大学の人気講座らしいこともあって、RCTやプロペンシティスコアといった基礎的な手法から、パネルデータ(観測主体ごとに時系列で観測されたデータ)への応用、構造方程式モデリングにアダプティブラーニングといった実践的で新しい手法まで網羅されています。一方で数式の記述はいい意味で少し雑な部分を残しており、そこまで本気で数式を追いかけていく必要もありません。これはとても大切なことで、ビジネスで因果推論を利用できる様になるという趣旨の輪読会にとっては、仮定と手法の概要を掴んで実戦で磨いていくための素地を作ることが優先であり、その意味でこの教材はバランスがよくとれています。

輪読会の流れとしては、この教科書を1章ずつ分担して翻訳、サマライズして他のメンバーに手法がおいている重要な仮定や解釈の方法を説明します。そしてその手法が用いられた論文などをリサーチしてリサーチクエスチョン、仮定の妥当性、結果を議論します。また、ちゃんと調べればほとんどの手法の実装がネットに落ちている(論文の著者が公開していることも多いです)ので、その実装をもってきて解説します。

ちなみに、6章Finite Sample Inference in RDDsを担当していた同僚が、引用された論文の著者が公開していたスクリプトを使って実装しようとしてもエラーが出て困っていました。普通にバグがあったみたいです。Pull Request出すと結構貢献になるのではと思います。

画像1


JDSCはこういった勉強会活動をとても積極的に肯定してくれており、Data Scientistがこのような自己研鑽を行うことも業務の時間の範囲で行っています。私も現在輪読会と並行してGCP Professional Data Engineerの勉強を(業務時間で!)行っていますし、因果推論がいったん終了したら次は私にとっても新しい分野ということで最適化を基礎から学びたいと思っています。

技術力でもってクライアントに価値を出さなければいけないData Scientistにとってこういった時間を会社が肯定してくれるのは非常にありがたく、良い環境だなと思います。興味のある方がいらっしゃれば、是非カジュアルにお話にいきましょう。お気軽にお声がけください。

We are hiring!!

JDSCのTech blogで記事を書いたのは初めてですが、次回は「因果推論を使ったプロジェクトの話」「データ基盤が提供する企業への意思決定のインパクト」「ブログを書くのが嫌すぎてGPT-2にブログ書かせてみた」のどれかにしようと思います。
またどうぞよろしくお願いいたします。

この記事が気に入ったらサポートをしてみませんか?