gov.sandia.cognition.statistics.distribution
Class BetaDistribution.PDF

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.statistics.AbstractDistribution<NumberType>
          extended by gov.sandia.cognition.statistics.AbstractClosedFormUnivariateDistribution<Double>
              extended by gov.sandia.cognition.statistics.AbstractClosedFormSmoothUnivariateDistribution
                  extended by gov.sandia.cognition.statistics.distribution.BetaDistribution
                      extended by gov.sandia.cognition.statistics.distribution.BetaDistribution.PDF
All Implemented Interfaces:
Evaluator<Double,Double>, Vectorizable, ScalarFunction<Double>, UnivariateScalarFunction, ClosedFormComputableDistribution<Double>, ClosedFormDistribution<Double>, ClosedFormUnivariateDistribution<Double>, ComputableDistribution<Double>, Distribution<Double>, DistributionWithMean<Double>, EstimableDistribution<Double,BetaDistribution>, ProbabilityDensityFunction<Double>, ProbabilityFunction<Double>, SmoothUnivariateDistribution, UnivariateDistribution<Double>, UnivariateProbabilityDensityFunction, CloneableSerializable, Serializable, Cloneable
Enclosing class:
BetaDistribution

public static class BetaDistribution.PDF
extends BetaDistribution
implements UnivariateProbabilityDensityFunction

Beta distribution probability density function

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class gov.sandia.cognition.statistics.distribution.BetaDistribution
BetaDistribution.CDF, BetaDistribution.MomentMatchingEstimator, BetaDistribution.PDF, BetaDistribution.WeightedMomentMatchingEstimator
 
Field Summary
 
Fields inherited from class gov.sandia.cognition.statistics.distribution.BetaDistribution
DEFAULT_ALPHA, DEFAULT_BETA
 
Constructor Summary
BetaDistribution.PDF()
          Default constructor.
BetaDistribution.PDF(BetaDistribution other)
          Copy constructor
BetaDistribution.PDF(double alpha, double beta)
          Creates a new PDF
 
Method Summary
 double evaluate(double input)
          Produces a double output for the given double input
 Double evaluate(Double input)
          Evaluates the function on the given input and returns the output.
static double evaluate(double x, double alpha, double beta)
          Evaluate the Beta-distribution PDF for beta(x;alpha,beta)
 double evaluateAsDouble(Double input)
          Evaluates the scalar function as a double.
 BetaDistribution.PDF getProbabilityFunction()
          Gets the distribution function associated with this Distribution, either the PDF or PMF.
 double logEvaluate(double input)
          Evaluate the natural logarithm of the distribution function.
 double logEvaluate(Double input)
          Evaluate the natural logarithm of the distribution function.
static double logEvaluate(double x, double alpha, double beta)
          Evaluate the Beta-distribution PDF for beta(x;alpha,beta)
 
Methods inherited from class gov.sandia.cognition.statistics.distribution.BetaDistribution
clone, convertFromVector, convertToVector, getAlpha, getBeta, getCDF, getEstimator, getMaxSupport, getMean, getMinSupport, getVariance, sample, setAlpha, setBeta
 
Methods inherited from class gov.sandia.cognition.statistics.AbstractDistribution
sample
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.statistics.SmoothUnivariateDistribution
getCDF, getMean
 
Methods inherited from interface gov.sandia.cognition.statistics.UnivariateDistribution
getMaxSupport, getMinSupport, getVariance
 
Methods inherited from interface gov.sandia.cognition.statistics.Distribution
sample, sample
 
Methods inherited from interface gov.sandia.cognition.math.matrix.Vectorizable
clone, convertFromVector, convertToVector
 

Constructor Detail

BetaDistribution.PDF

public BetaDistribution.PDF()
Default constructor.


BetaDistribution.PDF

public BetaDistribution.PDF(double alpha,
                            double beta)
Creates a new PDF

Parameters:
alpha - Alpha shape parameter, must be greater than 0 (typically greater than 1)
beta - Beta shape parameter, must be greater than 0 (typically greater than 1)

BetaDistribution.PDF

public BetaDistribution.PDF(BetaDistribution other)
Copy constructor

Parameters:
other - Underlying Beta Distribution
Method Detail

evaluate

public Double evaluate(Double input)
Description copied from interface: Evaluator
Evaluates the function on the given input and returns the output.

Specified by:
evaluate in interface Evaluator<Double,Double>
Parameters:
input - The input to evaluate.
Returns:
The output produced by evaluating the input.

evaluateAsDouble

public double evaluateAsDouble(Double input)
Description copied from interface: ScalarFunction
Evaluates the scalar function as a double.

Specified by:
evaluateAsDouble in interface ScalarFunction<Double>
Parameters:
input - The input value.
Returns:
The scalar output calculated from the given input.

evaluate

public double evaluate(double input)
Description copied from interface: UnivariateScalarFunction
Produces a double output for the given double input

Specified by:
evaluate in interface UnivariateScalarFunction
Parameters:
input - Input to the Evaluator
Returns:
output at the given input

evaluate

public static double evaluate(double x,
                              double alpha,
                              double beta)
Evaluate the Beta-distribution PDF for beta(x;alpha,beta)

Parameters:
x - Input to the beta PDF, must be on the interval [0,1]
alpha - Alpha shape parameter, must be greater than 0 (typically greater than 1)
beta - Beta shape parameter, must be greater than 0 (typically greater than 1)
Returns:
beta(x;alpha,beta)

logEvaluate

public double logEvaluate(Double input)
Description copied from interface: ProbabilityFunction
Evaluate the natural logarithm of the distribution function. This is sometimes more efficient than evaluating the distribution function itself, and when evaluating the product of many independent or exchangeable samples.

Specified by:
logEvaluate in interface ProbabilityFunction<Double>
Returns:
Natural logarithm of the distribution function.

logEvaluate

public double logEvaluate(double input)
Description copied from interface: UnivariateProbabilityDensityFunction
Evaluate the natural logarithm of the distribution function. This is sometimes more efficient than evaluating the distribution function itself, and when evaluating the product of many independent or exchangeable samples.

Specified by:
logEvaluate in interface UnivariateProbabilityDensityFunction
Parameters:
input - The input value.
Returns:
The natural logarithm of the distribution function.

logEvaluate

public static double logEvaluate(double x,
                                 double alpha,
                                 double beta)
Evaluate the Beta-distribution PDF for beta(x;alpha,beta)

Parameters:
x - Input to the beta PDF, must be on the interval [0,1]
alpha - Alpha shape parameter, must be greater than 0 (typically greater than 1)
beta - Beta shape parameter, must be greater than 0 (typically greater than 1)
Returns:
beta(x;alpha,beta)

getProbabilityFunction

public BetaDistribution.PDF getProbabilityFunction()
Description copied from interface: ComputableDistribution
Gets the distribution function associated with this Distribution, either the PDF or PMF.

Specified by:
getProbabilityFunction in interface ComputableDistribution<Double>
Specified by:
getProbabilityFunction in interface ProbabilityDensityFunction<Double>
Specified by:
getProbabilityFunction in interface SmoothUnivariateDistribution
Specified by:
getProbabilityFunction in interface UnivariateProbabilityDensityFunction
Overrides:
getProbabilityFunction in class BetaDistribution
Returns:
Distribution function associated with this Distribution.