1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//! Pre-modeling forecastability analysis via information-theoretic dependence
//! measures.
//!
//! Determines whether a time series has exploitable predictive structure
//! *before* running expensive model search. The methods here answer:
//!
//! - **"Is there any predictive signal?"** — via [`ami_curve`] (Average
//! Mutual Information at each horizon lag) and significance testing with
//! [`phase_surrogates`].
//! - **"Is the signal linear or nonlinear?"** — via comparison of AMI with
//! [`gcmi_curve`] (Gaussian Copula MI, which only captures linear
//! dependence) and the [`ForecastabilityFingerprint::nonlinear_share`]
//! summary.
//! - **"Does X predict Y beyond Y's own history?"** — via
//! [`transfer_entropy_curve`] (conditional MI).
//! - **"How deep does the dependence go?"** — via [`pami_curve`] (Partial
//! AMI, conditioning on intermediate lags).
//! - **"How chaotic is the system?"** — via [`largest_lyapunov_exponent`]
//! (Rosenstein et al. 1993).
//!
//! # Attribution
//!
//! The algorithms and API design are inspired by the Python package
//! [`dependence-forecastability`](https://github.com/AdamKrysztopa/dependence-forecastability)
//! by Adam Krysztopa, released under the MIT License.
//!
//! # References
//!
//! - Kraskov, A., Stögbauer, H., & Grassberger, P. (2004). Estimating
//! mutual information. *Physical Review E*, 69(6), 066138.
//! - Ince, R. A. A., et al. (2017). A statistical framework for
//! neuroimaging data analysis based on mutual information estimated via a
//! Gaussian copula. *Human Brain Mapping*, 38(3), 1541–1573.
//! - Szekely, G. J., Rizzo, M. L., & Bakirov, N. K. (2007). Measuring and
//! testing dependence by correlation of distances. *The Annals of
//! Statistics*, 35(6), 2769–2794.
//! - Rosenstein, M. T., Collins, J. J., & De Luca, C. J. (1993). A
//! practical method for calculating largest Lyapunov exponents from small
//! data sets. *Physica D*, 65(1–2), 117–134.
//! - Bandt, C. & Pompe, B. (2002). Permutation entropy: A natural complexity
//! measure for time series. *Physical Review Letters*, 88(17), 174102.
// Phase 2
// Phase 3
// Triage pipeline
pub use ;
pub use distance_correlation;
pub use ForecastabilityFingerprint;
pub use gcmi;
pub use knn_mutual_information;
pub use ;
pub use largest_lyapunov_exponent;
pub use ;
pub use ;
pub use ar1_theoretical_ami;
pub use transfer_entropy_curve;
pub use ;