-
Notifications
You must be signed in to change notification settings - Fork 14
Multiscale analysis #132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiscale analysis #132
Conversation
Codecov Report
@@ Coverage Diff @@
## main #132 +/- ##
==========================================
+ Coverage 76.03% 83.85% +7.82%
==========================================
Files 30 41 +11
Lines 776 960 +184
==========================================
+ Hits 590 805 +215
+ Misses 186 155 -31
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Oh damn, we really need to prioritize fixing the docbuild so that PRs become easier to review. I will review this later as I need to checkout locally and build docs locally. |
What do you mean? The preview docs are building just fine. They're here: https://juliadynamics.github.io/Entropies.jl/previews/PR132/ |
What the heeeeeeeeeelll why aren't they displayed in the CI checks as "deployed"??? There is typically one more entry after the docs CI build. Alright, perfect, thanks. Now I can have an actual review here (not right now, later) |
I have no idea why they're not displayed. They used to before. I'll see if I can decipher what's going on. |
Tests that fail are unrelated to this PR. Merging. |
A suggestion for a
multiscale
API.Fixes #102.
Multiscale methods are simple: they apply some entropy/complexity measure on successively more coarse-grained/downsampled time series, and return the computed measure per scale/downsampling level.
I propose the following function to compute multi-scale measures.
This function is similar to
entropy
, but adds a second argumentalg
, which is someMultiScaleAlgorithm
indicating how downsampling/coarse-graining is done. This generalises all the "multiscale-XYZ" methods found in the literature, where XYZ is some entropy, complexity measure, or combinations of various measures.EDIT: the following is outdated. Multiscale complexity will be taken care of in Complexity.jl.
In the current state of the PR, however, only multiscale entropies can be estimated (i.e. using a combination of some
Entropy
and aProbabilitiesEstimator
). Other complexity measures can't just as easily be added, because we have no common interfacecomplexity
that is analogous toentropy
. @ikottlarz, @Datseris should decide on how this interface should look before proceeding with this PR.Issue #133 tracks the discussion regarding a potential
complexity
interface. Alternatively, I'll have to implement a uniquemultiscale_X
function for each complexity measureX ∈ [
statistical_complexity,
sample_entropy,
reverse_dispersion,
missing_disp_patterns, ...]
(which I don't particularly like the idea of, when a solution like #133 would be much more elegant)