Comments (9)
Also, forgot to mention my other comments on why using DD.jl is a bad idea unless absolutely necessary:
But you should also know that I had headaches with ClimateBase.jl with DimensionalData.jl getting breaking releases all the time (version 0.25 means 24 breaking releases if you think about it). I have stopped updating ClimateBase.jl due to this headache.
from complexitymeasures.jl.
@kahaaga I've just noticed another problem.
Previously, it was possible to optimize counts
or probabilities
so that they do not compute outcomes. E.g., here
function counts(encoding::RectangularBinEncoding, x)
cts, bins = fasthist(encoding, x) # bins are integers here
unique!(bins) # `bins` is already sorted from `frequencies!`
# Here we transform the cartesian coordinate based bins into data unit bins:
outcomes = map(b -> decode(encoding, b), bins)
return Counts(cts, (outcomes,))
end
we could avoid computing the outcomes before the move to dimensionaldata.jl was made. Now, it is no longer possible, and this loss of optimization will be forever a burden, and can become a large burden if you have to run 100000s of timeseries.
from complexitymeasures.jl.
What about having the following?
function counts_and_outcomes(encoding::RectangularBinEncoding, x)
cts, bins = fasthist(encoding, x) # bins are integers here
unique!(bins) # `bins` is already sorted from `frequencies!`
# Here we transform the cartesian coordinate based bins into data unit bins:
outcomes = map(b -> decode(encoding, b), bins)
return Counts(cts, (outcomes,))
end
function counts(encoding::RectangularBinEncoding, x)
cts, bins = fasthist(encoding, x) # bins are integers here
unique!(bins) # `bins` is already sorted from `frequencies!`
return Counts(cts)
end
The first signature explicitly computes the outcomes, the second doesn't.
from complexitymeasures.jl.
What would the display of this be? wouldn't it error at display? since it doesn't have a dimension to display in the grayed out marginals...?
from complexitymeasures.jl.
Also this is a breaking change to the call signature, so anyways I would say I am against it. probs_and_outcomes
returns a decomposable tuple of the vector of probabilities and the vector of outcomes.
from complexitymeasures.jl.
What would the display of this be? wouldn't it error at display? since it doesn't have a dimension to display in the grayed out marginals...?
We can just do a quick check to see if marginals are present or not, and print them if they are present.
from complexitymeasures.jl.
Also this is a breaking change to the call signature, so anyways I would say I am against it. probs_and_outcomes returns a decomposable tuple of the vector of probabilities and the vector of outcomes.
It is possible to do both: return a Counts
that has the outcomes on the marginals, and explicitly return it. This has no extra cost, since the outcomes are already computed in counts_and_outcomes
/probabilities_and_outcomes
from complexitymeasures.jl.
@kahaaga since you coded the original DimensionalData.jl code, could you please be the one that tackles this issue? It's one of the final 2 blockers for the next release of ComplexityMeasures.jl.
from complexitymeasures.jl.
since you coded the original DimensionalData.jl code, could you please be the one that tackles this issue? It's one of the final 2 blockers for the next release of ComplexityMeasures.jl.
I'm on it. It'll probably take a few days, because it is a bit involved to get the pretty printing right.
from complexitymeasures.jl.
Related Issues (20)
- ```genentropy``` is broken HOT 1
- Docstring and implementation for Statistical Complexity is wrong HOT 1
- `eachindex` for `Probabilities` is ambiguous HOT 3
- Signature for `Counts` and `Probabilities` docstrings has the wrong type parameter order HOT 3
- Missing deprecation for `OrdinalPatterns{m}(; τ)` HOT 10
- Some documentation issues for CI HOT 2
- The function `lt` in `OrdinalPatternEncoding` isn't actually used HOT 1
- Reproducibility for `OrdinalPatternEncoding` HOT 3
- It shouldn't be possible to construct an empty `CombinationEncoding` HOT 3
- Feature: "distribution entropy" HOT 3
- Feature: bubble entropy (description is WIP) HOT 4
- Feature: "increment entropy" HOT 1
- Feature: "attention entropy"
- `missing_probabilities` HOT 1
- `counts_and_outcomes` for `BubbleSortSwaps` should also accept state space sets
- Syntax with type parameter `{m}` in `OrdinalPatterns` is not harmonious with the rest of the library HOT 10
- Encoding using `Dispersion` is slower than necessary due to manual integration for normal cdf
- Encoding complex-valued data HOT 2
- [Q] How to calculate MI between two vectors? HOT 3
- Latest stable documentation has an error in the `StatisticalComplexity` docstring HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from complexitymeasures.jl.