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
joseph.lizier
6bd3cb1661
Renamed lineargaussian package to gaussian (i got confused when i called it linear in the first place - this only is meaningful when we're working out the covariance matrix from the network structure, which isn't done here).
...
Part 2 - removing old directory, adding EntropyCalculatorMultivariate and MI calculator
2012-08-01 12:11:45 +00:00
joseph.lizier
05b3266037
Renamed lineargaussian package to gaussian (i got confused when i called it linear in the first place - this only is meaningful when we're working out the covariance matrix from the network structure, which isn't done here).
...
Part 2 - adding new files with package name change for Entropy
2012-08-01 07:43:03 +00:00
joseph.lizier
c0e98dd190
Renamed lineargaussian package to gaussian (i got confused when i called it linear in the first place - this only is meaningful when we're working out the covariance matrix from the network structure, which isn't done here). Part 1 - removing old files and creating new directory
2012-08-01 07:35:59 +00:00
joseph.lizier
9a86ee8152
Added classes for joint entropy and multivariate mutual information calculation with gaussian assumption.
...
Restructured MeasurementDistribution to have child classes EmpiricalMeasurementDistribution and AnalyticMeasurementDistribution - this resulted in many classes being altered.
Added ChiSquare distribution methods to MathsUtils.
Added more covariance methods to MatrixUtils.
2012-08-01 07:26:18 +00:00
joseph.lizier
6af2a5b0a1
Added more covariance methods to MatrixUtils.
...
Changed method signatures for initialisers for multivariate channel calculator (transfer entropy and mutual information) classes to have source dimensions before destination dimensions, in line with the addObservations (etc.) methods.
2012-07-23 07:29:52 +00:00
joseph.lizier
680724dfd3
Forgot 0.5 factor in entropy for Gaussians
2012-07-20 12:35:49 +00:00
joseph.lizier
4bb762c119
Added implementation of differential entropy for Gaussian variables.
2012-07-20 12:33:23 +00:00
joseph.lizier
054044ccf6
Added doubleToIntArray() methods to allow Octave users to convert native double arrays to int arrays when required.
2012-07-18 05:22:12 +00:00
joseph.lizier
cc58bb377f
Added computeLocalUsingPreviousObservations(double[][], int[]) for MutualInfoCalculatorMultiVariateWithDiscreteKraskov
2012-07-17 02:33:05 +00:00
joseph.lizier
d58f212345
Added copy of GPL V3 to the top of the source tree (home page already states it's distributed under GPLv3)
2012-06-15 04:09:49 +00:00
joseph.lizier
ae5fda1807
Cleaned up comments around use of factory method (now not required) for constructing discrete calculators
2012-06-13 06:55:05 +00:00
joseph.lizier
56d868ca00
Uploading whole of Java Information Dynamics toolkit for the first time.
2012-05-08 00:18:37 +00:00