Joseph Lizier
d9db7a15ab
Further clarifications for including NORMALISE and NOISE_LEVEL_TO_ADD properties to all mutual information calculators, and handling linear redundancy sub-cases
2019-04-03 00:07:05 +11:00
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
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
jlizier
7f9b1c0812
Patching bias correction for Guassian MI and CMI (some for MI was in line with previous work for CMI, which required extending here). Unit tests included.
2018-08-27 13:17:58 +10:00
jlizier
0b70e92efc
Added Bias-correction property to Gaussian MI and conditional MI calculators, including set and getProperty and an implementation in the calculations. This implements bias-correction by substracting the bias (of the analytic chi^2 based null distribution) from the calculations.
2018-05-13 22:29:17 +10:00
jlizier
ea40f48bbc
Adding new methods computePValueForGivenEstimate() and computeEstimateForGivenPValue to AnalyticMeasurementDistribution and implementing in ChiSquareMeasurementDistribution. Involves importing (and refactoring) a significantly larger chunk of commons.maths3 classes (and updating existing ones to latest 3.6.1 version for consistency). Also addresses issue #23 in changing the actual value of the ChiSquareMeasurementDistribution to be that of the information theoretic measurement rather than 2*N times it (which was the value that is actually chi squared distributed), which also necessitates changes to the Discrete and Gaussian calculators computeSignificance() methods.
2017-06-14 11:09:01 +10:00
joseph.lizier
fb4d6c423c
Javadocs made release-ready in the continuous.gaussian package.
2014-08-13 02:24:02 +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
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
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
997fe0fbef
Added AnalyticNullDistributionComputer and refactored the reference to it in MutualInfoCalculatorMultivariateGaussian
2012-10-25 01:14:55 +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
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
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
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