Commit Graph

934 Commits

Author SHA1 Message Date
Joseph Lizier b1437452e4 Adding NORMALISE and NOISE_LEVEL_TO_ADD properties to all mutual information calculators for continuous-valued data (extends this capability from only KSG to Gaussian and kernel as well, the latter already had NORMALISE) 2019-04-02 12:38:17 +11:00
Joseph Lizier ecec4d20e3 Added unit tests for linear dependency possibilities for issue #16 2019-03-31 23:22:55 +11:00
Joseph Lizier 988d32de70 Added bug fix within recent changes to MatrixUtils Cholesky decomposition calculation, along with unit testing of the linear dependency combinations for issue #17 2019-03-31 23:21:39 +11:00
Joseph Lizier 2a0024ad83 Fixes issue #17: Handling sub-cases for linear redundancy within and across variables in the linear-Gaussian mutual information estimator. This is done by detecting such redundancies and either returning 0 or infinity as the requisite result. Mirrors how this is done for conditional MI. 2019-03-29 00:01:36 +11:00
Joseph Lizier 66676a2692 A rewrite of parts of the linear Gaussian conditional MI estimator, in order to more deftly handle linear dependencies within variables 1 and 2, and between each of them and the conditional. Previously we removed sub-variables of those arbitrarily, now the removal is targetted to those sub-variables that are problematic. Also required some variable name changes to reflect different ordering of how variables and the conditionals are concatenated in arrays. 2019-03-28 23:58:53 +11:00
Joseph Lizier d58c393c53 Added methods to MatrixUtils to make a Cholesky decomposition of independent components only (useful for MI and conditional MI calculations), with a required update to the NonPositiveDefiniteMatrixException to include a field defining which row in the matrix was a problem. Also includes code to convert between native int[] arrays and ArrayList<Integers>, and new method signatures for column selection from matricies.
Also added new unit tests for the Cholesky decomposition.
2019-03-28 23:52:47 +11:00
Joseph Lizier 1d2c7c42b9 Updating javaMatrixToOctave to handle new conversion routine in octave (and be backwards compatible to old) 2019-03-21 09:35:41 +11:00
Joseph Lizier 9aed0d4590 Merge remote branch 'origin/master' 2019-03-11 12:04:18 +11:00
Joseph Lizier c4349140f1 Updating ant javadoc target to use packageset instead of fileset (for JDK >= 8 it seems that fileset is not properly handling the java source code I want the javadocs to ignore; packageset is doing this ok). Fixes Issue #75 (the javadocs part) 2019-03-11 11:58:17 +11:00
David Shorten 4985def021 fixed weirdness 2019-02-01 15:35:26 +11:00
Joseph Lizier c693b5d57e
Edited funding acknowledgements on README.md 2019-02-01 13:38:35 +11:00
David Shorten ea8a322b61 end Tues 2019-01-29 19:51:21 +11:00
David Shorten fcbf5e7dac end Thurs 2019-01-22 19:17:36 +11:00
David Shorten 8bcf41e572 end Wed 2018-12-19 17:15:47 +11:00
David Shorten 504c6262f0 end Tues 2018-12-18 20:32:37 +11:00
David Shorten 23abc021ac modification to calculation for point inclusion 2018-12-11 16:15:03 +11:00
David Shorten 064953c584 bit of cleaning up 2018-12-11 15:18:51 +11:00
David Shorten b467ea22a1 option of using same K for dest history 2018-12-11 15:15:26 +11:00
David Shorten 9f51dc284c option of not doing radius trimming 2018-12-11 12:21:27 +11:00
David Shorten 6f8ae62fee option of excluding the point itself 2018-12-11 12:03:44 +11:00
David Shorten 267796dc83 forced inclusion of TransferEntropyCalculatorSpikingIntegration.java 2018-12-10 20:29:54 +11:00
David Shorten ec01683592 Incorporated JL code from 21/11/2018 2018-12-10 20:22:15 +11:00
David Shorten fa9a45a9cf added in the original spiking estimator code 2018-12-10 17:12:15 +11:00
Joseph Lizier 2ba27f30ac
Merge pull request #73 from pmediano/master
Minor updates to GPU tests and examples following v1.5 release.
2018-11-26 10:28:15 +11:00
Pedro Martinez Mediano 4908276333 GPU tests and example now compute multiple surrogates. 2018-11-25 19:45:48 +02:00
Pedro Martinez Mediano c616ba55d4 Added link to wiki in GPU loader error message. 2018-11-25 19:25:33 +02:00
jlizier bd6a9a2601 Updating links to latest release to v1.5 on front page. Also fixed indenting 2018-11-26 00:33:58 +11:00
jlizier eefe1e1a8b Updating readme-template.txt and ready for release v1.5 2018-11-25 23:48:10 +11:00
jlizier ee1ef4909c Storing executable permissions for jar file, .sh and .bat files in the distribution .zip and now making a .tar.gz distribution also 2018-11-25 23:39:44 +11:00
jlizier a3ec963618 Updating demos PDFs again 2018-11-25 23:38:49 +11:00
jlizier 603445651c Moving GPU readme from wiki into CUDA folder 2018-11-25 23:27:27 +11:00
jlizier 7bd6496a40 Removed old .sh and .bat files for running AutoAnalyser for individual measures (now replaced by launchAutoAnalyser) 2018-11-25 22:38:08 +11:00
jlizier cd1d4c2684 Adding executable permission to Java demo 10 for GPU 2018-11-25 21:57:25 +11:00
jlizier 7910828ad7 Added release notes for v1.5 to readme-template.txt 2018-11-25 21:52:07 +11:00
jlizier dc4e59f945 Updating tutorial wiki page PDF 2018-11-25 21:50:53 +11:00
jlizier b6a5285b9b Updated version number in build.xml ready for new release 2018-11-25 21:48:29 +11:00
jlizier 3c24debea5 Updating PDFs of wiki pages of all demos to make sure they are up to date; includes adding the new wiki page for GPU 2018-11-25 21:47:41 +11:00
jlizier 16015e0f12 Nearest neighbour searchers now return number of points found for findPointsWithinR as well as marking them in input arrays. Also added new method sumDistanceAboveThresholdForPointsWithinRs() for the univariate searcher (to be used in spiking TE estimator under development) 2018-11-24 21:16:36 +11:00
David Shorten af7fbd6c37 added spiking measures 2018-11-19 15:55:24 +11:00
jlizier 8909c23fcc Incorporated auto-embedding in the TE multivariate via conditional MI common class. Much of the code is moved up from the TE multivariate KSG estimator; now the functionality is provided for multivariate Gaussian as well. Also necessitated adding the max_cor_num_surrogates property to TE multivariate Gaussian, and took the opportunity to make much of the whitespace here consistent, and unit tests added for Gaussian (tweaked slightly for KSG) 2018-10-18 00:58:17 +11:00
jlizier 42f8d01e26 Adding property of number of dimensions for the AIS multivariate calculator (and implemented in the via MI common class). Needed this to make multivariate TE embedding a bit neater, and it should be there anyway. 2018-10-18 00:51:37 +11:00
jlizier e1bad39e4e Added proper full definitions for the methods of the AIS multivariate interface; much of this is achieved by extending the univariate AIS interface (which mandates that the univariate methods must be supported). No current child classes required any changes as they all supported these already. Removed superfluous documentation in the AIS multivariate via MI class (as well as fixing whitespace inconsistencies therein) 2018-10-17 23:37:43 +11:00
jlizier da418c31a0 Added new auto-embedding capability for TE Gaussian into the AutoAnalyser GUI demo. Also added new auto-embedding drop down option of Max corrected AIS + TE for KSG as well, and debugged the getProperty returning of the number of nearest neighbours for Ragwitz criteria now that this occurs in the common superclass instead of in KSG (and gave this a reasonable default of 4) 2018-10-17 14:23:20 +11:00
jlizier a34bce25ba Enabled auto-embedding for TE Gaussian. Did so by bringing up auto-embedding for TE functionality up from the KSG estimator to the via Conditional MI class. Also added new property to Gaussian TE for number of surrogates to use for bias correction in embedding (if not using analytic bias correction), like Gaussian AIS. This also necessitated adding an empty preFinaliseAddObservations() method to the TE Gaussian multivariate estimator, to ensure it did not yet try to autoembed until that is enabled in the multivariate calculator. Unit tests included here as well (included using more samples for TE KSG autoembedding to ensure we get the correct answer more reliably -- should probably add a stronger effect for that too). 2018-10-17 13:49:09 +11:00
jlizier efb8243ed7 Altering TE Kraskov to do auto-embedding properly when we have added multiple observations with validity vectors. Also taking the opportunity to re-engineer the internals to lay groundwork for auto-embedding function to be shared with the Gaussian estimator at a later stage. Unit tests added here as well for the above. 2018-10-15 20:56:50 +11:00
jlizier 2ff6d8aeec Added getProperty for AIS Kraskov multivariate. Need to re-engineer this class for proper code re-use anyway. 2018-10-15 14:38:46 +11:00
jlizier 3aa1493d7f Added addObservations() method with sourceValid and destValid boolean arrays to TransferEntropyCalculatorViacondMutualInfo class 2018-09-21 10:34:01 +10:00
jlizier 6cf43db7f5 Updating lecture slides for the course all to 2018 versions 2018-09-20 14:15:11 +10:00
jlizier cf83a73bc0 Renaming lecture slide files in the course to align with new numbering and naming 2018-09-20 14:11:14 +10:00
jlizier 1f8a33b211 Changing folder structure for the course modules 2018-09-20 14:04:10 +10:00