CausalityTools is a Julia package that provides algorithms for detecting dynamical influences and causal inference based on time series data.
For an updated overview of the field of causal inference, see for example Runge et al. (2019)[Runge2019].
Examples showing how to use the causal inference methods are provided in their respective documentation pages.
Geometrically based methods rely on delay reconstructions of the time series, and numerical properties of these delay reconstructions, to infer causal/dynamical relationships. They take as input the time series, and embedding parameters (given as keyword arguments).
- Cross mapping (
- Pairwise asymmetric inference (
- Joint distance distribution (
- S-measure (
Entropy based methods for causal inference take as inputs the time series in question, and an entropy estimator of choice. Additional parameters are given as keyword arguments.
We also provide estimators for generalized entropy and mutual information, though these are not causal inference methods per se.
Do you want additional methods or example systems to be implemented? Make a PR to the master branch in the CausalityTools repo, or open an issue describing the desired feature.
- Runge2019Runge, J., Bathiany, S., Bollt, E., Camps-Valls, G., Coumou, D., Deyle, E., Glymour, C., Kretschmer, M., Mahecha, M. D., Muñoz-Marí, J., van Nes, E. H., Peters, J., Quax, R., Reichstein, M., Scheffer, M., Schölkopf, B., Spirtes, P., Sugihara, G., Sun, J., … Zscheischler, J. (2019). Inferring causation from time series in Earth system sciences. Nature Communications, 10(1), 1–13. https://doi.org/10.1038/s41467-019-10105-3