JuliaDynamics / ComplexityMeasures.jl

Estimators for probabilities, entropies, and other complexity measures derived from data in the context of nonlinear dynamics and complex systems
MIT License
56 stars 14 forks source link

Reproducibility for `OrdinalPatternEncoding` #379

Open kahaaga opened 8 months ago

kahaaga commented 8 months ago

Currently, the isless_rand function, which we use as the default value comparator for OrdinalPatternEncoding, will not give reproducible results. This is because we don't provide an rng argument to the rand call.

To solve this, we could either:

Or maybe there's a better way?

Datseris commented 8 months ago

rng should be a field of the encoding. it doesn't have to be a field of OrdinalPatterns, only give as an input to it.

Datseris commented 8 months ago

will not give reproducible results

Note that this is only a problem if there are duplicate datapoints in the timeseries.

kahaaga commented 8 months ago

Note that this is only a problem if there are duplicate datapoints in the timeseries.

The problem occurs if there are tied values inside any state vector, since it is the individual state vectors that are sorted to map them onto an ordinal pattern.