From 05b3266037810929c5724bd752aa546569d189f0 Mon Sep 17 00:00:00 2001
From: "joseph.lizier"
Date: Wed, 1 Aug 2012 07:43:03 +0000
Subject: [PATCH] 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
---
...an.java => EntropyCalculatorGaussian.java} | 26 +++++++++++--------
1 file changed, 15 insertions(+), 11 deletions(-)
rename java/source/infodynamics/measures/continuous/gaussian/{EntropyCalculatorLinearGaussian.java => EntropyCalculatorGaussian.java} (69%)
diff --git a/java/source/infodynamics/measures/continuous/gaussian/EntropyCalculatorLinearGaussian.java b/java/source/infodynamics/measures/continuous/gaussian/EntropyCalculatorGaussian.java
similarity index 69%
rename from java/source/infodynamics/measures/continuous/gaussian/EntropyCalculatorLinearGaussian.java
rename to java/source/infodynamics/measures/continuous/gaussian/EntropyCalculatorGaussian.java
index 5e74df9..b9dae85 100755
--- a/java/source/infodynamics/measures/continuous/gaussian/EntropyCalculatorLinearGaussian.java
+++ b/java/source/infodynamics/measures/continuous/gaussian/EntropyCalculatorGaussian.java
@@ -1,4 +1,4 @@
-package infodynamics.measures.continuous.lineargaussian;
+package infodynamics.measures.continuous.gaussian;
import infodynamics.measures.continuous.EntropyCalculator;
import infodynamics.utils.MatrixUtils;
@@ -19,10 +19,12 @@ import infodynamics.utils.MatrixUtils;
*
*
*
+ * @see Differential entropy for Gaussian random variables defined at
+ * {@link http://mathworld.wolfram.com/DifferentialEntropy.html}
* @author Joseph Lizier joseph.lizier_at_gmail.com
*
*/
-public class EntropyCalculatorLinearGaussian implements EntropyCalculator {
+public class EntropyCalculatorGaussian implements EntropyCalculator {
/**
* Variance of the most recently supplied observations
@@ -34,14 +36,14 @@ public class EntropyCalculatorLinearGaussian implements EntropyCalculator {
/**
* Constructor
*/
- public EntropyCalculatorLinearGaussian() {
+ public EntropyCalculatorGaussian() {
// Nothing to do
}
/**
* Initialise the calculator ready for reuse
*/
- public void initialise() throws Exception {
+ public void initialise() {
// Nothing to do
}
@@ -66,16 +68,18 @@ public class EntropyCalculatorLinearGaussian implements EntropyCalculator {
}
/**
- * The entropy for a Gaussian-distribution random variable with
- * variance \sigma is \log_e{2*pi*e*\sigma}.
- * Here we compute the entropy assuming that the recorded estimation of the
- * variance is correct (i.e. we will not make a bias correction for limited
- * observations here).
+ * The entropy for a Gaussian-distribution random variable with
+ * variance \sigma is 0.5*\log_e{2*pi*e*\sigma}.
*
- * @return the entropy of the previously provided observations
+ * Here we compute the entropy assuming that the recorded estimation of the
+ * variance is correct (i.e. we will not make a bias correction for limited
+ * observations here).
+ *
+ * @return the entropy of the previously provided observations or from the supplied
+ * covariance matrix. Entropy returned in nats, not bits!
*/
public double computeAverageLocalOfObservations() {
- return Math.log(2.0*Math.PI*Math.E*variance);
+ return 0.5 * Math.log(2.0*Math.PI*Math.E*variance);
}
public void setDebug(boolean debug) {