Commit Graph

184 Commits

Author SHA1 Message Date
joseph.lizier 7ee34fd8a1 Minor new debug prints in unit tests 2014-11-04 00:57:55 +00:00
joseph.lizier ba537e948a Enhancements to fast nearest neighbour searching for conditional mutual information; utilises points found matching the conditional search criteria in the joint conditional with var1 and var 2 searches. 2014-11-04 00:57:26 +00:00
joseph.lizier 12faf78200 New unit tests for new methods in nearest neighbour search classes to return collections of points within ranges via arrays, and to use additional criteria in searching or take arguments for one variable that has already been tested. 2014-11-03 04:58:14 +00:00
joseph.lizier 57fafd1551 Adding more methods to nearest neighbour search classes to return collections of points within ranges via arrays, and to use additional criteria in searching or take arguments for one variable that has already been tested. Utilising these new searches within Conditional MI Kraskov estimator algorithm 1 2014-11-03 04:57:24 +00:00
joseph.lizier 758d9dc0c9 Unit test for inlining norms in Nearest Neighbour search classes, and adding methods to return Collections of points within ranges 2014-10-31 12:04:12 +00:00
joseph.lizier 32c062f880 Inlining norms in Nearest Neighbour search classes, and adding methods to return Collections of points within ranges 2014-10-31 12:02:54 +00:00
joseph.lizier 390e1cc6be Adding more debug prints to TE unit test 2014-10-30 04:40:13 +00:00
joseph.lizier 769bf1a15d Unit tests for Kraskov predictive information calculator. Also defines an abstract PI tester. 2014-10-30 04:27:46 +00:00
joseph.lizier 9aa0e9ca0e Unit tests for Kraskov multi-info calculators using fast neighbour search and common multi-info class. Additional mutual info unit test added also on larger data set, and unit tests for the UnivariateNearestNeighbourSearcher. 2014-10-30 04:24:42 +00:00
joseph.lizier 2a56301b75 Kraskov multi-info calculators use fast neighbour search and common multi-info class. 2014-10-30 04:21:12 +00:00
joseph.lizier ed6150c6a3 Additional operations added to multi-info interface for continuous data, and pulled common operations into a common class (revamped Kernel calculator rewritten to use this) 2014-10-30 04:18:04 +00:00
joseph.lizier 6ade6d4311 Adding fast nearest neighbour searcher for univariate data (uses only a sorted array rather than whole k-d tree). Adds an abstract nearest neighbour searcher so calling classes don't necessarily need to know whether they're dealing with uni or multi-variates. MI and conditional MI Kraskov altered to use this where possible. 2014-10-30 04:04:16 +00:00
joseph.lizier bf94191282 Fixes issue 34 -- adds predictive information calculators for continuous variables; interface definition, common code via abstract mutual information calculator, and implementations for Gaussian, kernel and KSG estimators. 2014-10-16 00:31:41 +00:00
joseph.lizier 0849db5312 Additional unit test to verify issue 32 -- for neighbour search within different radii for each variable to the k-d tree class. 2014-10-15 10:42:32 +00:00
joseph.lizier 9ef43ae753 Verifies issue 32 -- adds unit test for neighbour search within different radii for each variable to the k-d tree class. This is used for fast neighbour search to Kraskov conditional MI calculators (and by implication to TE calculators). Existing unit tests for these calculators complete the verification. 2014-10-15 10:39:11 +00:00
joseph.lizier 9c05f4693a Fixes issue 32 -- adds fast neighbour search to Kraskov conditional MI calculators (and by implication to TE calculators). Requires adding a neighbour search within different radii for each variable to the k-d tree class. 2014-10-15 10:36:58 +00:00
joseph.lizier 58c812db4e Validation of bug fix re issue 31 -- unit test to ensure that surrogate TE calculations are different to the real calculation 2014-10-15 05:07:14 +00:00
joseph.lizier 1fb3735e58 Bug fix re issue 31 -- ensuring that kd trees get rebuilt for surrogate TE calculations. 2014-10-15 05:06:30 +00:00
joseph.lizier f09cc221a4 Verifies issue 31 -- adding unit tests for KdTree structure (in conjunction with existing unit tests for the results of MI calculations) 2014-10-15 04:49:40 +00:00
joseph.lizier bc2783b971 Fixes issue 31 -- implementing fast nearest neighbour search for Kraskov MI using a k-d tree structure. 2014-10-15 04:48:09 +00:00
joseph.lizier feb0f320ae Minor updates to javadocs regarding Active Info Storage Calculators. 2014-09-16 03:27:28 +00:00
joseph.lizier 5d16028f5b Fixes issue 13 -- by adding normalise option to Kraskov multi-information. Also Fixes issue 26 -- by adding a property for adding noise to the data (which was already done for Kraskov MI and conditional MI) 2014-09-16 01:55:22 +00:00
joseph.lizier 78852bcf2a Validates issue 29 with unit tests for multi-threading of Kraskov conditional MI calculators. Also adds more substantial unit tests for Kraskov transfer entropy compared to TRENTOOL results. 2014-09-16 01:41:36 +00:00
joseph.lizier 70bcc7c922 Mirrors multi-threading from Kraskov MI calculators to Kraskov conditional MI calculators, and so fixes issue 29. Also adds some minor modifications to multithreading code for Kraskov MI calculators. 2014-09-16 01:36:39 +00:00
joseph.lizier 0505641479 Unit tests which Validates issue 28 with unit tests for multithreading on Kraskov MI calculators. 2014-09-12 12:16:43 +00:00
joseph.lizier 0db37c9160 Making multithreading on Kraskov MI calculators the default (using all available processors), and also adding some more debug statements. 2014-09-12 12:10:42 +00:00
joseph.lizier 957adeccd5 Fixes issue 28 - achieves multithreading on Kraskov MI calculators, merging code from Ipek and altering the design. Also partially addresses issue 24 by switching digamma for large arguments over to commons.math 2014-09-12 07:35:05 +00:00
joseph.lizier 6e100c65d0 Added property for Kraskov Conditional MI calculator to add a small amount of noise to the input data. For Kraskov MI calculator, changed this to add the noise in after the data is (potentially) normalised, so the magnitude corresponds to a number of standard deviations of the original data. 2014-09-11 03:43:40 +00:00
joseph.lizier 0767e2e57e Tweaks to javadocs 2014-08-14 06:26:06 +00:00
joseph.lizier 916b6d5c34 Small javadoc modification 2014-08-14 05:57:20 +00:00
joseph.lizier 14645d0621 Appending suffix "Discrete" to all discrete calculators. Step 4 -- refactoring within unit tests 2014-08-14 03:31:58 +00:00
joseph.lizier 76a274094f Appending suffix "Discrete" to all discrete calculators. Step 3 -- refactoring java files for Separable info. All done for source code now 2014-08-14 03:05:28 +00:00
joseph.lizier f2c5ba4771 Appending suffix "Discrete" to all discrete calculators. Step 2 -- refactoring java files, which has flow on effects to other java files. All fixed here. 2014-08-14 03:00:15 +00:00
joseph.lizier 752b2fdb23 Appending suffix "Discrete" to all discrete calculators. Step 1 -- just changing file names 2014-08-14 02:43:31 +00:00
joseph.lizier e7b8958fda Adding package-info.java files for Javadocs for the various packages 2014-08-13 15:36:10 +00:00
joseph.lizier 4f8137b449 Minor corrections to Javadocs for the continuous package 2014-08-13 15:20:00 +00:00
joseph.lizier b68d77e18e Rudimentary Javadocs completed for the utils package 2014-08-13 15:18:47 +00:00
joseph.lizier b916ac08e8 Javadocs noted as incomplete, and indeed the code itself experimental, for mixed package. 2014-08-13 14:53:57 +00:00
joseph.lizier 8ea3368224 Javadocs finalised for discrete package. Also added some new methods to ChannelCalculator, SingleAgentMeasure, EntropyRateCalculator, ActiveInfoStorageCalculator made to inherit/extend from SingleAgentMeasureInContextOfPastCalculator. 2014-08-13 14:42:56 +00:00
joseph.lizier 1ecdd8829f Extra imports to fix Javadoc references 2014-08-13 03:48:54 +00:00
joseph.lizier 0e598bf81e In mixed.kraskov estimators switched to use 4 nearest neighbours by default (as recommended by Kraskov et al.), and Kraskov2 algorithm for conditional MI fixed to match Wibral et al. equation (as per the continuous calculator) 2014-08-13 02:57:54 +00:00
joseph.lizier bc40fb4125 Kraskov estimators switched to use 4 nearest neighbours by default (as recommended by Kraskov et al.) 2014-08-13 02:41:25 +00:00
joseph.lizier 77680c04ad Javadocs made release-ready in the continuous.symbolic package. 2014-08-13 02:37:02 +00:00
joseph.lizier 786784e83c Javadocs made release-ready in the continuous.kraskov package. 2014-08-13 02:36:09 +00:00
joseph.lizier df196f115d Javadocs made release-ready in the continuous.kozachenko package. 2014-08-13 02:31:24 +00:00
joseph.lizier 4e676a1122 Javadocs made release-ready in the continuous.kernel package. Also renamed any "epsilon" variables to "kernelWidth" in most classes. 2014-08-13 02:30:39 +00:00
joseph.lizier fb4d6c423c Javadocs made release-ready in the continuous.gaussian package. 2014-08-13 02:24:02 +00:00
joseph.lizier edbe595032 Javadocs made release-ready in the continuous package. Also added computeLocalUsingPreviousObservations into ChannelCalculator and ChannelCalculatorMultiVariate (removed from MutualInfoMultivarate), and made the ViaCondMutualInfo classes not be abstract anymore, and moved embedding properties up into the main TransferEntropyCalculator interface 2014-08-13 02:18:33 +00:00
joseph.lizier 26c98df75c Correcting Conditional MI Calculator Kraskov algorithm 2 in line with Wibral et al.'s equation correcting how this should be done. 2014-08-12 05:24:54 +00:00
joseph.lizier a22c0d7629 Removing MultiInfoCalculatorWithMarginals since it's not used anywhere and may simply be confusing for users. 2014-08-12 01:57:38 +00:00