

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object org.apache.commons.math3.distribution.AbstractIntegerDistribution org.apache.commons.math3.distribution.PascalDistribution
public class PascalDistribution
Implementation of the Pascal distribution. The Pascal distribution is a special case of the Negative Binomial distribution where the number of successes parameter is an integer.
There are various ways to express the probability mass and distribution
functions for the Pascal distribution. The present implementation represents
the distribution of the number of failures before r
successes occur.
This is the convention adopted in e.g.
MathWorld,
but not in
Wikipedia.
For a random variable X
whose values are distributed according to this
distribution, the probability mass function is given by
P(X = k) = C(k + r  1, r  1) * p^r * (1  p)^k,
where r
is the number of successes, p
is the probability of
success, and X
is the total number of failures. C(n, k)
is
the binomial coefficient (n
choose k
). The mean and variance
of X
are
E(X) = (1  p) * r / p, var(X) = (1  p) * r / p^2.
Finally, the cumulative distribution function is given by
P(X <= k) = I(p, r, k + 1)
,
where I is the regularized incomplete Beta function.
Field Summary 

Fields inherited from class org.apache.commons.math3.distribution.AbstractIntegerDistribution 

random, randomData 
Constructor Summary  

PascalDistribution(int r,
double p)
Create a Pascal distribution with the given number of successes and probability of success. 

PascalDistribution(RandomGenerator rng,
int r,
double p)
Create a Pascal distribution with the given number of successes and probability of success. 
Method Summary  

double 
cumulativeProbability(int x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X <= x) . 
int 
getNumberOfSuccesses()
Access the number of successes for this distribution. 
double 
getNumericalMean()
Use this method to get the numerical value of the mean of this distribution. 
double 
getNumericalVariance()
Use this method to get the numerical value of the variance of this distribution. 
double 
getProbabilityOfSuccess()
Access the probability of success for this distribution. 
int 
getSupportLowerBound()
Access the lower bound of the support. 
int 
getSupportUpperBound()
Access the upper bound of the support. 
boolean 
isSupportConnected()
Use this method to get information about whether the support is connected, i.e. whether all integers between the lower and upper bound of the support are included in the support. 
double 
probability(int x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X = x) . 
Methods inherited from class org.apache.commons.math3.distribution.AbstractIntegerDistribution 

cumulativeProbability, inverseCumulativeProbability, reseedRandomGenerator, sample, sample, solveInverseCumulativeProbability 
Methods inherited from class java.lang.Object 

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 

public PascalDistribution(int r, double p) throws NotStrictlyPositiveException, OutOfRangeException
r
 Number of successes.p
 Probability of success.
NotStrictlyPositiveException
 if the number of successes is not positive
OutOfRangeException
 if the probability of success is not in the
range [0, 1]
.public PascalDistribution(RandomGenerator rng, int r, double p) throws NotStrictlyPositiveException, OutOfRangeException
rng
 Random number generator.r
 Number of successes.p
 Probability of success.
NotStrictlyPositiveException
 if the number of successes is not positive
OutOfRangeException
 if the probability of success is not in the
range [0, 1]
.Method Detail 

public int getNumberOfSuccesses()
public double getProbabilityOfSuccess()
public double probability(int x)
X
whose values are distributed according
to this distribution, this method returns P(X = x)
. In other
words, this method represents the probability mass function (PMF)
for the distribution.
x
 the point at which the PMF is evaluated
x
public double cumulativeProbability(int x)
X
whose values are distributed according
to this distribution, this method returns P(X <= x)
. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.
x
 the point at which the CDF is evaluated
x
public double getNumericalMean()
r
and probability of success p
,
the mean is r * (1  p) / p
.
Double.NaN
if it is not definedpublic double getNumericalVariance()
r
and probability of success p
,
the variance is r * (1  p) / p^2
.
Double.POSITIVE_INFINITY
or
Double.NaN
if it is not defined)public int getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in Z  P(X <= x) > 0}
.
public int getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R  P(X <= x) = 1}
.
Integer.MAX_VALUE
.
Integer.MAX_VALUE
for positive infinity)public boolean isSupportConnected()
true


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 