org.apache.commons.math3.distribution
Class SaddlePointExpansion

java.lang.Object
  extended by org.apache.commons.math3.distribution.SaddlePointExpansion

final class SaddlePointExpansion
extends Object

Utility class used by various distributions to accurately compute their respective probability mass functions. The implementation for this class is based on the Catherine Loader's dbinom routines.

This class is not intended to be called directly.

References:

  1. Catherine Loader (2000). "Fast and Accurate Computation of Binomial Probabilities.". http://www.herine.net/stat/papers/dbinom.pdf

Since:
2.1
Version:
$Id: SaddlePointExpansion.java 1416643 2012-12-03 19:37:14Z tn $

Field Summary
private static double[] EXACT_STIRLING_ERRORS
          exact Stirling expansion error for certain values.
private static double HALF_LOG_2_PI
          1/2 * log(2 π).
 
Constructor Summary
private SaddlePointExpansion()
          Default constructor.
 
Method Summary
(package private) static double getDeviancePart(double x, double mu)
          A part of the deviance portion of the saddle point approximation.
(package private) static double getStirlingError(double z)
          Compute the error of Stirling's series at the given value.
(package private) static double logBinomialProbability(int x, int n, double p, double q)
          Compute the logarithm of the PMF for a binomial distribution using the saddle point expansion.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HALF_LOG_2_PI

private static final double HALF_LOG_2_PI
1/2 * log(2 π).


EXACT_STIRLING_ERRORS

private static final double[] EXACT_STIRLING_ERRORS
exact Stirling expansion error for certain values.

Constructor Detail

SaddlePointExpansion

private SaddlePointExpansion()
Default constructor.

Method Detail

getStirlingError

static double getStirlingError(double z)
Compute the error of Stirling's series at the given value.

References:

  1. Eric W. Weisstein. "Stirling's Series." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/StirlingsSeries.html

Parameters:
z - the value.
Returns:
the Striling's series error.

getDeviancePart

static double getDeviancePart(double x,
                              double mu)
A part of the deviance portion of the saddle point approximation.

References:

  1. Catherine Loader (2000). "Fast and Accurate Computation of Binomial Probabilities.". http://www.herine.net/stat/papers/dbinom.pdf

Parameters:
x - the x value.
mu - the average.
Returns:
a part of the deviance.

logBinomialProbability

static double logBinomialProbability(int x,
                                     int n,
                                     double p,
                                     double q)
Compute the logarithm of the PMF for a binomial distribution using the saddle point expansion.

Parameters:
x - the value at which the probability is evaluated.
n - the number of trials.
p - the probability of success.
q - the probability of failure (1 - p).
Returns:
log(p(x)).


Copyright (c) 2003-2013 Apache Software Foundation