EconML vs CausalML vs Dowhy for Causal Inference

Raven
隨筆趣事
Published in
May 21, 2023
Photo by Drew Dizzy Graham on Unsplash

我想大家在研究因果推斷時,在google搜尋引擎key上關鍵字: causal inference Python package,出現了三個常見的結果,不外乎是DoWhy、EconML、CausalML,那這三個有何差異? 都是因果推斷的Python套件嗎? 還是其實不一樣?

本文章,就讓我為大家解惑吧!

事實上要進行因果推斷,最常用且著名的框架就只有微軟發布的DoWhy;而EconML、CausalML,他們是DoWhy 框架中第三步驟評估(estimate)的擴充套件。

我們都知道DoWhy有四大步驟:

  • 建模 (model):利用假設(先驗知識)對因果推斷問題建模
  • 識別(identify):在假設(模型)下識別因果效應的表達式(因果估計量)
  • 評估(estimate):使用統計方法對表達式進行估計
  • 反駁(refute):使用各種反駁檢查來驗證評估的正確性

如果讀者再仔細研讀DoWhy,可以看到在第三步驟評估(estimate),有提到可以去呼叫外部套件EconML、CausalML:

沒錯!EconML、CausalML他們就是DoWhy第三步驟的額外補充包,我們可以在進行DoWhy時,第三步驟可以考慮使用外部套件(EconML or CausalML)。

EconML vs CausalML

那EconML和CausalML又有何差異?

自製表格

從圖表來看,就只有發行的組織不同,一個是微軟,另一個是Uber;後面的演算法功能、可解釋性工具,幾乎一模一樣,頂多就只是宣告跟使用的方法不同。至於要不要用,以及要選哪個套件,真的因人而異,就看個人喜好了。

結論

本文為各位解答EconML vs CausalML vs Dowhy的差別,並簡略的比較EconML vs CausalML。

未來大家要怎麼使用因果推斷的工具,真的就要靠自己去研究,看線上的影片,官方的github,並自己實作之,才能有所收穫!

若有任何錯誤或要討論的地方,非常歡迎與我聯繫。以下是我的LinkedIn:

https://www.linkedin.com/in/ray-huang-a01a5a171/

歡迎大家follow起來,也可以拍手給我一點鼓勵!

--

--

Raven
隨筆趣事

熱愛寫code,平時遇到有趣的事情,也會上來寫寫,抒發自己的心情。