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
49 stars 11 forks source link

Rename SymbolicPermutation...? #289

Closed Datseris closed 11 months ago

Datseris commented 11 months ago

I never quite understood why we are using different words to refer to the same thing. We have "ordinal pattern encoding" but the outcome space is called "symbolic permutation". Why? Why isn't it just called OrdinalPatterns and WeightedOrdinalPatterns?

Wouldn't this simplify things a lot? Alternative is to rename the encoding to be SymbolicPermutationEncoding. But I see no reason to use two different names for the same thing.

kahaaga commented 11 months ago

I never quite understood why we are using different words to refer to the same thing. We have "ordinal pattern encoding" but the outcome space is called "symbolic permutation". Why? Why isn't it just called OrdinalPatterns and WeightedOrdinalPatterns? Wouldn't this simplify things a lot? Alternative is to rename the encoding to be SymbolicPermutationEncoding. But I see no reason to use two different names for the same thing.

We went a bit back and forth on the naming, and I agree that we might have ended on a sub-par alternative. The Symbolic prefix was there because it originated from the permutation entropy. But since SymbolicPermutation and friends now are outcome spaces, there's no reason to keep this name. Moreover, every discretization scheme "symbolizes" - that is what happens when you discretise. I think Ordinal-something is much more informative. I suggest the following outcome space renamings:

The OrdinalPatternEncoding we can either keep, or rename to OrdinalEncoding (btw: there will soon be OrdinalAmplitudeAwareEncoding and OrdinalWeightedEncoding too, which will allow us to explicitly use these outcome spaces in upstream functions such as transfer entropy).

kahaaga commented 11 months ago

Why isn't it just called OrdinalPatterns and WeightedOrdinalPatterns?

I wrote my answer too quickly: I like your suggestions better. OrdinalPatterns, WeightedOrdinalPatterns and AmplitudeAwareOrdinalPatterns.

EDIT: However, skipping "patterns" makes the name shorted, and "ordinal" already implies some sort of ordering pattern, so perhaps the shorter alternatives proposed above work too. I'm not too attached to any of the names, as long as we drop the "Symbolic" part in favor of "Ordinal".

kahaaga commented 11 months ago

After my edit above:

  1. Ordinal/OrdinalWeighted/OrdinalAmplitudeAware
  2. OrdinalPatterns/WeightedOrdinalPatterns/AmplitudeAwareOrdinalPatterns

I vote for alternative 2. It's more intuitive.

Datseris commented 11 months ago

me2