public class Distributions
extends java.lang.Object
Distributions
s.
In general, if a method is operating on a pair of Distribution objects, we imagine that the
set of possible keys for each Distribution is the same.
Therefore we require that d1.numberOFKeys = d2.numberOfKeys and that the number of keys in the union
of the two key sets <= numKeysModifier and Type  Method and Description 

static <K> Distribution<K> 
average(Distribution<K> d1,
Distribution<K> d2) 
protected static <K> java.util.Set<K> 
getSetOfAllKeys(Distribution<K> d1,
Distribution<K> d2) 
static <K> double 
informationRadius(Distribution<K> d1,
Distribution<K> d2)
Calculates the information radius (aka the JensenShannon divergence)
between the two Distributions.

static <K> double 
jensenShannonDivergence(Distribution<K> d1,
Distribution<K> d2)
Calculates the JensenShannon divergence between the two distributions.

static <K> double 
klDivergence(Distribution<K> from,
Distribution<K> to)
Calculates the KL divergence between the two distributions.

static <K> double 
overlap(Distribution<K> d1,
Distribution<K> d2)
Returns a double between 0 and 1 representing the overlap of d1 and d2.

static <K> double 
skewDivergence(Distribution<K> d1,
Distribution<K> d2,
double skew)
Calculates the skew divergence between the two distributions.

static <K> Distribution<K> 
weightedAverage(Distribution<K> d1,
double w1,
Distribution<K> d2)
Returns a new Distribution

protected static <K> java.util.Set<K> getSetOfAllKeys(Distribution<K> d1, Distribution<K> d2)
public static <K> double overlap(Distribution<K> d1, Distribution<K> d2)
public static <K> Distribution<K> weightedAverage(Distribution<K> d1, double w1, Distribution<K> d2)
public static <K> Distribution<K> average(Distribution<K> d1, Distribution<K> d2)
public static <K> double klDivergence(Distribution<K> from, Distribution<K> to)
public static <K> double jensenShannonDivergence(Distribution<K> d1, Distribution<K> d2)
public static <K> double skewDivergence(Distribution<K> d1, Distribution<K> d2, double skew)
public static <K> double informationRadius(Distribution<K> d1, Distribution<K> d2)
iRad(p,q) = D(p(p+q)/2)+D(q,(p+q)/2)where p is one Distribution, q is the other distribution, and D(pq) is the KL divergence bewteen p and q. Note that iRad(p,q) = iRad(q,p).