PySPI v1.0.3
SPI Reproducibility Fix
pyspi v1.0.3 is a patch update that addresses inconsistent results observed in several Information Theoretic and Convergent Cross-Mapping (ccm) SPIs when running multiple trials on the same benchmarking dataset. As of this update, all 284 SPIs should now produce identical results across multiple runs on the same dataset.
Key Changes:
- Upgraded jidt dependency from
v1.5tov1.6.1.jidt v1.6.1includes a newNOISE_SEEDproperty for all jidt calculators, enabling consistent results across multiple runs. For more information, see here. Since jidt is self-contained within the pyspi package, upgrading the jidt version should not introduce any breaking changes for users who have already installed pyspi. - Added random seed support within pyspi for jidt-based SPIs. All SPIs that rely on the jidt library now utilise a fixed random seed to ensure reproducibility across runs.
- Introduced random seed for Convergent Cross-Mapping (
ccm) SPI. TheccmSPI now uses a fixed random seed, addressing the previously observed stochasticity in its outputs.
Important Note to Users:
The addition of fixed random seeds for the affected SPIs may result in slightly different output values compared to previous versions of pyspi. This change is due to the improved consistency and reproducibility of the SPI outputs. Please keep this in mind if making exact numerical comparisons with previous versions of pyspi.
Affected SPIs:
The following SPIs, which previously produced varying outputs across multiple trials, should now yield consistent results:
ccm(all 9 estimators)cce_kozachenkoce_kozachenkodi_kozachenkoje_kozachenkosi_kozachenko_k-1