DoWhyによる因果推論を実施してみた
今回は因果推論ライブラリであるDoWhyを実施してみました。コードはDoWhyのドキュメントから引用しています。
※このブログの内容は個人の意見・見解となります。また、記事の内容の正確性については保証いたしません。本ブログの目的は分析結果をアウトプットしていくことによる自身のデータ分析力向上を主としています。誤りや違うアプローチの方が良いという事も多分にあると思います。後学のため、「もっとこうしたらいい」や誤りを見つけた場合はコメント欄などでお知らせいただけると有難いです。
○参考サイト
・DoWhyドキュメント:https://www.pywhy.org/dowhy/v0.9.1/getting_started/index.html
・DoWhyで因果推論やってみた:https://speakerdeck.com/s1ok69oo/pythonraiburari-dowhy-woyong-itayin-guo-tui-lun
・DoWhyによる統計的因果推論:https://qiita.com/kumalpha/items/a1177eb5af6168e8113d
・【因果推論】バックドア基準とフロントドア基準:https://hiramekun.hatenablog.com/entry/2021/12/26/122014#%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%83%89%E3%82%A2%E5%9F%BA%E6%BA%96
・つくりながら学び!pythonによる因果分析(本)
○因果推論とは
因果推論とは「変数Zの値を大きくしたときに対応する変数Yが大きくなる傾向にある」と因果関係があることを推論することです。
下記の図は「自社アプリ(利用)頻度が高い(Z)」に伴う各変数の関係を示したものになります。
・来店頻度が高いと自社アプリを利用する頻度が高い
・自社アプリを利用する頻度が高い人は売上(Y)が高い
自社アプリを活用してくれている人は興味を持ってくれている人達なので自社アプリを利用する頻度が高い人の売上が高いという事実はありそうです。しかし、下記の関係もありそうです。
・来店頻度が高い人は売上が高い
そもそも、利用意向が高く、アプリを活用せずとも売上が高い人がアプリを活用しているだけ、という可能性もありそうです。
そのため、来店頻度高い→売上を考慮しつつ、自社アプリ頻度高→売上を推定しないとアプリ活用頻度による効果を正しく推定ができなそうです。
○DoWhyとは
Microsoftがリリースした因果推論ライブラリになります。
反事実モデルに基づき因果効果を定義→仮定をおく→データから計算するための数式を作成→計算→妥当性の検証
この一連の流れを可視化してくれるライブラリになります。
○DoWhyを使用してみよう
○まとめ
今回はDoWhyを使ってみるという内容で因果推論に初めて触れてみました。分析を行うときに、「相関関係が見られたからといって、因果関係があるとは限らない」という話がよくあります。今回、記事を書く上で学んだことは初歩の初歩と感じているためしっかり理解して実務でも活用できるようになりたいと思います。
○最後に
このような形で分析した結果や試してみたことを週に1回(目標)ペースで掲載しています。データ分析のキャリアを歩み始めたのですが、データの解釈、分析力が低いと感じ今回、このような形でアウトプットをしていくことにしたため、ぜひ、アドバイスやご指摘をいただけると幸いです。
コメントを残す