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

Slices of higher-dimensional `Counts` and `Probabilities` should yield new `Counts` and `Probabilities` #350

Open kahaaga opened 6 months ago

kahaaga commented 6 months ago

Relevant outcomes also must be propagated

kahaaga commented 6 months ago

On second thought, this is speculative.

Slicing a Probabilities array means the Probabilities will be re-normalized. In most use cases, that is probably not what a user would want.

The reason I thought of it is that viewing a probabilities array should look nice (outcomes should be displayed in the margins) even when slicing. But I don't immediately see how this can be achieved without breaking the contract that the probabilities must sum to 1.

Datseris commented 6 months ago

Does this has any use to begin with...? Marginal propabilities are not slices anyways.

kahaaga commented 6 months ago

For counts it has meaning to slice. For probabilities less so - it would have to be a new type.

In terms of pretty printing, it does have meaning to slice, because one may want to look at some subset of the data other than the default printed slice. But I don't consider this important enough to postpone 3.0. It can be done at a later stage, perhaps by just creating a view that explicitly lets the user know that they are looking at a subset. If we deem it necessary.