gov.sandia.cognition.statistics.distribution
Class GammaDistribution.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.GammaDistribution
                      extended by gov.sandia.cognition.statistics.distribution.GammaDistribution.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,GammaDistribution>, ProbabilityDensityFunction<Double>, ProbabilityFunction<Double>, SmoothUnivariateDistribution, UnivariateDistribution<Double>, UnivariateProbabilityDensityFunction, CloneableSerializable, Serializable, Cloneable
Enclosing class:
GammaDistribution

public static class GammaDistribution.PDF
extends GammaDistribution
implements UnivariateProbabilityDensityFunction

Closed-form PDF of the Gamma distribution

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class gov.sandia.cognition.statistics.distribution.GammaDistribution
GammaDistribution.CDF, GammaDistribution.MomentMatchingEstimator, GammaDistribution.PDF, GammaDistribution.WeightedMomentMatchingEstimator
 
Field Summary
 
Fields inherited from class gov.sandia.cognition.statistics.distribution.GammaDistribution
DEFAULT_SCALE, DEFAULT_SHAPE
 
Constructor Summary
GammaDistribution.PDF()
          Default constructor.
GammaDistribution.PDF(double shape, double scale)
          Creates a new instance of PDF
GammaDistribution.PDF(GammaDistribution other)
          Copy constructor
 
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 shape, double scale)
          Evaluates the Gamma PDF about the input "x", using the given shape and scale
 double evaluateAsDouble(Double input)
          Evaluates the scalar function as a double.
 GammaDistribution.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 input, double shape, double scale)
          Evaluates the natural logarithm of the PDF.
 
Methods inherited from class gov.sandia.cognition.statistics.distribution.GammaDistribution
clone, convertFromVector, convertToVector, getCDF, getEstimator, getMaxSupport, getMean, getMinSupport, getScale, getShape, getVariance, sample, sample, setScale, setShape, toString
 
Methods inherited from class gov.sandia.cognition.statistics.AbstractDistribution
sample
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, 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

GammaDistribution.PDF

public GammaDistribution.PDF()
Default constructor.


GammaDistribution.PDF

public GammaDistribution.PDF(double shape,
                             double scale)
Creates a new instance of PDF

Parameters:
shape - Shape parameter of the Gamma distribution, often written as "k", must be greater than zero
scale - Scale parameters of the Gamma distribution, often written as "theta", must be greater than zero. Note that this is the INVERSE of what octave uses!!

GammaDistribution.PDF

public GammaDistribution.PDF(GammaDistribution other)
Copy constructor

Parameters:
other - GammaDistribution to copy
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 shape,
                              double scale)
Evaluates the Gamma PDF about the input "x", using the given shape and scale

Parameters:
x - Input to the PDF
shape - Shape parameter of the Gamma distribution, often written as "k", must be greater than zero
scale - Scale parameters of the Gamma distribution, often written as "theta", must be greater than zero. Note that this is the INVERSE of what octave uses!!
Returns:
p(x;shape,scale)

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 input,
                                 double shape,
                                 double scale)
Evaluates the natural logarithm of the PDF.

Parameters:
input - Input to consider.
shape - Shape factor.
scale - Scale factor.
Returns:
Natural logarithm of the PDF.

getProbabilityFunction

public GammaDistribution.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 GammaDistribution
Returns:
Distribution function associated with this Distribution.