Commit Graph

110 Commits

Author SHA1 Message Date
joseph.lizier 7515b53a11 Adding MatrixUtils method for max entropy discretisation 2014-08-01 03:29:55 +00:00
joseph.lizier 71b5983e5b Added unit test for linear-Gaussian TE estimator against values produced from the Granger causality estimator of the ChaLearn Connectomics Challenge Sample Code. 2014-07-29 07:03:26 +00:00
joseph.lizier 01291c883a Added property to Kraskov MI for adding a random amount of noise to the data, to address situations with many identical values in the one variable (which causes problems with neighbourhood sizes) 2014-04-30 02:09:01 +00:00
joseph.lizier eef14a901b More info on error messages for wrong dimensions of data provided. 2014-04-30 01:30:22 +00:00
joseph.lizier e44f5b11ec OctaveMatrix class added, which modifies org.octave.Matrix (under GPLv3). 2014-04-29 01:33:31 +00:00
joseph.lizier b50384a302 Added methods for computeSignificance analytically (i.e. without bootstrapping) to the new Gaussian TE calculators (i.e. the Granger causality calculators), plus for directly assigning the joint covariance matrix for each calculator, and a debug method to access the computed determinants. 2014-04-23 02:07:29 +00:00
joseph.lizier b721dd79c0 Fixing compilation of moved unit test for mixed calculators package 2014-04-17 11:22:19 +00:00
joseph.lizier cce93f2d18 Moving (only) unit test for the mixed calculators package to reflect the package move 2014-04-17 11:21:12 +00:00
joseph.lizier 5a6fdb0ea7 Code edits to mixed calculators to fix compilation after moving them into the "mixed" package. Also needed to make some alternations to some of the continuous calculators to fix usage of protected members which are no longer accessible to the moved classes. 2014-04-17 11:10:58 +00:00
joseph.lizier 73ec340f44 Finalised moving mixed calculators into the new mixed directory. 2014-04-17 06:53:27 +00:00
joseph.lizier 91dbd9f772 Continuing to move mixed calculators into the new directory. Moving rest of interfaces from infodynamics.measures.continuous, as well as creating packages inside infodynamics.measures.mixed for the concrete implementations to come across. 2014-04-17 06:49:03 +00:00
joseph.lizier c253313724 Starting to move mixed calculators into the new directory. Testing first with Conditional MI one 2014-04-17 06:43:43 +00:00
joseph.lizier 926f22992e Added unit tests for conditional TE continuous calculators.
Added some more tests for TE Kraskov also.
2014-04-17 06:00:54 +00:00
joseph.lizier a63e104dc6 Removing the old MutualInfo "ByMulti" Kraskov multivariate MI implementations (they're just hanging around like garbage at the moment). Kept in my sandbox 2014-04-17 05:59:49 +00:00
joseph.lizier 83f7de5472 Added interface for ConditionalTransferEntropy. Added abstract implementation ConditionalTransferEntropyCalculatorViaCondMutualInfo, and child classes for Kraskov and Gaussian implementations.
Added associated embedding method to MatrixUtils, and fixed a lot of header comments here. Minor fixes to comments and which methods are specified (e.g. setProperties) for TransferEntropy and Entropy calculators.
2014-04-17 05:58:13 +00:00
joseph.lizier 7d95954c55 Patched bug in interface for old Kernel AIs calculator (now in unit tests) 2014-04-08 11:27:10 +00:00
joseph.lizier 9cad2737af Added unit tests for TransferEntropyCalculatorMultiVariateViaCondMutualInfo and derived classes for Kraskov and Gaussian estimators. 2014-04-08 11:21:40 +00:00
joseph.lizier 7a40b433b7 Added TransferEntropyCalculatorMultiVariateViaCondMutualInfo to facilitate estimation of multivariate TE by an underlying conditional mutual information calculator. Added linear-Gaussian TE estimator using this. Switched Kraskov multivariate TE estimator from a two MI estimator to use an underlying conditional mutual information calculator; removed old Kraskov "ByMulti" classes now. Removed some initialisation routines for TransferEntropyCalculatorViaCondMutualInfo so they tie in ok. 2014-04-08 10:41:49 +00:00
joseph.lizier b81ccccee1 Added unit tests for TransferEntropyCalculatorViaCondMutualInfo implementations: Gaussian simply tests the computeStartAndEndTimePairs; Kraskov tests against TRENTOOL. 2014-04-07 05:33:30 +00:00
joseph.lizier fd9bf116f9 Added TransferEntropyCalculatorViaCondMutualInfo to allow calculation of TE via any implementation of a conditional MI calculator. Added concrete implementations using this for Gaussian estimators (Gaussian TE estimator is equivalent to Granger causality). Replaced existing Kraskov TE calculator (which used two MI calculators) with one which uses one conditional MI estimator via this new method. Also patched TransferEntropyCommon.computeStartAndEndTimePairs 2014-04-07 05:31:52 +00:00
joseph.lizier c5402e8c48 Added ActiveInfoStorageCalculatorViaMutualInfo to allow calculation of AIS via any implementation of an MI calculator. (Forgot to add this before -- its child classes are already committed). 2014-04-04 06:02:04 +00:00
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