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
joseph.lizier
b64b0c091d
Adding unit tester for TECalculatorMultiVariateKernel
2012-12-13 12:27:42 +00:00
joseph.lizier
faad3c82b2
Patched nats -> bits error as per Issue 12.
...
Fixed comments in MI calculator header.
Added log2 static value for TECommon to make code faster.
2012-12-13 09:13:44 +00:00
joseph.lizier
29f183e91d
Altered RandomGenerator.generateDistinctRandomInts() to return int[] instead of double[].
...
Added comments in CompleteTransferEntropyCalculator to clarify the meaning of offsets from other sources.
Added comments regarding entropy calculator
2012-12-03 05:04:00 +00:00
joseph.lizier
971c0f1760
Uploaded ConditionalMutualInformationCalculator after fixing the computeSignificance function. (untested so far however)
...
Patched bad unicode character in comments for EntropyCalculatorMultivariateKozachenko
2012-10-30 06:14:44 +00:00
joseph.lizier
731c17def1
Edited comments on MatrixUtils to talk about java-octave 2D matrix conversion issues
2012-10-25 14:08:27 +00:00
joseph.lizier
0332149b03
Addressing minor compile warning
2012-10-25 01:30:47 +00:00
joseph.lizier
839da1c81f
Refactored KernelEstimatorSingleVariate to be called UniVariate
2012-10-25 01:25:10 +00:00
joseph.lizier
997fe0fbef
Added AnalyticNullDistributionComputer and refactored the reference to it in MutualInfoCalculatorMultivariateGaussian
2012-10-25 01:14:55 +00:00
joseph.lizier
6e6a21f54b
Added utility to convert a 1D matrix to a 2D container in MatrixUtils.
...
Comment changes to other classes.
2012-10-25 00:47:59 +00:00
joseph.lizier
aa991901f6
Adding 3x XOR test case for MI discrete
2012-09-05 06:37:13 +00:00
joseph.lizier
65c7ac49a6
Adding folder for testing discrete calculators;
...
First version of unit tests for MI discrete
2012-09-05 06:24:47 +00:00
joseph.lizier
cda8689afb
Made sure all discrete calculators use log_2 to make answers in bits (some were still using log of base).
...
Merged usual and debug methods for computing average MI in discrete calculator
Added setDebug to super InfoMeasureCalculator
Cleaned up header of InfoMeasureCalculator
Adding TODO comments for Kraskov calculators
Bug fix on MutualInfoCalculatorMultiVariateWithDiscreteKraskov - we weren't normalising incoming observations for computing local MI properly, this is fixed now.
2012-09-05 06:23:48 +00:00
joseph.lizier
d9b6393a06
Bug fix (time index on locals) for Kraskov to discrete
...
Adding interpretation of functionality to header of Gaussian to discrete (that it says how much knowing the discrete variable reduces the variance of the continuous, without taking redundancy into account)
2012-08-17 09:40:36 +00:00
joseph.lizier
4a19b41a76
Adding tests for determinant via Cholesky decomposition, and more tests for MI by Gaussian method
2012-08-17 07:30:08 +00:00
joseph.lizier
07ce2d0e24
Added determinant computation via Cholesky decomposition for symmetric matrices (more efficient)
...
Utilising determinant computation via Cholesky decomposition in Gaussian entropy and MI calculators
Allowed ChannelCalculatorCommon.finaliseObservations() to throw Exceptions so that child classes can do so (in particular Gaussian MI needs to do so if it finds the variables are linearly dependent)
2012-08-17 07:28:50 +00:00
joseph.lizier
e79dc34efb
Added unit tests for MICalculatorMultiVariateWithDiscreteGaussian
2012-08-16 06:10:19 +00:00
joseph.lizier
af37fdf621
Added MatrixUtilsText (pulled some tests out of MathsUtilsTest which should have been here)
...
Added more tests for MI MultiVariate Gaussain
2012-08-16 05:42:49 +00:00
joseph.lizier
b978034f18
Added implementation for local entropy in EntropyCalculatorMultiVariateGaussian + bug fixes
...
Added MutualInfoCalculatorMultiVariateWithDiscreteGaussian
Added many javadoc comments
2012-08-16 05:40:29 +00:00
joseph.lizier
8129dbee7b
Updating javadoc comments in the code, a. to make them more explicit regarding the transfer entropy calculators, and specifically b. to show that addObservations does not append observation time series.
2012-08-08 05:33:13 +00:00
joseph.lizier
12e6f12147
Altered interal names of kernel width variables to be kernel width, instead of epsilon. This is more intuitive for users.
2012-08-07 07:49:23 +00:00
joseph.lizier
7159ecd4cc
Adding unit tests for MI Kernel and Gaussian calculators, to check that their average calculations do not change across calls to compute the statistical significance (where we clone the calculator to handle the surrogates).
2012-08-07 07:34:24 +00:00
joseph.lizier
c828445784
Pulled common functionality for MutualInfoMultiVariate Kernel and Gaussian into MutualInfoMultiVariateCommon (primarily adding multiple observations and computing statistical significance).
...
MutualInfoMultiVariateKernel now computes statistical significance based on shuffling the first variable (the source) in line with the description in ChannelCalculator.
This adds ability to add multiple observations for a MutualInfoMultiVariateKernel calculator also.
2012-08-07 07:32:52 +00:00
joseph.lizier
4b3c84cd22
Added test for Cholesky decomposition, inversion of symmetric positive-definite matrices, and normal PDF/CDF
2012-08-06 07:45:50 +00:00
joseph.lizier
d19045014a
Adding extra matrix utility functions to allow multivariate normal PDF to be calculated (including Cholesky decomposition, inversion of symmetric matrices), extra matrix multiplcation routines, etc.
...
Added routines in MathsUtils for uni- and multi-variate normal PDF and CDF (univariate only).
Implemented local MI for Gaussian MI. Pulled many routines into the MutualInfoMultiVariateCommon
2012-08-06 07:44:23 +00:00
joseph.lizier
364ebfeff7
Changing name of unit test for Gaussian Entropy calculator internally to file (step 2/2)
2012-08-01 12:18:31 +00:00
joseph.lizier
7bdac9542d
Changing name of unit test for Gaussian Entropy calculator
2012-08-01 12:15:16 +00:00
joseph.lizier
eee753bc0b
Adding unit tests for Chi Square distribution in MathsUtils and for Entropy Calculator Gaussian
2012-08-01 12:14:24 +00:00
joseph.lizier
6235fcbcf5
Adding analytic Chi Square measurement distribution
2012-08-01 12:12:58 +00:00