Commit Graph

89 Commits

Author SHA1 Message Date
joseph.lizier 1827ec23c2 Fixed lack of initialisation of MI calculators in Kraskov MI unit tests 2014-03-26 05:09:20 +00:00
joseph.lizier 12fc61d396 Moved Kraskov mutual info calculator multivariate to inherit from the common MI multivariate class, so as to share code for adding observations, statistical tests, etc. Passed unit testing. 2014-03-26 05:08:46 +00:00
joseph.lizier 06d0ddf07d Added functions to discrete Entropy calculators for single dimensional arrays, plus local values of MI for single supplied values and statistical signficance testing for Active info storage. 2014-03-26 04:08:44 +00:00
joseph.lizier 3e017d1be4 Added unit tests for Rearchitecting Active Info Storage calculators to use a common parent class for data collection. Mainly includes testing kernel AIS calculator against the older direct implementation of this (which is now moved into the unit test area only) 2014-03-26 04:07:13 +00:00
joseph.lizier 2571c3ae9e Rearchitected Active Info Storage calculators to use a common parent class for data collection, and underlying mutual information classes for the implementation specifics. Includes adding Kraskov and Gaussian Active Info Storage calculators, and implementing embedding delay for the past history. 2014-03-26 04:05:20 +00:00
joseph.lizier c949339574 Allowing comment lines starting with % character in ArrayFileReader 2014-01-31 11:32:20 +00:00
joseph.lizier 2b8ab0e939 Adding error check to constructor of discrete MI calculator;
and making method of generating random permutations more efficient (using native library).
2013-10-22 04:08:21 +00:00
joseph.lizier 5d0934bd85 Updating unit tests to reflect changes to discrete MI calculator and method of generating random permutations. 2013-10-22 04:06:58 +00:00
joseph.lizier 6fe22e39cb Added unit tests for new method generateRandomPerturbations(int, int) in RandomGenerator, and for sortIndices(double[]) method to MatrixUtils 2013-10-18 00:45:46 +00:00
joseph.lizier b4645584fe Added new method generateRandomPerturbations(int, int) to RandomGenerator, and switched all computeSignificance methods to use this (since there's no need for checking for distinct perturbations really, and this is much faster). Required adding sortIndices(double[]) method to MatrixUtils 2013-10-18 00:42:12 +00:00
joseph.lizier 1d5ae4a176 Added unit test for bug fix to computeSignificance() of ConditionalMutualInformationCalculator, simply to make sure it doesn't throw an exception 2013-10-17 13:20:42 +00:00
joseph.lizier c7b42e38ae Bug fix to computeSignificance() of ConditionalMutualInformationCalculator 2013-10-17 13:19:58 +00:00
joseph.lizier 8991b4176c Minor changes to method header comments 2013-09-10 22:50:30 +00:00
joseph.lizier 9c03691c09 Predictive information calculator unit tests added 2013-08-13 04:33:45 +00:00
joseph.lizier 7f48066b57 Predictive information calculator implementation made from active information storage 2013-08-13 04:33:18 +00:00
joseph.lizier 1c0e9098cc Extra unit test for Issue 16 2013-07-06 18:36:03 +00:00
joseph.lizier 68b0233e28 Extended fix to handle zero-covariance conditionals for handling linear redundancies amongst variables properly in ConditionalMICalculatorMultivariateGaussian - this contributes to resolution (closed) for Issue 16 2013-07-06 18:24:13 +00:00
joseph.lizier ce1a3b4b31 Extended fix to local cond MI values for handling linear redundancies amongst variables properly in ConditionalMICalculatorMultivariateGaussian - this resolves Issue 16 2013-07-06 13:54:02 +00:00
joseph.lizier 0907ed495e Handle linear redundancies amongst variables properly in ConditionalMICalculatorMultivariateGaussian. Still need to extend this to the local conditional MI values 2013-07-06 11:11:56 +00:00
joseph.lizier 524b277b54 Adding minor utility functions 2013-06-18 07:31:18 +00:00
joseph.lizier 75c36dc13a Adding common parent implementation of Conditional MI calculator from continuous to discrete variable, plus a linear-Gaussian implementation of it 2013-03-18 06:08:12 +00:00
joseph.lizier b17ba9b05c Minor alterations to utilities, including adding exceptions and adding to-do notes. 2013-03-18 05:55:43 +00:00
joseph.lizier a00b24019c Making linear-Gaussian implementation of Conditional MI calculator not normalise the data by default (after having made it a child class of the common conditional MI implementation, this had been switched on by default) 2013-03-18 05:52:36 +00:00
joseph.lizier ddf4aaecc5 Reconditioned Conditional MI with Discrete calculator Kraskov as a child class of Conditional MI with Discrete calculator Common 2013-03-18 05:49:00 +00:00
joseph.lizier 4bd22a0984 Reconditioned Conditional MI calculator Kraskov as a child class of Conditional MI calculator Common 2013-03-11 12:55:29 +00:00
joseph.lizier bc218e291c Added new unit test for Kraskov MI calculator against MILCA for large 10000 data points of dimension 5 in each x and y; added unit tests for digamma 2013-03-07 12:50:03 +00:00
joseph.lizier 16cc8e3db2 Patched digamma function for large k; added extra debug prints to Kraskov MI calculator 2 2013-03-07 12:46:52 +00:00
joseph.lizier cb2e0a2588 New unit tests for covariance calculation (inside conditional MI linear Gaussian), making analytic linear Gaussian signficance tests take the number of observations into account 2013-03-04 06:11:43 +00:00
joseph.lizier cd67da53a4 Patching linear Gaussian estimators to give empirical statistical significance given a certain number of observations.
Changed implementation of our conditional MI calculators Kraskov via algorithm 2 to my current interpretation of how this should be done.

Added a utility for lagged covariance in MatrixUtils
2013-03-04 06:08:38 +00:00
joseph.lizier 64f6986d45 Added single array addObservations routines for Complete TE calculator discrete. Removed duplicate copyIntoMatrix method from MatrixUtils (duplicated arrayCopy) 2013-01-23 00:45:01 +00:00
joseph.lizier 4671b15d61 Added more unit tests for Kraskov conditional MI against TRENTOOL (here for multivariate data, run with TRENTOOL as univariate TE but with history lengths k=2, l=2) 2013-01-22 03:37:42 +00:00
joseph.lizier afe224ab11 Added MatrixUtils.copyIntoMatrix utility function to copy part of one 2D matrix into another 2013-01-22 03:36:11 +00:00
joseph.lizier 111055fc81 Added unit tests for Kraskov Conditional MI against TEs computed by Wibral et al.'s TRENTOOL 2013-01-16 11:54:13 +00:00
joseph.lizier 9d36e5d9a6 Bug fix to debug prints in Kraskov Conditional MI calculators 2013-01-15 01:29:57 +00:00
joseph.lizier 6761de7e02 Added debug prints to Kraskov Conditional MI calculators 2013-01-15 01:14:13 +00:00
joseph.lizier 40e7d4b211 Added common unit tests for conditional MI calculators, and added implementations of the tests for Kraskov and Gaussian conditional MI calculators 2013-01-14 12:57:01 +00:00
joseph.lizier f466012556 Made Kraskov Conditional MI calculator implement the common Conditional MI interface 2013-01-14 12:51:34 +00:00
joseph.lizier 9b9abda733 Bug fix of computation of epsilon (box width) on conditional variable in Kraskov conditional MI calculator 2 2013-01-14 11:13:58 +00:00
joseph.lizier 3167944875 Adding interface for conditional mutual information (continuous) calculator, common methods for it, and implementation for Gaussian variables. 2013-01-12 13:43:43 +00:00
joseph.lizier 74ba272f41 Added unit test for covariance 2013-01-08 05:38:22 +00:00
joseph.lizier 030a172d82 Patched covariance calculation, added utils, patched analytic computation of distribution of MI with linear Gaussians, altered comments 2013-01-08 05:37:48 +00:00
joseph.lizier 8fe32003ab Adding more unit testing on Kraskov MI, including for dependent data sets 2012-12-20 13:23:52 +00:00
joseph.lizier b0bc89dcb1 Made the unit tests for Kraskov MI more streamlined; added unit test for multivariate MI 2012-12-20 10:40:42 +00:00
joseph.lizier 617880f9f5 Making Kraskov MI and higher order calculators use MAX_NORM in the marginal spaces by default (previously this had to be supplied via a property - it was the standard choice made, but was not the default). This aligns with the default specified in the Kraskov paper. 2012-12-20 10:38:03 +00:00
joseph.lizier 90c0f5a105 Renaming abstract unit test classes inside java files (missed these in previous commit) 2012-12-18 10:57:44 +00:00
joseph.lizier 74ebf27fa0 Renaming abstract unit test classes inside java files 2012-12-18 10:53:03 +00:00
joseph.lizier 653b511c24 Renaming abstract unit test classes as first step to avoid ant file running them (next commit will update names inside java files) 2012-12-18 10:51:30 +00:00
joseph.lizier 23f7f84eaa Added common functionality for unit testing multivariate MI calculators into an abstract class.
Added basic tester for Kraskov multivariate MI, including verifying against Kraskov MILCA tool
2012-12-18 10:34:41 +00:00
joseph.lizier a6e09c7fc4 Pulled some common functionality for testing multivariate TE calculators into an abstract class.
Added basic tester for Kraskov multivariate TE
2012-12-13 14:50:33 +00:00
joseph.lizier e789acd4dc Adding various comments
Patched bug in TECalculatorMultiVariateSingleObservationsKernel whereby only k*destDimensions dimensions of destPast were being considered (this is a problem where one wants to surreptitiously condition on extra variables).
2012-12-13 14:42:40 +00:00