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
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
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
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
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
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
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
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
1ecdd8829f
Extra imports to fix Javadoc references
2014-08-13 03:48: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
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
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
7e27c0d4ed
Renaming ApparentTransferEntropyCalculator to TransferEntropyCalculator for simplicity -- step 1 of 2
2014-08-05 04:58:32 +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
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
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
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
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
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
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
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
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