-
Notifications
You must be signed in to change notification settings - Fork 7
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
Mutual information between two timeseries? #33
Comments
Hi @heliosdrm , have you seen this message? If you don't have time to do anything, would be still good to just say that, so I know that you have seen this and then try to do things on my own. |
@Datseris In CausalityToolsBase, I define The current implementation of the mutualinformation function here is based on binning. It would be nice if I am also currently working on symbolic estimators for transfer entropy over in CausalityTools.jl, which uses different variants of permutation entropy. It would be straight-forward to customize these estimators for delayed MI. If you're interested, I can attempt a PR. What I am imagining is something like this:
If desired, I can start a PR with an api and contribute the permutation-based methods, and someone else can take care of the binning-based methods? |
yeah I've been thinking about that and i think it is worth combining effforts. The method here uses binning, correct, but it is an optimized version because it can only do the self mutual information with time delay. But I was wondering that in CausalityTools.jl you would have a mutual information calculation anyway, right? So we could potentially use this version for the 2 timeseries version. Is it in TransferEntropy.jl ? |
entropy(x, method::EntropyEstimator) |
@kahaaga I think it is worth also exposing the interface probabilities(x, method::EntropyEstimator) # customized rectangular binning that simply calculates the propabilities |
and for clarity perhaps we should be using |
To get the (unordered) probabilities for my marginal probabilities(x, est::ProbabilitiesEstimator) I am understanding you correctly? |
yeah, but for me |
I think we're speaking of the same thing.
|
Hi @heliosdrm ,I am wondering... We have this great Mutual Information function. At the moment I have two timeseries x, y and I want to calculate the mutual information between x and y delayed by τ.
At the moment I am using "InformationMeasures", but I am not really happy with that package. It has bad syntax, and doesn't even have a project toml... I want to get rid of it and add such a method here. I was thinking of copy pasting their code here and making it drastically smaller and with simpler syntax, but first I should ask you: is it possible to add mutual information here between two timesries, given the method you have written?
(to clarify: I don't have a good idea how to get mutual info from two variables, besides doing all the histograms from scratch. that's why I use a package)
The text was updated successfully, but these errors were encountered: