public class BinomialDistribution extends AbstractIntegerDistribution
random, randomData
Constructor and Description 

BinomialDistribution(int trials,
double p)
Create a binomial distribution with the given number of trials and
probability of success.

BinomialDistribution(RandomGenerator rng,
int trials,
double p)
Creates a binomial distribution.

Modifier and Type  Method and Description 

double 
cumulativeProbability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X <= x) . 
int 
getNumberOfTrials()
Access the number of trials 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.

double 
logProbability(int x)
For a random variable
X whose values are distributed according to
this distribution, this method returns log(P(X = x)) , where
log is the natural logarithm. 
double 
probability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X = x) . 
cumulativeProbability, inverseCumulativeProbability, reseedRandomGenerator, sample, sample, solveInverseCumulativeProbability
public BinomialDistribution(int trials, double p)
Note: this constructor will implicitly create an instance of
Well19937c
as random generator to be used for sampling only (see
AbstractIntegerDistribution.sample()
and AbstractIntegerDistribution.sample(int)
). In case no sampling is
needed for the created distribution, it is advised to pass null
as random generator via the appropriate constructors to avoid the
additional initialisation overhead.
trials
 Number of trials.p
 Probability of success.NotPositiveException
 if trials < 0
.OutOfRangeException
 if p < 0
or p > 1
.public BinomialDistribution(RandomGenerator rng, int trials, double p)
rng
 Random number generator.trials
 Number of trials.p
 Probability of success.NotPositiveException
 if trials < 0
.OutOfRangeException
 if p < 0
or p > 1
.public int getNumberOfTrials()
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 evaluatedx
public double logProbability(int x)
X
whose values are distributed according to
this distribution, this method returns log(P(X = x))
, where
log
is the natural logarithm. In other words, this method
represents the logarithm of the probability mass function (PMF) for the
distribution. Note that due to the floating point precision and
under/overflow issues, this method will for some distributions be more
precise and faster than computing the logarithm of
IntegerDistribution.probability(int)
.
The default implementation simply computes the logarithm of probability(x)
.
logProbability
in class AbstractIntegerDistribution
x
 the point at which the PMF is evaluatedx
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 evaluatedx
public double getNumericalMean()
n
trials and probability parameter p
, the mean is
n * p
.Double.NaN
if it is not definedpublic double getNumericalVariance()
n
trials and probability parameter p
, the variance is
n * p * (1  p)
.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}
.
p = 1
.public int getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R  P(X <= x) = 1}
.
p = 0
.public boolean isSupportConnected()
true
Copyright © 2003–2015 The Apache Software Foundation. All rights reserved.