CausalityTools.jl
CausalityTools is a Julia package providing algorithms for detecting causal relations in complex systems based on time series data.
Goals
- Provide a comprehensive, easy-to-use framework for the detection of directional causal influences in complex dynamical systems from time series.
- Functional and efficient implementations of causality detection algorithm, with thorough documentation and references to primary literature.
- Extensive library of example dynamical systems for testing algorithm performance.
- Worked examples for all algorithms.
Package status
The package and documentation is under active development. Breaking changes may occur in CausalityTools and its dependencies until the 1.0 release.
Package structure
CausalityTools.jl brings together the following packages into one environment:
| package | functionality | version | build |
|---|---|---|---|
StateSpaceReconstruction.jl |
Fully flexible state space reconstructions (embeddings), partitioning routines (variable-width rectangular, and triangulations), and partition refinement (equal-volume splitting of simplices). | 0.3.1 |
|
TimeseriesSurrogates.jl |
Generate surrogate data from time series. | 0.2.1 |
|
TransferEntropy.jl |
Transfer entropy estimators. | 0.3.1 |
|
PerronFrobenius.jl |
Transfer (Perron-Frobenius) operator estimators. | 0.2.2 |
|
Simplices.jl |
Exact simplex intersections in N dimensions. | 0.2.2 |
|
CrossMappings.jl |
Exact simplex intersections in N dimensions. | 0.2.0 |
Contributors
- Kristian Agasøster Haaga (@kahaaga)
- David Diego (@susydiegolas)
- Tor Einar Møller (@tormolle)
Related software
- DynamicalSystems.jl provides a range of tools for exploring nonlinear dynamics and chaos, both for synthetic and observed systems. We provide seamless interaction with
Datasetoutputs from DynamicalSystems. Most of our example systems are also implemented asDiscreteDynamicalSystems orContinuousDynamicalSystemsfrom DynamicalSystems.