-
Notifications
You must be signed in to change notification settings - Fork 13
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
mutualinfo with KSG1/KSG2's results different from scikit-learn and about 2x slower for large arrays #367
Comments
Hey, @liuyxpp! Thanks for the report. Can you report back the output of
using Random; rng = MersenneTwister(1234)
using CausalityTools, BenchmarkTools
x = rand(rng, 10000)
y = rand(rng, 10000)
mutualinfo(KSG1(), x, y) # run once for precompilation
@btime mutualinfo(KSG1(), $x, $y) # now time it If the performance gain is also evident after testing properly with
|
@liuyxpp Also: are you running also sort of multithreading for the Python code? |
It would also be nice to see whether this apparent performance difference is also true for higher dimensional data. In the Ross paper which is linked in the python docs, they use a specialized fast implementation for 1D data. Could you try it out with two large 3D datasets, for example? |
In Python + scikit-learn
In Julia + CausalityTools
The results are clearly different. In addition, in scikit-learn, if mi<0, 0 will be reported.
For running time, I have
In Python
In Julia
So, Julia implementation is much slower than Python implementation.
The text was updated successfully, but these errors were encountered: