ShowWhy is a suite of no-code interfaces for performing data analysis using causal ML techniques and libraries. Currently, ShowWhy consists of four primary user-interfaces:
The data-wrangling application allows users to clean, transform, and prepare data for analysis. Data tables created in the wrangling app can be used in other views within the application.
This interface, formerly known as ShowWhy, allows users to define and test hypotheses around causal links within data in order to validate their prior assumptions. For example, a user may have some prior domain knowledge that "co2 emissions cause global warming" or "smoking causes cancer". This interface will verify these causal claims using the dowhy suite of refuters and estimators, and will help the user to understand the results of these analyses.
The event analysis interface allows users to use time-series observational data containing treated and untreated units to detect whether treatments had a net effect on outcomes. This interface uses the Synthetic Differences-in-Differences technique for analysis.
This interface allows users to inspect variable relationships within data, and to perform causal discovery using a variety of techniques such as Causica, NOTEARS and DirectLiNGAM.
Note: At the moment, ShowWhy does not work with Apple Mxx processors in local mode.
To run the application locally, ensure that you have Docker installed and running on your machine. You can find instructions for installing Docker here.
Open up a terminal application, and using the command-line interface (CLI) run the following command:
docker compose --profile all up
For developers wishing to contribute to the project, refer to DEVELOPING.md for instructions on getting started.
Check the deployment documentation for instructions on how to deploy to deploy ShowWhy to Azure AKS (either via one-click or manually), and how to deploy ShowWhy into a local Kubernetes instance.
We welcome contributions to the application. All submissions must pass the CLABot verification.