## LiNGAM - Discovery of non-gaussian linear causal models## Brief descriptionLiNGAM is a new method for estimating structural equation models or linear Bayesian networks. It is based on using the non-Gaussianity of the data. Several authors (Spirtes et al. 1993; Pearl 2000) have recently formalized concepts related to causality using probability distributions defined on directed acyclic graphs. This line of research emphasizes the importance of understanding the process which generated the data, rather than only characterizing the joint distribution of the observed variables. The reasoning is that a causal understanding of the data is essential to be able to predict the consequences of interventions, such as setting a given variable to some specified value. One of the main questions one can answer using this kind of theoretical framework is: 'Under what circumstances and in what way can one determine causal structure based on data which is not obtained by controlled experiments but by passive observation only?'. In many cases it is impossible or too expensive to perform controlled experiments, and hence methods for discovering likely causal relations from uncontrolled ('observational') data would be very valuable. We have developed a method, abbreviated LiNGAM, for identifying Linear, Non-Gaussian, Acyclic causal Models based on purely observational, continuous-valued data. This method can be seen as an extension of the standard SEM (Structural Equation Model; see, for instance, Bollen 1989) framework. The key aspect of our method is that when the data is non-gaussian it is possible to identify more of the generating structure than is possible in the traditional Gaussian setting. The basic method assumes that (a) there are no hidden confounders, and (b) all (or all but one) of the error terms are non-gaussian. Under these conditions it can be shown that the full generating model can be identified in the limit of an infinite sample. ## Original article introducing LiNGAMS. Shimizu, P. O. Hoyer, A. Hyvärinen, and A. J. Kerminen. ## Estimation methods and codeThe model introduced in the paper above can be estimated in different ways:
The estimation method in the original 2006 JMLR paper above is distributed as a complete Matlab/Octave code package. (We also distribute R code as part of the bayeslingam package and as part of the VAR-LiNGAM package.) Also implemented in TETRAD, R package: pcalg by Kalisch et al. Python code by Taku Yoshioka.
A method which considers two variables at a time instead of using conventional ICA algorithms, leading to simple and intuitive estimators, was proposed in: A. Hyvärinen and S. M. Smith. ## Various extensionsThe basic model in the 2006 JMLR paper has been later extended in different ways. For an extensive and updated list, see this page.Here are some of them:
Journal of Machine Learning Research, 15: 2629-2652, 2014. Python code P. O. Hoyer, S. Shimizu, A. J. Kerminen, and M. Palviainen.
A. Hyvärinen, K. Zhang, S. Shimizu, and P. O. Hoyer.
P. O. Hoyer, A. Hyvärinen, R. Scheines, P. Spirtes, J. Ramsey, G. Lacerda, and S. Shimizu.
G. Lacerda, P. Spirtes, J. Ramsey and P. O. Hoyer.
Proc. 25th Conf. on Uncertainty in Artificial Intelligence (UAI2009), pp. 647-655, Montreal, Canada, 2009. code P. O. Hoyer, D. Janzing, J. Mooij, J. Peters, and B. Schölkopf. ## Survey articlesS. Shimizu.
K. Zhang and A. Hyvärinen. Nonlinear functional causal models for distinguishing cause from effect. Statistics and Causality: Methods for Applied Empirical Research, pp. 185-202, 2016. S. Shimizu. Non-Gaussian structural equation models for causal discovery. Statistics and Causality: Methods for Applied Empirical Research, pp. 153-184, 2016. Updated by Shohei Shimizu in July 2018.Created at the Neuroinformatics group in University of Helsinki around 2006. |