Commit Graph

38 Commits

Author SHA1 Message Date
Pedro Martinez Mediano d0b35b3db8 Added NativeUtils for native lib loading and included libKraskov.so in jar. 2017-06-01 20:34:23 +10:00
Pedro Martinez Mediano 834a3ec2c2 Relocated GPU code and modified build and load paths accordingly. 2017-06-01 17:22:42 +10:00
Pedro Martinez Mediano 2a203faa23 Added support for Theiler exclusion window in JNI code. 2017-05-31 04:19:49 +10:00
Pedro Martinez Mediano 492cfe8b53 Added Java+JNI support for surrogate reorderings. 2017-05-23 16:19:33 +10:00
Pedro Martinez Mediano f2d6674a4f Added a few debug mode prints. 2017-05-23 05:13:57 +10:00
Pedro Martinez Mediano 001227c730 Added Java support for GPU surrogate calculation. 2017-05-22 15:03:32 +10:00
Pedro Martinez Mediano cc47398d50 Remove spurious print statement. 2017-05-19 17:53:40 +10:00
Pedro Martinez Mediano b26695bf8a Separated main KraskovMI computation from JNI bridge. First steps towards GPU surrogates. 2017-05-19 12:39:17 +10:00
Pedro Martinez Mediano 8dc6eced45 Added missing import statement. 2017-05-19 06:47:16 +10:00
Pedro Martinez Mediano d7fa6814dd Improved error handling when loading GPU library. 2017-05-19 06:14:31 +10:00
Pedro Martinez Mediano 57aa4e95ee Add new property for users to specify custom path to GPU library. 2017-05-19 06:01:45 +10:00
Pedro Martinez Mediano 004a7c7f17 Added separate ant tasks for GPU compilation, moved libraries to bin folder. 2017-05-18 02:49:31 +10:00
Pedro Martínez Mediano 5074c1b6f7 Initial commit of GPU code. 2016-03-13 01:15:19 +00:00
joseph.lizier bb587fa345 Also allowing the KSG calculators noise property to be set to "false" to indicate 0 noise. 2015-06-16 12:27:56 +00:00
joseph.lizier c4fc334c3a Adds a small (1e-8) amount of noise to all data for the Kraskov calculations by default. Fixes Issue 42. 2015-06-16 12:01:41 +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 f0cbb61197 Fixing Javadoc commentsin MI calculators 2015-02-05 23:39:22 +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 6ade6d4311 Adding fast nearest neighbour searcher for univariate data (uses only a sorted array rather than whole k-d tree). Adds an abstract nearest neighbour searcher so calling classes don't necessarily need to know whether they're dealing with uni or multi-variates. MI and conditional MI Kraskov altered to use this where possible. 2014-10-30 04:04:16 +00:00
joseph.lizier 1fb3735e58 Bug fix re issue 31 -- ensuring that kd trees get rebuilt for surrogate TE calculations. 2014-10-15 05:06:30 +00:00
joseph.lizier bc2783b971 Fixes issue 31 -- implementing fast nearest neighbour search for Kraskov MI using a k-d tree structure. 2014-10-15 04:48:09 +00:00
joseph.lizier 70bcc7c922 Mirrors multi-threading from Kraskov MI calculators to Kraskov conditional MI calculators, and so fixes issue 29. Also adds some minor modifications to multithreading code for Kraskov MI calculators. 2014-09-16 01:36:39 +00:00
joseph.lizier 0db37c9160 Making multithreading on Kraskov MI calculators the default (using all available processors), and also adding some more debug statements. 2014-09-12 12:10:42 +00:00
joseph.lizier 957adeccd5 Fixes issue 28 - achieves multithreading on Kraskov MI calculators, merging code from Ipek and altering the design. Also partially addresses issue 24 by switching digamma for large arguments over to commons.math 2014-09-12 07:35:05 +00:00
joseph.lizier 6e100c65d0 Added property for Kraskov Conditional MI calculator to add a small amount of noise to the input data. For Kraskov MI calculator, changed this to add the noise in after the data is (potentially) normalised, so the magnitude corresponds to a number of standard deviations of the original data. 2014-09-11 03:43:40 +00:00
joseph.lizier 4f8137b449 Minor corrections to Javadocs for the continuous package 2014-08-13 15:20:00 +00:00
joseph.lizier bc40fb4125 Kraskov estimators switched to use 4 nearest neighbours by default (as recommended by Kraskov et al.) 2014-08-13 02:41:25 +00:00
joseph.lizier 786784e83c Javadocs made release-ready in the continuous.kraskov package. 2014-08-13 02:36:09 +00:00
joseph.lizier 6709163afd Adding GPLv3 license statement to all code headers in the infodymamics.measures.continuous.kraskov, symbolic and discrete packages (continuing ...) 2014-08-06 05:43:16 +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 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 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 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 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 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 56d868ca00 Uploading whole of Java Information Dynamics toolkit for the first time. 2012-05-08 00:18:37 +00:00