MITB Banner

Microsoft’s DoWhy Provides A Simple But Thorough Interface For Causal Inference Methods

Share

ML has increasingly been used across various process across various industries, causal inference being one such process. It is nothing but a process of drawing a conclusion from a causal connection which is based on the conditions of the occurrence of an effect. Casualty is what connects one process to other process, where both the processes are related to and dependent on each other. In other words, the process of determining whether a causal relationship does in fact exist at all, is called causal inference.

To be able to use causal interface, Microsoft introduced a software library called DoWhy. It is a Python-based software library and its name has been inspired from Judea Pearl’s do-calculus, a theory which is a part of probabilistic causality, which again is a part of the Bayesian network.

Why Do We Need DoWhy?

Predictive methods have a set of input and it recognises patterns based on that input. Changing the input will give a different set of pattern. Although there are a number of causal inference ML methods that give predictions based on the inputs whose output pattern is not fed to it. The main objective is to draw attention to finding out the assumptions, instead of giving more importance to estimation. Such methods are important in the context of several decision-making situations.

As these methods start to have its use in our daily life as well, the impact of its effect is an important concern and is gaining importance.

How DoWhy Works

DoWhy is designed using two guiding principles:

  • Making causal assumptions explicit
  • Testing robustness of the estimate to violation of the assumed assumptions

It performs the following tasks:

  1.   DoWhy distinguishes between identification and estimation problems. It spends the maximum amount of time in identification. Its job here involves making assumptions about data-generation processes. DoWhy uses Bayesian graphical model framework to represent assumptions. In this graphical model framework, users can specify what they are aware of and what they do not know, about the data generating process. On the other hand, estimation involves estimating the target and estimand from the given data. Methods used for estimation are based on the potential outcomes framework, like matching, stratification and instrumental variables.
  2.   DoWhy creates a separate causal graphical model for each problem. This makes each causal assumption very specific. The graph to be provided does not necessarily have to be complete. The graph can be incomplete, expressing information regarding initial conditions of the variables, DoWhy considers the rest of the variables. It first builds a causal model and tests the assumptions using the observed data. It then views and analyses these assumptions, either graphically, or using a set of conditional independence statements.
  3.   Once the assumptions are made, DoWhy provides with sensitivity tests to check the reliability of the obtained estimate. DoWhy checks the validity of the obtained estimate based on the given assumptions in the graphical model. It can check how the estimate changes with the change of certain assumptions. It can also assess robustness of the estimate to violations. It checks how the estimate varies with varying assumptions. These variations can also be input in the graphical model to see how the estimate changes.

How DoWhy Is Different From Existing Softwares For Causal Inference

One of the major advantages is that DoWhy treats identification and estimation separately. Because of this, for a target estimand, it is able to free up the estimator to use any available statistical estimator, thereby being able to focus the causal inference on the process of identification.

The other crucial job of the causal inference is to check the robustness of the estimate to the assumptions that are not verified, and this job is usually neglected. This library can automatically run sensitivity and robustness checks on the obtained estimate.

It uses graphical models as well as potential outcomes for the same. It uses graphical models to estimate the modelling assumption and to identify a non-parametric causal effect. It also uses potential outcome methods for the job of estimation. Identifies a suitable/required causal effect based on the graphical model calculations.

DoWhy supports Python 3+ and requires packages like numpy, scipy, scikit-learn, pandas, pygraphviz, networkx, Matplotlib and sympy. This project plans to add more features to the library and currently invites suggestions and contributions.

PS: The story was written using a keyboard.
Share
Picture of Disha Misal

Disha Misal

Found a way to Data Science and AI though her fascination for Technology. Likes to read, watch football and has an enourmous amount affection for Astrophysics.
Related Posts

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

Upcoming Large format Conference

May 30 and 31, 2024 | 📍 Bangalore, India

Download the easiest way to
stay informed

Subscribe to The Belamy: Our Weekly Newsletter

Biggest AI stories, delivered to your inbox every week.

AI Courses & Careers

Become a Certified Generative AI Engineer

AI Forum for India

Our Discord Community for AI Ecosystem, In collaboration with NVIDIA. 

Flagship Events

Rising 2024 | DE&I in Tech Summit

April 4 and 5, 2024 | 📍 Hilton Convention Center, Manyata Tech Park, Bangalore

MachineCon GCC Summit 2024

June 28 2024 | 📍Bangalore, India

MachineCon USA 2024

26 July 2024 | 583 Park Avenue, New York

Cypher India 2024

September 25-27, 2024 | 📍Bangalore, India

Cypher USA 2024

Nov 21-22 2024 | 📍Santa Clara Convention Center, California, USA

Data Engineering Summit 2024

May 30 and 31, 2024 | 📍 Bangalore, India