Commit Graph

29 Commits

Author SHA1 Message Date
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 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 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 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
joseph.lizier bf94191282 Fixes issue 34 -- adds predictive information calculators for continuous variables; interface definition, common code via abstract mutual information calculator, and implementations for Gaussian, kernel and KSG estimators. 2014-10-16 00:31:41 +00:00
joseph.lizier e7b8958fda Adding package-info.java files for Javadocs for the various packages 2014-08-13 15:36:10 +00:00
joseph.lizier 4e676a1122 Javadocs made release-ready in the continuous.kernel package. Also renamed any "epsilon" variables to "kernelWidth" in most classes. 2014-08-13 02:30:39 +00:00
joseph.lizier 7803966168 Adding GPLv3 license statement to all code headers in the infodymamics.measures.continuous.gaussian, kernel and kozachenko packages (continuing ...) 2014-08-06 05:37:59 +00:00
joseph.lizier ab21895321 Correcting TE Kernel estimator's bias correction method to match Schreiber's approach to including contributions from other correlation sums when the full joint space has no neighbours. 2014-08-05 02:04:56 +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 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 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 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 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 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 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 839da1c81f Refactored KernelEstimatorSingleVariate to be called UniVariate 2012-10-25 01:25:10 +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 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 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 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 4bb762c119 Added implementation of differential entropy for Gaussian variables. 2012-07-20 12:33:23 +00:00
joseph.lizier 56d868ca00 Uploading whole of Java Information Dynamics toolkit for the first time. 2012-05-08 00:18:37 +00:00