From b916ac08e8fb8cc86bbccb7ee20b8b60dfe8a4d7 Mon Sep 17 00:00:00 2001 From: "joseph.lizier" Date: Wed, 13 Aug 2014 14:53:57 +0000 Subject: [PATCH] Javadocs noted as incomplete, and indeed the code itself experimental, for mixed package. --- ...MutualInfoCalculatorMultiVariateWithDiscrete.java | 10 ++++++++-- ...InfoCalculatorMultiVariateWithDiscreteSource.java | 10 ++++++++-- ...lculatorMultiVariateWithDiscreteSourceCommon.java | 9 ++++++++- ...MutualInfoCalculatorMultiVariateWithDiscrete.java | 10 ++++++++-- ...ulatorMultiVariateWithDiscreteSourceGaussian.java | 12 +++++++++--- ...foCalculatorMultiVariateWithDiscreteGaussian.java | 12 +++++++++--- ...InfoCalculatorMultiVariateWithDiscreteKernel.java | 10 ++++++++++ ...nfoCalculatorMultiVariateWithDiscreteKraskov.java | 10 +++++++--- ...nfoCalculatorMultiVariateWithDiscreteKraskov.java | 10 +++++++--- ...foCalculatorMultiVariateWithDiscreteSymbolic.java | 10 ++++++++++ ...foCalculatorMultiVariateWithDiscreteSymbolic.java | 10 ++++++++++ 11 files changed, 94 insertions(+), 19 deletions(-) diff --git a/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscrete.java b/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscrete.java index 663d94f..2482d88 100755 --- a/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscrete.java +++ b/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscrete.java @@ -19,13 +19,19 @@ package infodynamics.measures.mixed; import infodynamics.utils.EmpiricalMeasurementDistribution; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; /** * A conditional mutual information calculator between a joint set of continuous variables, * and a discrete variable, conditioned on another discrete variable. * - * @author Joseph Lizier, joseph.lizier at gmail.com - * + *

These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

+ * + * @author Joseph Lizier (email, + * www) */ public interface ConditionalMutualInfoCalculatorMultiVariateWithDiscrete { diff --git a/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource.java b/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource.java index 732507a..579a35a 100755 --- a/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource.java +++ b/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource.java @@ -18,14 +18,20 @@ package infodynamics.measures.mixed; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; import infodynamics.utils.EmpiricalMeasurementDistribution; /** * A conditional mutual information calculator between a joint set of continuous variables, * and a discrete variable, conditioned on another continuous variable vector. * - * @author Joseph Lizier, joseph.lizier at gmail.com - * + *

These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

+ * + * @author Joseph Lizier (email, + * www) */ public interface ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource { diff --git a/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon.java b/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon.java index b518f5d..8e249c4 100755 --- a/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon.java +++ b/java/source/infodynamics/measures/mixed/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon.java @@ -18,6 +18,7 @@ package infodynamics.measures.mixed; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; import infodynamics.measures.mixed.ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource; import infodynamics.utils.MatrixUtils; import infodynamics.utils.EmpiricalMeasurementDistribution; @@ -31,7 +32,13 @@ import infodynamics.utils.RandomGenerator; * conditioned on another vector of continuous variables Z. * It implements common methods for child classes to build on

* - * @author Joseph Lizier + *

These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

+ * + * @author Joseph Lizier (email, + * www) */ public abstract class ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon implements ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSource { diff --git a/java/source/infodynamics/measures/mixed/MutualInfoCalculatorMultiVariateWithDiscrete.java b/java/source/infodynamics/measures/mixed/MutualInfoCalculatorMultiVariateWithDiscrete.java index c85864e..424647a 100755 --- a/java/source/infodynamics/measures/mixed/MutualInfoCalculatorMultiVariateWithDiscrete.java +++ b/java/source/infodynamics/measures/mixed/MutualInfoCalculatorMultiVariateWithDiscrete.java @@ -18,6 +18,7 @@ package infodynamics.measures.mixed; +import infodynamics.measures.continuous.MutualInfoCalculatorMultiVariate; import infodynamics.utils.EmpiricalMeasurementDistribution; /** @@ -43,8 +44,13 @@ import infodynamics.utils.EmpiricalMeasurementDistribution; * *

* - * @author Joseph Lizier joseph.lizier_at_gmail.com - * + *

These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link MutualInfoCalculatorMultiVariate} + *

+ * + * @author Joseph Lizier (email, + * www) */ public interface MutualInfoCalculatorMultiVariateWithDiscrete { diff --git a/java/source/infodynamics/measures/mixed/gaussian/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceGaussian.java b/java/source/infodynamics/measures/mixed/gaussian/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceGaussian.java index 4043877..354db2b 100755 --- a/java/source/infodynamics/measures/mixed/gaussian/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceGaussian.java +++ b/java/source/infodynamics/measures/mixed/gaussian/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceGaussian.java @@ -19,6 +19,7 @@ package infodynamics.measures.mixed.gaussian; import infodynamics.measures.mixed.ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; import infodynamics.measures.continuous.ConditionalMutualInfoMultiVariateCommon; import infodynamics.measures.continuous.gaussian.EntropyCalculatorMultiVariateGaussian; import infodynamics.utils.MatrixUtils; @@ -43,7 +44,12 @@ import infodynamics.utils.MatrixUtils; * as we would normally expect a mutual information calculation: if we add more * continuous variables in, it may increase in spite of redundancy between these * variables. TODO Further exploration should take place here ...

- * + * + *

These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

+ * *

* Usage: *

    @@ -75,8 +81,8 @@ import infodynamics.utils.MatrixUtils; * @see Differential entropy for Gaussian random variables at Mathworld * @see Differential entropy for Gaussian random variables at Wikipedia * @see Multivariate normal distribution on Wikipedia - * @author Joseph Lizier joseph.lizier_at_gmail.com - * + * @author Joseph Lizier (email, + * www) */ public class ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceGaussian extends ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon diff --git a/java/source/infodynamics/measures/mixed/gaussian/MutualInfoCalculatorMultiVariateWithDiscreteGaussian.java b/java/source/infodynamics/measures/mixed/gaussian/MutualInfoCalculatorMultiVariateWithDiscreteGaussian.java index 0074cfd..72ce2bc 100755 --- a/java/source/infodynamics/measures/mixed/gaussian/MutualInfoCalculatorMultiVariateWithDiscreteGaussian.java +++ b/java/source/infodynamics/measures/mixed/gaussian/MutualInfoCalculatorMultiVariateWithDiscreteGaussian.java @@ -18,6 +18,7 @@ package infodynamics.measures.mixed.gaussian; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; import infodynamics.measures.continuous.gaussian.EntropyCalculatorMultiVariateGaussian; import infodynamics.measures.mixed.MutualInfoCalculatorMultiVariateWithDiscrete; import infodynamics.utils.EmpiricalMeasurementDistribution; @@ -42,7 +43,12 @@ import infodynamics.utils.RandomGenerator; * as we would normally expect a mutual information calculation: if we add more * continuous variables in, it increases in spite of redundancy between these * variables. TODO Further exploration should take place here ...

    - * + * + *

    These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

    + * *

    * Usage: *

      @@ -62,8 +68,8 @@ import infodynamics.utils.RandomGenerator; * * @see Differential entropy for Gaussian random variables defined at * {@link http://mathworld.wolfram.com/DifferentialEntropy.html} - * @author Joseph Lizier joseph.lizier_at_gmail.com - * + * @author Joseph Lizier (email, + * www) */ public class MutualInfoCalculatorMultiVariateWithDiscreteGaussian implements MutualInfoCalculatorMultiVariateWithDiscrete, Cloneable { diff --git a/java/source/infodynamics/measures/mixed/kernel/MutualInfoCalculatorMultiVariateWithDiscreteKernel.java b/java/source/infodynamics/measures/mixed/kernel/MutualInfoCalculatorMultiVariateWithDiscreteKernel.java index 9414a66..afbbfac 100755 --- a/java/source/infodynamics/measures/mixed/kernel/MutualInfoCalculatorMultiVariateWithDiscreteKernel.java +++ b/java/source/infodynamics/measures/mixed/kernel/MutualInfoCalculatorMultiVariateWithDiscreteKernel.java @@ -20,12 +20,22 @@ package infodynamics.measures.mixed.kernel; import java.util.Arrays; +import infodynamics.measures.continuous.MutualInfoCalculatorMultiVariate; import infodynamics.measures.continuous.kernel.KernelEstimatorMultiVariate; import infodynamics.measures.mixed.MutualInfoCalculatorMultiVariateWithDiscrete; import infodynamics.utils.MatrixUtils; import infodynamics.utils.EmpiricalMeasurementDistribution; import infodynamics.utils.RandomGenerator; +/** + *

      These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link MutualInfoCalculatorMultiVariate} + *

      + * + * @author Joseph Lizier (email, + * www) + */ public class MutualInfoCalculatorMultiVariateWithDiscreteKernel implements MutualInfoCalculatorMultiVariateWithDiscrete { diff --git a/java/source/infodynamics/measures/mixed/kraskov/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteKraskov.java b/java/source/infodynamics/measures/mixed/kraskov/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteKraskov.java index c5206a4..a531b72 100755 --- a/java/source/infodynamics/measures/mixed/kraskov/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteKraskov.java +++ b/java/source/infodynamics/measures/mixed/kraskov/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteKraskov.java @@ -18,6 +18,7 @@ package infodynamics.measures.mixed.kraskov; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; import infodynamics.measures.mixed.ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon; import infodynamics.utils.EuclideanUtils; import infodynamics.utils.MathsUtils; @@ -34,10 +35,13 @@ import infodynamics.utils.MatrixUtils; * follows {#link ConditionalMutualInfoCalculatorMultiVariateKraskov2}. *

      * - * @see "Estimating mutual information", Kraskov, A., Stogbauer, H., Grassberger, P., Physical Review E 69, (2004) 066138 - * @see http://dx.doi.org/10.1103/PhysRevE.69.066138 + *

      These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

      * - * @author Joseph Lizier + * @author Joseph Lizier (email, + * www) */ public class ConditionalMutualInfoCalculatorMultiVariateWithDiscreteKraskov extends ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSourceCommon diff --git a/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java b/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java index 7bf5fbf..d8eee06 100755 --- a/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java +++ b/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java @@ -18,6 +18,7 @@ package infodynamics.measures.mixed.kraskov; +import infodynamics.measures.continuous.MutualInfoCalculatorMultiVariate; import infodynamics.measures.mixed.MutualInfoCalculatorMultiVariateWithDiscrete; import infodynamics.utils.EuclideanUtils; import infodynamics.utils.MathsUtils; @@ -35,10 +36,13 @@ import infodynamics.utils.RandomGenerator; * where small K is used (e.g. for binary data splitting continuous into * two distinct groups, 1400 observations, K=4 has bias ~ -.35)

      * - * @see "Estimating mutual information", Kraskov, A., Stogbauer, H., Grassberger, P., Physical Review E 69, (2004) 066138 - * @see http://dx.doi.org/10.1103/PhysRevE.69.066138 + *

      These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link MutualInfoCalculatorMultiVariate} + *

      * - * @author Joseph Lizier + * @author Joseph Lizier (email, + * www) */ public class MutualInfoCalculatorMultiVariateWithDiscreteKraskov implements MutualInfoCalculatorMultiVariateWithDiscrete { diff --git a/java/source/infodynamics/measures/mixed/symbolic/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java b/java/source/infodynamics/measures/mixed/symbolic/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java index a953866..3440d7e 100755 --- a/java/source/infodynamics/measures/mixed/symbolic/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java +++ b/java/source/infodynamics/measures/mixed/symbolic/ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java @@ -19,6 +19,7 @@ package infodynamics.measures.mixed.symbolic; import infodynamics.measures.mixed.ConditionalMutualInfoCalculatorMultiVariateWithDiscrete; +import infodynamics.measures.continuous.ConditionalMutualInfoCalculatorMultiVariate; import infodynamics.measures.discrete.ConditionalMutualInformationCalculator; import infodynamics.utils.FirstIndexComparatorDouble; import infodynamics.utils.MathsUtils; @@ -26,6 +27,15 @@ import infodynamics.utils.MatrixUtils; import infodynamics.utils.EmpiricalMeasurementDistribution; import infodynamics.utils.RandomGenerator; +/** + *

      These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link ConditionalMutualInfoCalculatorMultiVariate} + *

      + * + * @author Joseph Lizier (email, + * www) + */ public class ConditionalMutualInfoCalculatorMultiVariateWithDiscreteSymbolic implements ConditionalMutualInfoCalculatorMultiVariateWithDiscrete { diff --git a/java/source/infodynamics/measures/mixed/symbolic/MutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java b/java/source/infodynamics/measures/mixed/symbolic/MutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java index e5f4406..fd57c87 100755 --- a/java/source/infodynamics/measures/mixed/symbolic/MutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java +++ b/java/source/infodynamics/measures/mixed/symbolic/MutualInfoCalculatorMultiVariateWithDiscreteSymbolic.java @@ -19,6 +19,7 @@ package infodynamics.measures.mixed.symbolic; import infodynamics.measures.mixed.MutualInfoCalculatorMultiVariateWithDiscrete; +import infodynamics.measures.continuous.MutualInfoCalculatorMultiVariate; import infodynamics.measures.discrete.MutualInformationCalculator; import infodynamics.utils.FirstIndexComparatorDouble; import infodynamics.utils.MathsUtils; @@ -26,6 +27,15 @@ import infodynamics.utils.MatrixUtils; import infodynamics.utils.EmpiricalMeasurementDistribution; import infodynamics.utils.RandomGenerator; +/** + *

      These calculators are EXPERIMENTAL -- not properly tested, + * and not well documented. The intended calling pattern is similar to + * {@link MutualInfoCalculatorMultiVariate} + *

      + * + * @author Joseph Lizier (email, + * www) + */ public class MutualInfoCalculatorMultiVariateWithDiscreteSymbolic implements MutualInfoCalculatorMultiVariateWithDiscrete {