Joseph Lizier
|
ec8e7f848f
|
CMI common estimators utilising underlying nearest neighbour searchers holding different data sets separately (for dynamic correlation exclusion)
|
2023-10-09 13:15:56 +11:00 |
jlizier
|
2714650cfa
|
Amending Kraskov (KSG) MI estimators to have an experimental method to provide conditional entropy of the first variable given the second. Works by removing the Kozachenko Leonenko entropy of variable 1 from the MI, using the same kNN radii as the MI estimator. Includes Unit tests to provide some initial validation.
|
2022-06-16 21:29:29 +10:00 |
Joseph Lizier
|
0e33393cdc
|
Merge pull request #86 from pmediano/master
Thanks Pedro, and sorry to take so long to attend to this
|
2021-11-15 12:08:57 +11:00 |
Joseph Lizier
|
21ae0bdeaa
|
Fixing logic error in printing whether GPU calculation was falling back to CPU
|
2021-10-08 11:28:37 +11:00 |
Pedro Mediano
|
07883af734
|
Updated printed messages with cross-platform newline character.
|
2021-02-09 10:23:30 +00:00 |
Pedro Mediano
|
bc8c233e68
|
Added KSG implementation of various multivariate IT measures and unit tests.
|
2021-01-25 12:41:01 +00:00 |
Joseph Lizier
|
3222b5a629
|
Implementation and unit test for KSG MI calculation with new samples (both algorithms 1 and 2)
|
2020-10-30 16:21:10 +11:00 |
Joseph Lizier
|
0606f8ab39
|
Cleaning up CMI Kraskov for new samples, including fixing some comments, logic of not using GPU for this, and if no conditional counting all point as a conditional match
|
2020-10-30 16:19:31 +11:00 |
Joseph Lizier
|
fce1b34a5c
|
Adding NORMALISE and NOISE_LEVEL_TO_ADD properties to all conditional mutual information calculators for continuous-valued data (extends this capability from only KSG to Gaussian as well)
|
2019-04-03 00:12:00 +11:00 |
Joseph Lizier
|
b1437452e4
|
Adding NORMALISE and NOISE_LEVEL_TO_ADD properties to all mutual information calculators for continuous-valued data (extends this capability from only KSG to Gaussian and kernel as well, the latter already had NORMALISE)
|
2019-04-02 12:38:17 +11:00 |
Pedro Martinez Mediano
|
c616ba55d4
|
Added link to wiki in GPU loader error message.
|
2018-11-25 19:25:33 +02:00 |
jlizier
|
8909c23fcc
|
Incorporated auto-embedding in the TE multivariate via conditional MI common class. Much of the code is moved up from the TE multivariate KSG estimator; now the functionality is provided for multivariate Gaussian as well. Also necessitated adding the max_cor_num_surrogates property to TE multivariate Gaussian, and took the opportunity to make much of the whitespace here consistent, and unit tests added for Gaussian (tweaked slightly for KSG)
|
2018-10-18 00:58:17 +11:00 |
jlizier
|
da418c31a0
|
Added new auto-embedding capability for TE Gaussian into the AutoAnalyser GUI demo. Also added new auto-embedding drop down option of Max corrected AIS + TE for KSG as well, and debugged the getProperty returning of the number of nearest neighbours for Ragwitz criteria now that this occurs in the common superclass instead of in KSG (and gave this a reasonable default of 4)
|
2018-10-17 14:23:20 +11:00 |
jlizier
|
a34bce25ba
|
Enabled auto-embedding for TE Gaussian. Did so by bringing up auto-embedding for TE functionality up from the KSG estimator to the via Conditional MI class. Also added new property to Gaussian TE for number of surrogates to use for bias correction in embedding (if not using analytic bias correction), like Gaussian AIS. This also necessitated adding an empty preFinaliseAddObservations() method to the TE Gaussian multivariate estimator, to ensure it did not yet try to autoembed until that is enabled in the multivariate calculator. Unit tests included here as well (included using more samples for TE KSG autoembedding to ensure we get the correct answer more reliably -- should probably add a stronger effect for that too).
|
2018-10-17 13:49:09 +11:00 |
jlizier
|
efb8243ed7
|
Altering TE Kraskov to do auto-embedding properly when we have added multiple observations with validity vectors. Also taking the opportunity to re-engineer the internals to lay groundwork for auto-embedding function to be shared with the Gaussian estimator at a later stage. Unit tests added here as well for the above.
|
2018-10-15 20:56:50 +11:00 |
jlizier
|
2ff6d8aeec
|
Added getProperty for AIS Kraskov multivariate. Need to re-engineer this class for proper code re-use anyway.
|
2018-10-15 14:38:46 +11:00 |
jlizier
|
908cf675a8
|
Added new constructor for TE Kraskov to pass in KSG algorithm number as an integer (It's not likely that it will be needed, but is there for completeness to match the AIS one)
|
2018-08-24 14:48:11 +10:00 |
jlizier
|
373ebbdd56
|
Enabling AIS KSG calculator to have underlying KSG algorithm changed via the "ALG_NUM" property
|
2018-08-24 14:47:21 +10:00 |
jlizier
|
643212840a
|
Making indenting style consistent through file
|
2018-05-18 08:56:47 +10:00 |
jlizier
|
e8603b08f8
|
Moving auto-embedding for AIS (Ragwitz and maximum bias-corrected AIS methods) from out of Gaussian and KSG calculators and into the common AIS calculator via MI class. The common implementation then allows us to introduce auto-embedding for the AIS kernel estimator as well (included requiring adding a property for the number of surrogates to use to compute the bias for this one).
These changes now incorporate auto-embedding for all AIS continuous calculators, partially addressing issue #38
|
2018-05-16 14:20:08 +10:00 |
jlizier
|
9552091fca
|
Adding Javadoc on header for neighbour counts method in KSG MI estimator 1
|
2018-05-15 17:28:39 +10:00 |
jlizier
|
860d43dbca
|
Adding additional error message for Exception during KSG Active Info Storage auto-embedding
|
2018-05-07 23:15:33 +10:00 |
jlizier
|
bf0062b902
|
Switching new debug method in KSG conditional MI calculator 1 to be publicly accessible
|
2018-04-26 11:43:04 +10:00 |
jlizier
|
7d76f82bb2
|
Adding partialNeighbourCountFromObservations() method to KSG conditional MI calculator 1 for debugging investigations into the neighbour counts
|
2018-04-26 11:24:56 +10:00 |
Pedro Martinez Mediano
|
df8eec27cd
|
Added MAX_CORR_AIS_AND_TE embedding to univariate KSG TE calculator.
|
2018-04-22 22:25:05 +01:00 |
Pedro Martinez Mediano
|
f8bca3275d
|
Fixed docs for new MAX_CORR_AIS_AND_TE embedding method.
|
2018-04-22 20:45:06 +01:00 |
Pedro Martinez Mediano
|
02dad26a94
|
Added brief mention of AUTO_EMBED_METHOD_MAX_CORR_AIS_AND_TE to javadocs.
|
2018-02-27 20:29:39 +00:00 |
Pedro Martinez Mediano
|
5f6671aa2b
|
Added AUTO_EMBED_METHOD_MAX_CORR_AIS_AND_TE to multivariate KSG TE.
|
2018-02-27 20:18:04 +00:00 |
Pedro Martinez Mediano
|
8be6a037af
|
Added auto-embedding methods to multivariate KSG TE calculator.
|
2018-02-25 19:23:09 +00:00 |
Pedro Martinez Mediano
|
ce4b1599c6
|
Added MAX_CORR_AIS embedding method to multivariate KSG AIS.
|
2018-02-25 18:57:15 +00:00 |
Pedro Martinez Mediano
|
64f1142b40
|
Added argument to choose which variable to reorder in GPU CMI code.
|
2017-12-19 20:42:58 +00:00 |
Pedro Martinez Mediano
|
65ac0e9ff8
|
Removed unnecesary overloaded method in KSG CMI calc.
|
2017-12-19 20:41:11 +00:00 |
Pedro Martinez Mediano
|
2f1cd192b8
|
Fixed small typo in Java KSG CMI calculator.
|
2017-12-18 17:50:37 +00:00 |
Pedro Martinez Mediano
|
d0304ae0c4
|
Added Java-side JNI functions and ensureKdTreesConstructed to KSG CMI.
|
2017-12-12 11:19:40 +00:00 |
Pedro Martinez Mediano
|
f4ca442de4
|
Now KSG MI calc does not build KdTrees if GPU is going to be used.
|
2017-12-12 11:10:50 +00:00 |
Pedro Martinez Mediano
|
d010f32635
|
Updated getProperty and removed spurious dependency in KSG MI calc.
|
2017-12-12 11:04:32 +00:00 |
jlizier
|
61f4bf3276
|
Adding getProperty lines to handle USE_GPU property for KSG MI calculator
|
2017-11-27 09:26:19 +11:00 |
Pedro Martinez Mediano
|
446ac4ae59
|
Merge branch 'master' into gpu
|
2017-11-21 14:58:15 +00:00 |
Pedro Martinez Mediano
|
ed71502bc2
|
Remove old cudaLibraryLoad code and unnecessary dependencies.
|
2017-08-31 16:22:12 +01:00 |
jlizier
|
b2e3ae1ca0
|
Added missing getProperty() method to Conditional TE calculator Kraskov
|
2017-08-23 00:19:09 +10:00 |
jlizier
|
086bee5945
|
Making continuous MultiInfoCalculator classes implement the InfoMeasureCalculatorContinuous interface. For the interfaces, this means removing methods where duplicated. For implementing classes, this means adding the missing methods.
|
2017-08-18 23:42:43 +10:00 |
jlizier
|
a2b9939892
|
Merge branch 'master' of github.com:jlizier/jidt
to combine local changes with Pedro's GPU pull
|
2017-06-13 12:08:54 +10:00 |
jlizier
|
77f4c1afd5
|
Added partialNeighbourCountFromObservations() method for Leo's analytic work on neighbour counts
|
2017-06-13 12:04:41 +10:00 |
Pedro Martinez Mediano
|
d0b35b3db8
|
Added NativeUtils for native lib loading and included libKraskov.so in jar.
|
2017-06-01 20:34:23 +10:00 |
Pedro Martinez Mediano
|
834a3ec2c2
|
Relocated GPU code and modified build and load paths accordingly.
|
2017-06-01 17:22:42 +10:00 |
Pedro Martinez Mediano
|
2a203faa23
|
Added support for Theiler exclusion window in JNI code.
|
2017-05-31 04:19:49 +10:00 |
Pedro Martinez Mediano
|
bc44e4c2fb
|
Main workflow now operates using only device functions.
This saves time and energy by keeping all data in te GPU, rather than
transfering it back and forth all the time.
|
2017-05-31 02:38:44 +10:00 |
Pedro Martinez Mediano
|
85dd28d13b
|
Separated digamma and reduction into host and device functions.
|
2017-05-31 02:36:45 +10:00 |
Pedro Martinez Mediano
|
7a89dd7908
|
Modified handling of normFunction and replaced signallength with signalLength.
|
2017-05-31 02:35:11 +10:00 |
Pedro Martinez Mediano
|
6c25ea93ef
|
Added functions to allocate and free all the GPU memory at once.
|
2017-05-31 02:31:37 +10:00 |