public class Dirichlet<E> extends java.lang.Object implements ConjugatePrior<Multinomial<E>,E>
Modifier and Type | Method and Description |
---|---|
Multinomial<E> |
drawSample(java.util.Random random) |
static <F> Multinomial<F> |
drawSample(java.util.Random random,
Counter<F> parameters) |
static double[] |
drawSample(java.util.Random random,
double[] parameters) |
Dirichlet<E> |
getPosteriorDistribution(Counter<E> counts)
Gets the ConjugatePrior which results from conditioning on all of these evidence.
|
double |
getPosteriorPredictiveLogProbability(Counter<E> counts,
E object) |
double |
getPosteriorPredictiveProbability(Counter<E> counts,
E object)
Gets the posterior probability of the observation, after conditioning on all of the evidence.
|
double |
getPredictiveLogProbability(E object) |
double |
getPredictiveProbability(E object)
Marginalizes over all possible likelihood distributions to give the marginal probability of
the observation.
|
double |
logProbabilityOf(Multinomial<E> object) |
double |
probabilityOf(Multinomial<E> object) |
static double |
sampleBeta(double a,
double b,
java.util.Random random) |
java.lang.String |
toString() |
static double |
unnormalizedLogProbabilityOf(double[] mult,
double[] params) |
public Multinomial<E> drawSample(java.util.Random random)
drawSample
in interface ProbabilityDistribution<Multinomial<E>>
public static <F> Multinomial<F> drawSample(java.util.Random random, Counter<F> parameters)
public static double[] drawSample(java.util.Random random, double[] parameters)
public static double sampleBeta(double a, double b, java.util.Random random)
public double getPredictiveProbability(E object)
ConjugatePrior
getPredictiveProbability
in interface ConjugatePrior<Multinomial<E>,E>
public double getPredictiveLogProbability(E object)
getPredictiveLogProbability
in interface ConjugatePrior<Multinomial<E>,E>
public Dirichlet<E> getPosteriorDistribution(Counter<E> counts)
ConjugatePrior
getPosteriorDistribution
in interface ConjugatePrior<Multinomial<E>,E>
public double getPosteriorPredictiveProbability(Counter<E> counts, E object)
ConjugatePrior
getPosteriorPredictiveProbability
in interface ConjugatePrior<Multinomial<E>,E>
public double getPosteriorPredictiveLogProbability(Counter<E> counts, E object)
getPosteriorPredictiveLogProbability
in interface ConjugatePrior<Multinomial<E>,E>
public double probabilityOf(Multinomial<E> object)
probabilityOf
in interface ProbabilityDistribution<Multinomial<E>>
public static double unnormalizedLogProbabilityOf(double[] mult, double[] params)
public double logProbabilityOf(Multinomial<E> object)
logProbabilityOf
in interface ProbabilityDistribution<Multinomial<E>>
public java.lang.String toString()
toString
in class java.lang.Object