jhplot.stat
Class MutualInformation
- java.lang.Object
-
- jhplot.stat.MutualInformation
-
public abstract class MutualInformation extends java.lang.Object
Implements common discrete Mutual Information functions. Provides: Mutual Information I(X;Y), Conditional Mutual Information I(X,Y|Z). Defaults to log_2, and so the entropy is calculated in bits.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static double
calculateConditionalMutualInformation(double[] firstVector, double[] secondVector, double[] conditionVector)
Calculates the conditional Mutual Information I(X;Y|Z) between two random variables, conditioned on a third.static double
calculateMutualInformation(double[] firstVector, double[] secondVector)
Calculates the Mutual Information I(X;Y) between two random variables.
-
-
-
Method Detail
-
calculateMutualInformation
public static double calculateMutualInformation(double[] firstVector, double[] secondVector)
Calculates the Mutual Information I(X;Y) between two random variables. Uses histograms to estimate the probability distributions, and thus the information. The mutual information is bounded 0 ≤ I(X;Y) ≤ min(H(X),H(Y)). It is also symmetric, so I(X;Y) = I(Y;X).- Parameters:
firstVector
- Input vector (X). It is discretised to the floor of each value before calculation.secondVector
- Input vector (Y). It is discretised to the floor of each value before calculation.- Returns:
- The Mutual Information I(X;Y).
-
calculateConditionalMutualInformation
public static double calculateConditionalMutualInformation(double[] firstVector, double[] secondVector, double[] conditionVector)
Calculates the conditional Mutual Information I(X;Y|Z) between two random variables, conditioned on a third. Uses histograms to estimate the probability distributions, and thus the information. The conditional mutual information is bounded 0 ≤ I(X;Y) ≤ min(H(X|Z),H(Y|Z)). It is also symmetric, so I(X;Y|Z) = I(Y;X|Z).- Parameters:
firstVector
- Input vector (X). It is discretised to the floor of each value before calculation.secondVector
- Input vector (Y). It is discretised to the floor of each value before calculation.conditionVector
- Input vector (Z). It is discretised to the floor of each value before calculation.- Returns:
- The conditional Mutual Information I(X;Y|Z).
-
-
DMelt 3.0 © DataMelt by jWork.ORG