Sunday 11:00 AM–12:30 PM in Fertitta Hall, Room LL125

A Hands-On Application of Causal Methods in Python

Abi Aryan 🌴

Audience level:


There has been much advancement in the field of machine learning given the excellent performance of deep learning techniques, but in high stakes environments like medical healthcare, it becomes far important to be able to explain the connection between a condition and an outcome. In this workshop, we will learn what is causal inference and how to implement it using a Python library called DoWhy.


There are two kinds of applications of machine learning - first, being able to predict, forecast and classify and second, the ability to choose and control the factors affecting any prediction.

While deep learning techniques have shown incredible promise over the first kind of applications, the second kind of applications are best handled by what we call Causal Inference. The ability to study the causal connection between the circumstances and outcomes of any occurrence has been garnering huge interest by people in data science who are looking to explain and affect the outcomes of any event and it becomes even more important in high stakes situations like medical healthcare.

In this workshop, we will step by step go through explaining why do we need causal inference, the framework for causal inference (including techniques like the backdoor criterion and counterfactuality). Then we'll do a very quick intro to the

pygraphviz (for plotting causal graphs), 
networkx (for analyzing causal graphs), 
matplotlib (for general plotting), 
sympy (for rendering symbolic expressions)

frameworks. Once we have explained and installed these dependencies, we'll install the DoWhy Python library explaining to the user how to computationally represent all the graphical causal models in Python.

We will take two simple examples to introduce the user to use causal models for their own personal and data analysis purposes - 1) Treatment Assignment - We will use the example of a simple placebo treatment for the same 2) Regression Problem

Finally, we'll conclude the talk with some possible extensions of the talk including how to get started contributing to open-source via DoWhy.

Subscribe to Receive PyData Updates