Simple answers are, given that you have a dataset of some features,

  1. ask domain expert, which should cause what?
  2. Apply the IC* algorithm [1] which describes how to programmatically and statisically construct causal graph.

However, the algorithm does not guarantee you an unique graph nor an unique and complete graph, and it depends on your dataset. Because the algorithm builds the model from your data, it can be wrong if your data has problems. Having said that, if all you need is a sufficiently useful model, then you may focus on a subset of your features, try the algorithm and incorporate some domain expert knowledge into the outcomes of your algorithm.

This book [2] discussed another construction algorithm, which would also require some prior expert knowledge about your features to build a minimal model.

I think there is no straight way to a perfectly right causal model.

[1] Pearl, J. Causality: models, reasoning, and inference. Cambridge University Press.

[2] Korb. K. & Nicholson, A. E. Bayesian Artificial Intelligence. Second Edition. CRC Press.


This is a very common question at the beginning of the path to causal inference with graphs and I had this very same question at the beginning of my journey.

What you're looking for is called exploratory causal analysis, also known as causal discovery. There are many algorithms that try to do this and one of the most famous one is the PC algorithm. One very recent/modern algorithm is MIIC.

In few words, the goal is to try to obtain the direct associations between random variables, if there is one. This process, if done correctly, will give you a probabilistic graphical model (PGM). The jump from this to a causal model is the set of assumptions that you are willing to base your analysis upon. The main ones are Causal Faithfulness, Causal Markov Condition and Unconfoundedness. Just like any causal inference study, you have to convince your audience that your assumptions and the approach itself is valid for that specific problem.

This video not only talks about causal discovery, but also shows studies in which it was applied: https://www.youtube.com/watch?v=pQ0D2qsw6S4

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.