CausalKinetiX

workflow

Many real world systems can be described by a set of differential equations. Knowing these equations allows researchers to predict the system's behaviour under interventions, such as manipulations of initial or environmental conditions. For many complex systems, the differential equations are unknown. Deriving them by hand is infeasible for large systems, and data science is used to learn them from observational data. Existing techniques yield models that predict the observational data well, but fail to explain the effect of interventions. CausalKinetiX is a methodology for inferring the structure of kinetic systems by explicitly taking into account stability across different experiments. This allows to draw a more realistic picture of the system's underlying causal structure and is a first step towards increasing reproducibility.

The CausalKinetiX framework is described in the following paper:

N. Pfister, S. Bauer, J. Peters: *Learning Stable and Predictive Structures in Kinetic Systems*. Proceedings of the National Academy of Sciences (PNAS). https://doi.org/10.1073/pnas.1905688116
An open access pre-print version is available here.

Data availability
Code and data to reproduce results in the paper can be found here. The real world data set has not been published yet. If you are interested in that data set, please send an email to the corresponding author Niklas Pfister.
R-package
CausalKinetiX is implemented as an easy-to-use R-package and can be installed from CRAN. The R source is available on github; please report issues there or fire a pull request if you wish to contribute.
Python implementation
There is a ported version of the R-package available for python here. Note, that this code is not actively maintained anymore and no support can be given. Special thanks to Kei Ishikawa, who ported the code from R to python.