Pedro Martinez Mediano
7fe8bf47cc
Added GPU digamma reduction to main workflow for single-chunk cases.
2017-05-24 22:19:36 +10:00
Pedro Martinez Mediano
e39afcd5b4
Fixed bug related to manual casting in digamma reduction kernel.
2017-05-24 22:19:07 +10:00
Pedro Martinez Mediano
3a68e27af8
Fixed bugs in single-chunk digamma reduction GPU code.
2017-05-24 22:18:04 +10:00
Pedro Martinez Mediano
3dd4f6b224
Added C unit tests for single-chunk GPU digamma reduction.
2017-05-24 22:16:18 +10:00
Pedro Martinez Mediano
b2c42563d0
GPU junit tests now run without debug mode to reduce printed statements.
...
The debug statements are left commented for future reference.
2017-05-24 22:14:46 +10:00
Pedro Martinez Mediano
991ef30a1e
Removed spurious array print.
2017-05-24 22:13:19 +10:00
Pedro Martinez Mediano
09548028e0
Merge remote-tracking branch 'ghub/master'. This merges Joe's v1.3.1 master into Pedro's master.
2017-05-24 20:24:32 +10:00
Pedro Martinez Mediano
3054461f7a
Add note for potential further optimisation.
2017-05-24 19:45:01 +10:00
Pedro Martinez Mediano
d17d8cad03
Add small utility script to profile parts of GPU code.
2017-05-24 19:20:54 +10:00
Pedro Martinez Mediano
8da0bfc17b
Fixed bugs in pointset arrangement. Inefficient but functional.
2017-05-24 18:52:37 +10:00
Pedro Martinez Mediano
39a5cadf06
RS functions now receive pointers to source/dest within pointset.
...
This helps with surrogate calculation and is convenient for later memory
optimisation.
2017-05-24 18:04:11 +10:00
Pedro Martinez Mediano
4cb9a9bb16
Fixed bug with surrogate digamma calculation.
2017-05-24 18:02:38 +10:00
Pedro Martinez Mediano
3c0ae81505
Added timers to kraskovCuda.c.
2017-05-24 17:28:20 +10:00
Pedro Martinez Mediano
1b1f4f9922
Added timers to gpuMILibrary.
2017-05-24 17:23:50 +10:00
Pedro Martinez Mediano
bb241ae415
Added timers to gpuKnnLibrary.
2017-05-24 17:13:26 +10:00
Pedro Martinez Mediano
63f26a60fa
Added Java+C tests for reorderings and random permutations.
2017-05-24 17:06:04 +10:00
Pedro Martinez Mediano
ff868bf79f
Added gpuWarmUp function to shorten latency in first GPU call.
2017-05-24 17:02:52 +10:00
Pedro Martinez Mediano
cced321abb
Renamed unit test source file.
2017-05-24 17:01:16 +10:00
Pedro Martinez Mediano
169c35e990
Makefile revamped. See comments:
...
- Added CUSTOMFLAGS to define flags from Make CLI.
- Separated and re-arranged C object targets.
- Added targets for test binaries.
2017-05-24 16:57:42 +10:00
Pedro Martinez Mediano
7d9d7ad135
Added MI calculation script for benchmarking purposes.
2017-05-24 15:48:19 +10:00
Pedro Martinez Mediano
3a64f2b926
Added lightweight inline timer for C functions.
2017-05-24 15:46:55 +10:00
Pedro Martinez Mediano
c33436e69a
Added Junit tests for surrogate reorderings.
2017-05-23 16:19:52 +10:00
Pedro Martinez Mediano
492cfe8b53
Added Java+JNI support for surrogate reorderings.
2017-05-23 16:19:33 +10:00
Pedro Martinez Mediano
4a31d3d7f1
Added C unit tests for surrogate reorderings.
2017-05-23 16:19:09 +10:00
Pedro Martinez Mediano
0b66c3a3f8
Added C support for arbitrary reordering of surrogates.
2017-05-23 16:18:16 +10:00
Pedro Martinez Mediano
f2d6674a4f
Added a few debug mode prints.
2017-05-23 05:13:57 +10:00
Pedro Martinez Mediano
a7cef7f87f
Added a few tests to check surrogate and pointset handling (more needed).
2017-05-23 02:11:02 +10:00
Pedro Martinez Mediano
f7706f72bb
Added missing includes and some test docs.
2017-05-23 02:10:31 +10:00
Pedro Martinez Mediano
0d555a34ca
Separated chunk v. surrogate logic and cleared terminology and JNI bridge.
2017-05-23 02:09:24 +10:00
Pedro Martinez Mediano
5ba6cd093e
Added proper source and header files for digamma implementation.
2017-05-23 02:06:08 +10:00
Pedro Martinez Mediano
9b455f7ef4
Added first few GPU performance tests to measure speed-up wrt CPU.
2017-05-22 15:05:43 +10:00
Pedro Martinez Mediano
001227c730
Added Java support for GPU surrogate calculation.
2017-05-22 15:03:32 +10:00
Pedro Martinez Mediano
118e32d9ad
Separated GPU MI unit tests to separate file.
2017-05-22 14:49:21 +10:00
Pedro Martinez Mediano
71589d1150
Added Java+C tests to check consistency of local MI calculations.
2017-05-19 18:20:03 +10:00
Pedro Martinez Mediano
ad3454cce3
Added a few unit tests for full MI calculation with surrogates.
2017-05-19 18:19:35 +10:00
Pedro Martinez Mediano
a11c1aa2eb
Changed extern properties of header files.
2017-05-19 18:19:13 +10:00
Pedro Martinez Mediano
cc47398d50
Remove spurious print statement.
2017-05-19 17:53:40 +10:00
Pedro Martinez Mediano
6e9ade6542
Separated core MI function to different files (and hacked Makefile).
2017-05-19 16:53:26 +10:00
Pedro Martinez Mediano
4b665d525f
Improved variable initialisation and error handling.
2017-05-19 16:52:29 +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
bdbe0ed659
Added unittest bin to make clean target.
2017-05-19 08:19:54 +10:00
Pedro Martinez Mediano
8dc6eced45
Added missing import statement.
2017-05-19 06:47:16 +10:00
Pedro Martinez Mediano
2fbe03f4ec
Add a C (non-CUDA) wrapper on cudaDeviceReset for easier compilation.
2017-05-19 06:46:06 +10:00
Pedro Martinez Mediano
5a07352969
Add unit tests inside Java for GPU code.
2017-05-19 06:39:57 +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
1abd5a084e
Add manual casting of jobject to jdoubleArray.
2017-05-19 05:38:37 +10:00
Pedro Martinez Mediano
dd83cd9ef1
Add tests for CUDA range search function.
2017-05-19 03:21:11 +10:00
Pedro Martinez Mediano
8675858e98
Moarr tests.
2017-05-19 02:16:15 +10:00
Pedro Martinez Mediano
470090321e
Added a few initial C++ unit tests and new make target.
2017-05-19 01:41:43 +10:00
Pedro Martinez Mediano
55e74e6ede
Added lest framework for C++ unit tests.
2017-05-19 01:40:54 +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 Martinez Mediano
1dec066188
Add FORCE_INLINES define to makefile for compatibility with new cuda.
2017-05-17 00:49:15 +10:00
Pedro Martinez Mediano
d1c45866fb
Added new JNI include paths to work with java 8.
2017-05-16 22:01:38 +10:00
Pedro Martinez Mediano
0e407a784a
Added explicit sm_30 compile flags.
2017-05-16 22:01:15 +10:00
jlizier
c311067fe6
Extending unit test for multivariate TE calculator to compare ensemble and setObservations methods
2017-03-24 23:27:53 +11:00
jlizier
62069dab16
Added several utilities for selecting columns to MatrixUtils
2017-03-23 14:31:38 +11:00
jlizier
bf3f26cf18
Patching TE Calculator Multivariate via conditional mutual info, which was not running (at all) for proper multivariates. Now splits the handling of solely univariate data from multivariates.
2017-03-23 14:31:03 +11:00
jlizier
eb83262172
Add an analytic MI surrogate distribution computation to the Linear-Gaussian Active Information Storage estimator
2017-03-23 14:29:16 +11:00
jlizier
1e982ddbac
Adding computeLocalFromPreviousObservations() calls for univariate time series to the ConditionalTransferEntropyCalculatorDiscrete (I'm not sure why they were missing)
2016-11-22 20:59:12 +11:00
jlizier
b0d48bc96c
Unit tests for conditional MI on new observations, and for no conditionals
2016-10-20 09:29:56 +11:00
jlizier
9a7ff306c8
Adding utilities for fast nearest neighbour searchers to handle calculations on new samples and prepare for conditional MI fast surrogates computation
2016-10-20 09:26:12 +11:00
jlizier
05beb63e58
Added unit test for AND function
2016-10-18 15:05:28 +11:00
jlizier
4cac043aff
Added unit test for TE continuous getSeparateNumObservations (in Kraskov class)
2016-10-18 15:05:15 +11:00
jlizier
e2182c40c2
Update to AIS kernel direct class in unit tests to align with update to AIS interface definition
2016-10-18 15:04:42 +11:00
jlizier
3118e57384
Making conditional MI calculators (continuous) handle empty conditionals, and properly normalise new data according to the old (except for linear Gaussian calculator, which explicitly bars normalisation now).
2016-10-18 13:21:29 +11:00
jlizier
e0fb7de856
Added auto-embedding method for AIS and TE Kraskov (KSG) calculators which maximises the bias-corrected AIS. This commit includes the AIS and TE calculators themselves, an update to the TE auto analyser (with comments on the auto embed method property)
2016-10-18 12:52:31 +11:00
jlizier
0ed74612a7
Altering kernel estimator classes so that the return values for getProbability are proper probability densities rather than probabilities (by now dividing by the kernel diameter/volume). This patches the EntropyCalculatorKernel and the EntropyCalculatorMultiVariateKernel to properly return differential entropy, as advertised. Makes no difference to the MI and TE kernel calculators, as they use counts anyway rather than probability densities.
2016-10-18 11:56:38 +11:00
jlizier
7d28e93913
Bug fix in mixed Kraskov implementation for computeUsingPreviousObservations (picked up by Rose Wang). Also acknowledged that this implementation is (mostly) as per Ross 2014.
2016-10-18 00:18:37 +11:00
jlizier
9785e2a71f
Enabled Active Info Storage calculators (continuous) to have addObservations() methods with validity supplied
2016-10-18 00:11:33 +11:00
jlizier
16239d3c3e
Added method getSeparateNumObservations() to return a list of how many samples were pulled from each addObservations call, to make reconstructing/separating local values easier subsequently
2016-10-18 00:00:31 +11:00
jlizier
08d380398b
For MultiInfoCalculatorDiscrete added simple interface for adding joint observations
2016-10-17 16:32:18 +11:00
jlizier
77cf8e5f8e
Major update to TransferEntropyCalculatorDiscrete so as to implement arbirtray source and dest embeddings and source-dest delay. Also included are associated unit tests, and modifications to MatrixUtils to support these.
2016-10-17 16:22:59 +11:00
Pedro Martinez Mediano
2654e848ae
Add new MultiInformationCalculatorGaussian.
...
At the moment is supports local measures, but not automatic significance
calculation. For that the method needs to be cloneable.
2016-10-13 23:58:32 +01:00
Pedro Martinez Mediano
a721f26734
Discrete conditional TE now supports different bases for each variable.
...
Also added some generic unit tests.
2016-06-01 18:54:57 +01:00
Pedro Martinez Mediano
c40b8ae80c
Merge branch 'master' into gpu
2016-05-19 16:19:47 +01:00
Pedro Martinez Mediano
08bb2dd609
Fix bug in TE multivariate.
2016-05-07 10:27:13 +01:00
Pedro Martinez Mediano
6f87aed980
Added preliminary version of Ragwitz optimization in multivariate AIS calculator.
2016-04-19 18:22:02 +01:00
Pedro Martinez Mediano
99a856cd8c
Merge branch 'master' into gpu
...
Conflicts:
build.xml
2016-03-15 23:04:00 +00:00
Pedro Martinez Mediano
3da629a817
Preliminary commit of multivariate AIS calculators and unit tests. Fully functional, but not tested enough.
2016-03-15 22:36:12 +00:00
Pedro Martínez Mediano
5074c1b6f7
Initial commit of GPU code.
2016-03-13 01:15:19 +00:00
joseph.lizier
dbd1dcdd54
Fixing the bias correction on our experimental discrete-continuous KSG calculators
2015-07-19 17:19:59 +00:00
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
e727233bc0
Updating unit tests for small noise being default now in KSG calculators. (The update sets noise level to 0 wherever we are checking repeated calculations, or comparing to results from other toolkits). Verifies Issue 42 fix
2015-06-16 12:30: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
a028fe4a4e
Adding getProperty method to debug class so it compiles
2015-06-05 14:42:06 +00:00
joseph.lizier
b45ada1d94
Added unit tests for Kraskov TE auto embedding via Ragwitz criteria -- verifies Issue 38. Also adds further tests for AIS auto embedding.
2015-06-05 06:51:23 +00:00
joseph.lizier
90fd9fbe89
Adding auto embedding via Ragwitz criteria for Kraskov Transfer Entropy calculator. This fixes Issue 38.
...
Also patched AIS calculator to handle observations supplied with validity indicator when auto embedding is undertaken.
2015-06-05 06:50:03 +00:00
joseph.lizier
8393429e26
Adding unit tests for AIS Kraskov for auto-embedding as part of partial fix for Issue 38
2015-06-04 13:59:31 +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
f0cbb61197
Fixing Javadoc commentsin MI calculators
2015-02-05 23:39:22 +00:00
joseph.lizier
79db42274c
Added methods for computing MI/TE etc in Multivariate calculators on only univariate time series (double[]) when the calculators have been initialised for dimension 1 in source and destination
2015-01-23 03:11:35 +00:00
joseph.lizier
a6f0e2d2ed
Added new unit test for KdTree to check validity of counting neighbours when one variable has been pre-checked, and different radii are used for each variable. Verifies issue 39.
2015-01-21 12:28:19 +00:00
joseph.lizier
21d1e68ba7
Bug fix for Kraskov conditional MI algorithm 2 -- kdTrees for var1 and conditional, as well as var2 and conditional, were only being passed the radii for var1 (or var2) but not the radius of the conditional as well. This doesn't seem problematic at face value, however in traversing the tree the wrong radius was being used at levels corresponding to the conditional(s) in checking those nodes and determining whether their children needed to be traversed as well. Patched by implementing a new method in KdTree to take all radii in the situation where one variable has already been checked. Fixes issue 39.
2015-01-21 12:23:09 +00:00
joseph.lizier
33ea4f6136
Unit tests for Dynamic correlation exclusion, or Theiler window, in all Kraskov estimators, plus direct validation against values from using Theiler window in TRENTOOL. Validates issue 35
2014-11-25 12:34:49 +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
ab1d0e0c94
Minor debug print change to unit test
2014-11-14 10:30:46 +00:00
joseph.lizier
82ff884b99
Explicitly setting return array values in Kraskov conditional MI calculator algorithm 2.
2014-11-14 10:27:48 +00:00
joseph.lizier
24a0566fd4
Patching bug in digamma function which is susceptible to race condition in multi-threaded applications. Also explicitly setting return array values in Kraskov calculators.
2014-11-14 10:24:53 +00:00
joseph.lizier
7ee34fd8a1
Minor new debug prints in unit tests
2014-11-04 00:57:55 +00:00
joseph.lizier
ba537e948a
Enhancements to fast nearest neighbour searching for conditional mutual information; utilises points found matching the conditional search criteria in the joint conditional with var1 and var 2 searches.
2014-11-04 00:57:26 +00:00
joseph.lizier
12faf78200
New unit tests for new methods in nearest neighbour search classes to return collections of points within ranges via arrays, and to use additional criteria in searching or take arguments for one variable that has already been tested.
2014-11-03 04:58:14 +00:00
joseph.lizier
57fafd1551
Adding more methods to nearest neighbour search classes to return collections of points within ranges via arrays, and to use additional criteria in searching or take arguments for one variable that has already been tested. Utilising these new searches within Conditional MI Kraskov estimator algorithm 1
2014-11-03 04:57:24 +00:00
joseph.lizier
758d9dc0c9
Unit test for inlining norms in Nearest Neighbour search classes, and adding methods to return Collections of points within ranges
2014-10-31 12:04:12 +00:00
joseph.lizier
32c062f880
Inlining norms in Nearest Neighbour search classes, and adding methods to return Collections of points within ranges
2014-10-31 12:02:54 +00:00
joseph.lizier
390e1cc6be
Adding more debug prints to TE unit test
2014-10-30 04:40:13 +00:00
joseph.lizier
769bf1a15d
Unit tests for Kraskov predictive information calculator. Also defines an abstract PI tester.
2014-10-30 04:27:46 +00:00
joseph.lizier
9aa0e9ca0e
Unit tests for Kraskov multi-info calculators using fast neighbour search and common multi-info class. Additional mutual info unit test added also on larger data set, and unit tests for the UnivariateNearestNeighbourSearcher.
2014-10-30 04:24:42 +00:00
joseph.lizier
2a56301b75
Kraskov multi-info calculators use fast neighbour search and common multi-info class.
2014-10-30 04:21:12 +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
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
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
0849db5312
Additional unit test to verify issue 32 -- for neighbour search within different radii for each variable to the k-d tree class.
2014-10-15 10:42:32 +00:00
joseph.lizier
9ef43ae753
Verifies issue 32 -- adds unit test for neighbour search within different radii for each variable to the k-d tree class. This is used for fast neighbour search to Kraskov conditional MI calculators (and by implication to TE calculators). Existing unit tests for these calculators complete the verification.
2014-10-15 10:39:11 +00:00
joseph.lizier
9c05f4693a
Fixes issue 32 -- adds fast neighbour search to Kraskov conditional MI calculators (and by implication to TE calculators). Requires adding a neighbour search within different radii for each variable to the k-d tree class.
2014-10-15 10:36:58 +00:00
joseph.lizier
58c812db4e
Validation of bug fix re issue 31 -- unit test to ensure that surrogate TE calculations are different to the real calculation
2014-10-15 05:07:14 +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
f09cc221a4
Verifies issue 31 -- adding unit tests for KdTree structure (in conjunction with existing unit tests for the results of MI calculations)
2014-10-15 04:49:40 +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
feb0f320ae
Minor updates to javadocs regarding Active Info Storage Calculators.
2014-09-16 03:27:28 +00:00
joseph.lizier
5d16028f5b
Fixes issue 13 -- by adding normalise option to Kraskov multi-information. Also Fixes issue 26 -- by adding a property for adding noise to the data (which was already done for Kraskov MI and conditional MI)
2014-09-16 01:55:22 +00:00
joseph.lizier
78852bcf2a
Validates issue 29 with unit tests for multi-threading of Kraskov conditional MI calculators. Also adds more substantial unit tests for Kraskov transfer entropy compared to TRENTOOL results.
2014-09-16 01:41:36 +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
0505641479
Unit tests which Validates issue 28 with unit tests for multithreading on Kraskov MI calculators.
2014-09-12 12:16:43 +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
0767e2e57e
Tweaks to javadocs
2014-08-14 06:26:06 +00:00
joseph.lizier
916b6d5c34
Small javadoc modification
2014-08-14 05:57:20 +00:00
joseph.lizier
14645d0621
Appending suffix "Discrete" to all discrete calculators. Step 4 -- refactoring within unit tests
2014-08-14 03:31:58 +00:00
joseph.lizier
76a274094f
Appending suffix "Discrete" to all discrete calculators. Step 3 -- refactoring java files for Separable info. All done for source code now
2014-08-14 03:05:28 +00:00
joseph.lizier
f2c5ba4771
Appending suffix "Discrete" to all discrete calculators. Step 2 -- refactoring java files, which has flow on effects to other java files. All fixed here.
2014-08-14 03:00:15 +00:00
joseph.lizier
752b2fdb23
Appending suffix "Discrete" to all discrete calculators. Step 1 -- just changing file names
2014-08-14 02:43:31 +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
4f8137b449
Minor corrections to Javadocs for the continuous package
2014-08-13 15:20:00 +00:00
joseph.lizier
b68d77e18e
Rudimentary Javadocs completed for the utils package
2014-08-13 15:18:47 +00:00
joseph.lizier
b916ac08e8
Javadocs noted as incomplete, and indeed the code itself experimental, for mixed package.
2014-08-13 14:53:57 +00:00
joseph.lizier
8ea3368224
Javadocs finalised for discrete package. Also added some new methods to ChannelCalculator, SingleAgentMeasure, EntropyRateCalculator, ActiveInfoStorageCalculator made to inherit/extend from SingleAgentMeasureInContextOfPastCalculator.
2014-08-13 14:42:56 +00:00
joseph.lizier
1ecdd8829f
Extra imports to fix Javadoc references
2014-08-13 03:48:54 +00:00
joseph.lizier
0e598bf81e
In mixed.kraskov estimators switched to use 4 nearest neighbours by default (as recommended by Kraskov et al.), and Kraskov2 algorithm for conditional MI fixed to match Wibral et al. equation (as per the continuous calculator)
2014-08-13 02:57:54 +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
77680c04ad
Javadocs made release-ready in the continuous.symbolic package.
2014-08-13 02:37:02 +00:00
joseph.lizier
786784e83c
Javadocs made release-ready in the continuous.kraskov package.
2014-08-13 02:36:09 +00:00
joseph.lizier
df196f115d
Javadocs made release-ready in the continuous.kozachenko package.
2014-08-13 02:31:24 +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
fb4d6c423c
Javadocs made release-ready in the continuous.gaussian package.
2014-08-13 02:24:02 +00:00
joseph.lizier
edbe595032
Javadocs made release-ready in the continuous package. Also added computeLocalUsingPreviousObservations into ChannelCalculator and ChannelCalculatorMultiVariate (removed from MutualInfoMultivarate), and made the ViaCondMutualInfo classes not be abstract anymore, and moved embedding properties up into the main TransferEntropyCalculator interface
2014-08-13 02:18:33 +00:00
joseph.lizier
26c98df75c
Correcting Conditional MI Calculator Kraskov algorithm 2 in line with Wibral et al.'s equation correcting how this should be done.
2014-08-12 05:24:54 +00:00
joseph.lizier
a22c0d7629
Removing MultiInfoCalculatorWithMarginals since it's not used anywhere and may simply be confusing for users.
2014-08-12 01:57:38 +00:00
joseph.lizier
5432d902f1
Removing MutualInfoCalculatorMultiVariateWithMarginals since it's not used anywhere and may simply be confusing for users.
2014-08-11 06:06:44 +00:00
joseph.lizier
22883aa575
Interregional Transfer demo code: Correcting printing of parameter settings to happen only once
2014-08-07 02:15:14 +00:00
joseph.lizier
0ca9990833
Adding GPLv3 license statement to all code headers in the unit tests
2014-08-06 06:59:04 +00:00
joseph.lizier
4a3532b25b
Adding GPLv3 license statement to all code headers in the infodymamics.measures.mixed, utils and networkinference packages.
2014-08-06 06:31:24 +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
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
98d5373d62
Adding GPLv3 license statement to all code headers in the infodymamics.measures.continuous package (for starters)
2014-08-06 05:31:37 +00:00
joseph.lizier
6a1bacba42
Adding notices about derived works from the JAMA project to source files
2014-08-06 05:20:17 +00:00
joseph.lizier
90707379b1
Adding derived works from Apache Commons Math library in the JIDT source tree; using these from MathsUtils to compute chi^2 CDF.
2014-08-06 04:16:15 +00:00
joseph.lizier
6c0d2f4e99
Refactoring discrete conditional TE calculator to take source as first argument before destination (to match continuous calculators)
2014-08-06 00:32:54 +00:00
joseph.lizier
8df5d8c277
Refactoring unit tests for discrete TE calculator to take source as first argument before destination (to match continuous calculators)
2014-08-05 12:46:14 +00:00
joseph.lizier
8b0de7e9fa
Refactoring discrete TE calculator to take source as first argument before destination (to match continuous calculators)
2014-08-05 12:44:05 +00:00
joseph.lizier
9d85a78cc2
Renaming Complete TE discrete calculator to Conditional -- step 2 of 2 the file name change
2014-08-05 06:54:31 +00:00
joseph.lizier
a48da3dc42
Renaming Complete TE discrete calculator to Conditional -- step 1 of 2, just refactoring class names, file name change to come
2014-08-05 06:53:48 +00:00
joseph.lizier
96a9cefccf
Renaming unit test for (Apparent) TE discrete calculator to remove "Apparent" -- step 2 of 2 to rename inside the class.
2014-08-05 05:03:35 +00:00
joseph.lizier
b204651227
Renaming unit test for (Apparent) TE discrete calculator to remove "Apparent"
2014-08-05 05:02:51 +00:00
joseph.lizier
4e141d1398
Adding unit test for (Apparent) TE discrete calculator. Will rename it to remove Apparent shortly ...
2014-08-05 05:02:02 +00:00
joseph.lizier
76d4dc73a6
Renaming ApparentTransferEntropyCalculator to TransferEntropyCalculator for simplicity -- step 2 of 2, renaming the actual file
2014-08-05 04:59:31 +00:00
joseph.lizier
7e27c0d4ed
Renaming ApparentTransferEntropyCalculator to TransferEntropyCalculator for simplicity -- step 1 of 2
2014-08-05 04:58:32 +00:00
joseph.lizier
ab916e2253
Adding analytic null distribution computation to discrete TE calculator
2014-08-05 04:29:37 +00:00
joseph.lizier
ccf70d9846
Updating Octave matrix conversion class with routines for taking bytes, and booleans as integers.
2014-08-05 04:16:30 +00:00
joseph.lizier
1c324121d0
Discrete TE calculator given capability for arbitrary source and destination embedding, plus method for indicating validity of the time series
2014-08-05 02:14:59 +00:00
joseph.lizier
ba71d5443d
Discrete MI and conditional MI calculators given analytic null distribution methods. MI calculator also given constructor with no lag parameter. Conditional MI calculator also given methods to specify the validity of the series.
2014-08-05 02:09:36 +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
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
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
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
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