jlizier / jidt

JIDT: Java Information Dynamics Toolkit for studying information-theoretic measures of computation in complex systems
http://jlizier.github.io/jidt/
GNU General Public License v3.0
261 stars 72 forks source link

Surrogate Type Extension for MI Kraskov Estimator #100

Open DRynne opened 3 months ago

DRynne commented 3 months ago

Added support for choice of surrogate types in KSG continuous Mutual Information estimator.

Coded as part of CSYS5050 Master of Complex Systems Capstone Project, semester 1 2024.

Added generateRotatedSurrogates method in RandomGenerator

Added SURROGATE_TYPE parameter and logic within MutualInfoCalculatorMultiVariate and MutualInfoMultiVariateCommon to support new surrogate selection method.

Refactored DYN_CORR_EXCL_TIME from individual instantiations in kernel and kraskov classes into common in order to support exclusion window setting within rotated surrogates.

Updated AutoAnalyser to reflect changes.

Added Python Example 10 with an example that depicts the effect of the biased shuffled surrogates against the rotated surrogates for autocorrelated data:

surrogate_type_comparison