Commit Graph

223 Commits

Author SHA1 Message Date
jlizier c311067fe6 Extending unit test for multivariate TE calculator to compare ensemble and setObservations methods 2017-03-24 23:27:53 +11:00
jlizier 62069dab16 Added several utilities for selecting columns to MatrixUtils 2017-03-23 14:31:38 +11:00
jlizier bf3f26cf18 Patching TE Calculator Multivariate via conditional mutual info, which was not running (at all) for proper multivariates. Now splits the handling of solely univariate data from multivariates. 2017-03-23 14:31:03 +11:00
jlizier eb83262172 Add an analytic MI surrogate distribution computation to the Linear-Gaussian Active Information Storage estimator 2017-03-23 14:29:16 +11:00
jlizier 1e982ddbac Adding computeLocalFromPreviousObservations() calls for univariate time series to the ConditionalTransferEntropyCalculatorDiscrete (I'm not sure why they were missing) 2016-11-22 20:59:12 +11:00
jlizier b0d48bc96c Unit tests for conditional MI on new observations, and for no conditionals 2016-10-20 09:29:56 +11:00
jlizier 9a7ff306c8 Adding utilities for fast nearest neighbour searchers to handle calculations on new samples and prepare for conditional MI fast surrogates computation 2016-10-20 09:26:12 +11:00
jlizier 05beb63e58 Added unit test for AND function 2016-10-18 15:05:28 +11:00
jlizier 4cac043aff Added unit test for TE continuous getSeparateNumObservations (in Kraskov class) 2016-10-18 15:05:15 +11:00
jlizier e2182c40c2 Update to AIS kernel direct class in unit tests to align with update to AIS interface definition 2016-10-18 15:04:42 +11:00
jlizier 3118e57384 Making conditional MI calculators (continuous) handle empty conditionals, and properly normalise new data according to the old (except for linear Gaussian calculator, which explicitly bars normalisation now). 2016-10-18 13:21:29 +11:00
jlizier e0fb7de856 Added auto-embedding method for AIS and TE Kraskov (KSG) calculators which maximises the bias-corrected AIS. This commit includes the AIS and TE calculators themselves, an update to the TE auto analyser (with comments on the auto embed method property) 2016-10-18 12:52:31 +11:00
jlizier 0ed74612a7 Altering kernel estimator classes so that the return values for getProbability are proper probability densities rather than probabilities (by now dividing by the kernel diameter/volume). This patches the EntropyCalculatorKernel and the EntropyCalculatorMultiVariateKernel to properly return differential entropy, as advertised. Makes no difference to the MI and TE kernel calculators, as they use counts anyway rather than probability densities. 2016-10-18 11:56:38 +11:00
jlizier 7d28e93913 Bug fix in mixed Kraskov implementation for computeUsingPreviousObservations (picked up by Rose Wang). Also acknowledged that this implementation is (mostly) as per Ross 2014. 2016-10-18 00:18:37 +11:00
jlizier 9785e2a71f Enabled Active Info Storage calculators (continuous) to have addObservations() methods with validity supplied 2016-10-18 00:11:33 +11:00
jlizier 16239d3c3e Added method getSeparateNumObservations() to return a list of how many samples were pulled from each addObservations call, to make reconstructing/separating local values easier subsequently 2016-10-18 00:00:31 +11:00
jlizier 08d380398b For MultiInfoCalculatorDiscrete added simple interface for adding joint observations 2016-10-17 16:32:18 +11:00
jlizier 77cf8e5f8e Major update to TransferEntropyCalculatorDiscrete so as to implement arbirtray source and dest embeddings and source-dest delay. Also included are associated unit tests, and modifications to MatrixUtils to support these. 2016-10-17 16:22:59 +11:00
joseph.lizier dbd1dcdd54 Fixing the bias correction on our experimental discrete-continuous KSG calculators 2015-07-19 17:19:59 +00:00
joseph.lizier f6c8d26bf8 Minor fixes to default values of TE calculator properties, and adding error messages for array file reading 2015-07-09 14:38:23 +00:00
joseph.lizier e727233bc0 Updating unit tests for small noise being default now in KSG calculators. (The update sets noise level to 0 wherever we are checking repeated calculations, or comparing to results from other toolkits). Verifies Issue 42 fix 2015-06-16 12:30:19 +00:00
joseph.lizier bb587fa345 Also allowing the KSG calculators noise property to be set to "false" to indicate 0 noise. 2015-06-16 12:27:56 +00:00
joseph.lizier c4fc334c3a Adds a small (1e-8) amount of noise to all data for the Kraskov calculations by default. Fixes Issue 42. 2015-06-16 12:01:41 +00:00
joseph.lizier a028fe4a4e Adding getProperty method to debug class so it compiles 2015-06-05 14:42:06 +00:00
joseph.lizier b45ada1d94 Added unit tests for Kraskov TE auto embedding via Ragwitz criteria -- verifies Issue 38. Also adds further tests for AIS auto embedding. 2015-06-05 06:51:23 +00:00
joseph.lizier 90fd9fbe89 Adding auto embedding via Ragwitz criteria for Kraskov Transfer Entropy calculator. This fixes Issue 38.
Also patched AIS calculator to handle observations supplied with validity indicator when auto embedding is undertaken.
2015-06-05 06:50:03 +00:00
joseph.lizier 8393429e26 Adding unit tests for AIS Kraskov for auto-embedding as part of partial fix for Issue 38 2015-06-04 13:59:31 +00:00
joseph.lizier 62228651bc Adding getProperty() method to all conditional MI calculators and TE calculators (except for multivariate versions at this stage), in readiness for automated embedding being added to TE Kraskov to partially fix Issue 38 2015-06-04 04:27:23 +00:00
joseph.lizier 687978103c Added auto-embedding with Ragwitz criteria to AIS Kraskov calculator, partially addressing Issue 38. Also adds getProperty() method to AIS calculators and MI calculators. 2015-06-04 03:48:55 +00:00
joseph.lizier b4b94b1940 For Interregional Transfer demo, adding option for data files to be specified on command line 2015-05-28 02:43:34 +00:00
joseph.lizier f0cbb61197 Fixing Javadoc commentsin MI calculators 2015-02-05 23:39:22 +00:00
joseph.lizier 79db42274c Added methods for computing MI/TE etc in Multivariate calculators on only univariate time series (double[]) when the calculators have been initialised for dimension 1 in source and destination 2015-01-23 03:11:35 +00:00
joseph.lizier a6f0e2d2ed Added new unit test for KdTree to check validity of counting neighbours when one variable has been pre-checked, and different radii are used for each variable. Verifies issue 39. 2015-01-21 12:28:19 +00:00
joseph.lizier 21d1e68ba7 Bug fix for Kraskov conditional MI algorithm 2 -- kdTrees for var1 and conditional, as well as var2 and conditional, were only being passed the radii for var1 (or var2) but not the radius of the conditional as well. This doesn't seem problematic at face value, however in traversing the tree the wrong radius was being used at levels corresponding to the conditional(s) in checking those nodes and determining whether their children needed to be traversed as well. Patched by implementing a new method in KdTree to take all radii in the situation where one variable has already been checked. Fixes issue 39. 2015-01-21 12:23:09 +00:00
joseph.lizier 33ea4f6136 Unit tests for Dynamic correlation exclusion, or Theiler window, in all Kraskov estimators, plus direct validation against values from using Theiler window in TRENTOOL. Validates issue 35 2014-11-25 12:34:49 +00:00
joseph.lizier 733da8265d Dynamic correlation exclusion, or Theiler window, added to all Kraskov estimators, i.e. Mutual Info, Conditional MI, Multi-info, and thereby the derived classes including transfer entropy. Fixes issue 35 2014-11-25 12:31:44 +00:00
joseph.lizier ab1d0e0c94 Minor debug print change to unit test 2014-11-14 10:30:46 +00:00
joseph.lizier 82ff884b99 Explicitly setting return array values in Kraskov conditional MI calculator algorithm 2. 2014-11-14 10:27:48 +00:00
joseph.lizier 24a0566fd4 Patching bug in digamma function which is susceptible to race condition in multi-threaded applications. Also explicitly setting return array values in Kraskov calculators. 2014-11-14 10:24:53 +00:00
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