|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.uci.ics.jung.algorithms.util.DiscreteDistribution
public class DiscreteDistribution
A utility class for calculating properties of discrete distributions.
Generally, these distributions are represented as arrays of
double values, which are assumed to be normalized
such that the entries in a single array sum to 1.
| Constructor Summary | |
|---|---|
DiscreteDistribution()
|
|
| Method Summary | |
|---|---|
protected static void |
checkLengths(double[] dist,
double[] reference)
Throws an IllegalArgumentException if the two arrays are not of the same length. |
static double |
cosine(double[] dist,
double[] reference)
Returns the cosine distance between the two specified distributions, which must have the same number of elements. |
static double |
entropy(double[] dist)
Returns the entropy of this distribution. |
static double |
KullbackLeibler(double[] dist,
double[] reference)
Returns the Kullback-Leibler divergence between the two specified distributions, which must have the same number of elements. |
static double[] |
mean(Collection<double[]> distributions)
Returns the mean of the specified Collection of
distributions, which are assumed to be normalized arrays of
double values. |
static double[] |
mean(double[][] distributions)
Returns the mean of the specified array of distributions, represented as normalized arrays of double values. |
static void |
normalize(double[] counts,
double alpha)
Normalizes, with Lagrangian smoothing, the specified double
array, so that the values sum to 1 (i.e., can be treated as probabilities). |
static double |
squaredError(double[] dist,
double[] reference)
Returns the squared difference between the two specified distributions, which must have the same number of elements. |
static double |
symmetricKL(double[] dist,
double[] reference)
Returns KullbackLeibler(dist, reference) + KullbackLeibler(reference, dist). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DiscreteDistribution()
| Method Detail |
|---|
public static double KullbackLeibler(double[] dist,
double[] reference)
i of
dist[i] * Math.log(dist[i] / reference[i]).
Note that this value is not symmetric; see
symmetricKL for a symmetric variant.
symmetricKL(double[], double[])
public static double symmetricKL(double[] dist,
double[] reference)
KullbackLeibler(dist, reference) + KullbackLeibler(reference, dist).
KullbackLeibler(double[], double[])
public static double squaredError(double[] dist,
double[] reference)
i of the square of
(dist[i] - reference[i]).
public static double cosine(double[] dist,
double[] reference)
dist.length-dimensional space.
Given the following definitions
v = the sum over all i of dist[i] * dist[i]
w = the sum over all i of reference[i] * reference[i]
vw = the sum over all i of dist[i] * reference[i]
vw / (Math.sqrt(v) * Math.sqrt(w)).
public static double entropy(double[] dist)
i of
-(dist[i] * Math.log(dist[i]))
protected static void checkLengths(double[] dist,
double[] reference)
IllegalArgumentException if the two arrays are not of the same length.
public static void normalize(double[] counts,
double alpha)
double
array, so that the values sum to 1 (i.e., can be treated as probabilities).
The effect of the Lagrangian smoothing is to ensure that all entries
are nonzero; effectively, a value of alpha is added to each
entry in the original array prior to normalization.
counts - alpha - public static double[] mean(Collection<double[]> distributions)
Collection of
distributions, which are assumed to be normalized arrays of
double values.
mean(double[][])public static double[] mean(double[][] distributions)
double values.
Will throw an "index out of bounds" exception if the
distribution arrays are not all of the same length.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||