Class BinomialDistributionImpl
- java.lang.Object
-
- org.apache.commons.math.distribution.AbstractDistribution
-
- org.apache.commons.math.distribution.AbstractIntegerDistribution
-
- org.apache.commons.math.distribution.BinomialDistributionImpl
-
- All Implemented Interfaces:
java.io.Serializable,BinomialDistribution,DiscreteDistribution,Distribution,IntegerDistribution
public class BinomialDistributionImpl extends AbstractIntegerDistribution implements BinomialDistribution, java.io.Serializable
The default implementation ofBinomialDistribution.- Version:
- $Revision: 1054524 $ $Date: 2011-01-03 05:59:18 +0100 (lun. 03 janv. 2011) $
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.commons.math.distribution.AbstractIntegerDistribution
randomData
-
-
Constructor Summary
Constructors Constructor Description BinomialDistributionImpl(int trials, double p)Create a binomial distribution with the given number of trials and probability of success.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description doublecumulativeProbability(int x)For this distribution, X, this method returns P(X ≤ x).protected intgetDomainLowerBound(double p)Access the domain value lower bound, based onp, used to bracket a PDF root.protected intgetDomainUpperBound(double p)Access the domain value upper bound, based onp, used to bracket a PDF root.intgetNumberOfTrials()Access the number of trials for this distribution.doublegetNumericalMean()Returns the mean.doublegetNumericalVariance()Returns the variance.doublegetProbabilityOfSuccess()Access the probability of success for this distribution.intgetSupportLowerBound()Returns the lower bound of the support for the distribution.intgetSupportUpperBound()Returns the upper bound of the support for the distribution.intinverseCumulativeProbability(double p)For this distribution, X, this method returns the largest x, such that P(X ≤ x) ≤p.doubleprobability(int x)For this distribution, X, this method returns P(X = x).voidsetNumberOfTrials(int trials)Deprecated.as of 2.1 (class will become immutable in 3.0)voidsetProbabilityOfSuccess(double p)Deprecated.as of 2.1 (class will become immutable in 3.0)-
Methods inherited from class org.apache.commons.math.distribution.AbstractIntegerDistribution
cumulativeProbability, cumulativeProbability, cumulativeProbability, isSupportLowerBoundInclusive, isSupportUpperBoundInclusive, probability, reseedRandomGenerator, sample, sample
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.math.distribution.DiscreteDistribution
probability
-
Methods inherited from interface org.apache.commons.math.distribution.Distribution
cumulativeProbability, cumulativeProbability
-
Methods inherited from interface org.apache.commons.math.distribution.IntegerDistribution
cumulativeProbability
-
-
-
-
Method Detail
-
getNumberOfTrials
public int getNumberOfTrials()
Access the number of trials for this distribution.- Specified by:
getNumberOfTrialsin interfaceBinomialDistribution- Returns:
- the number of trials.
-
getProbabilityOfSuccess
public double getProbabilityOfSuccess()
Access the probability of success for this distribution.- Specified by:
getProbabilityOfSuccessin interfaceBinomialDistribution- Returns:
- the probability of success.
-
setNumberOfTrials
@Deprecated public void setNumberOfTrials(int trials)
Deprecated.as of 2.1 (class will become immutable in 3.0)Change the number of trials for this distribution.- Specified by:
setNumberOfTrialsin interfaceBinomialDistribution- Parameters:
trials- the new number of trials.- Throws:
java.lang.IllegalArgumentException- iftrialsis not a valid number of trials.
-
setProbabilityOfSuccess
@Deprecated public void setProbabilityOfSuccess(double p)
Deprecated.as of 2.1 (class will become immutable in 3.0)Change the probability of success for this distribution.- Specified by:
setProbabilityOfSuccessin interfaceBinomialDistribution- Parameters:
p- the new probability of success.- Throws:
java.lang.IllegalArgumentException- ifpis not a valid probability.
-
getDomainLowerBound
protected int getDomainLowerBound(double p)
Access the domain value lower bound, based onp, used to bracket a PDF root.- Specified by:
getDomainLowerBoundin classAbstractIntegerDistribution- Parameters:
p- the desired probability for the critical value- Returns:
- domain value lower bound, i.e. P(X < lower bound) <
p
-
getDomainUpperBound
protected int getDomainUpperBound(double p)
Access the domain value upper bound, based onp, used to bracket a PDF root.- Specified by:
getDomainUpperBoundin classAbstractIntegerDistribution- Parameters:
p- the desired probability for the critical value- Returns:
- domain value upper bound, i.e. P(X < upper bound) >
p
-
cumulativeProbability
public double cumulativeProbability(int x) throws MathExceptionFor this distribution, X, this method returns P(X ≤ x).- Specified by:
cumulativeProbabilityin interfaceIntegerDistribution- Specified by:
cumulativeProbabilityin classAbstractIntegerDistribution- Parameters:
x- the value at which the PDF is evaluated.- Returns:
- PDF for this distribution.
- Throws:
MathException- if the cumulative probability can not be computed due to convergence or other numerical errors.
-
probability
public double probability(int x)
For this distribution, X, this method returns P(X = x).- Specified by:
probabilityin interfaceIntegerDistribution- Parameters:
x- the value at which the PMF is evaluated.- Returns:
- PMF for this distribution.
-
inverseCumulativeProbability
public int inverseCumulativeProbability(double p) throws MathExceptionFor this distribution, X, this method returns the largest x, such that P(X ≤ x) ≤p.Returns
-1for p=0 andInteger.MAX_VALUEfor p=1.- Specified by:
inverseCumulativeProbabilityin interfaceIntegerDistribution- Overrides:
inverseCumulativeProbabilityin classAbstractIntegerDistribution- Parameters:
p- the desired probability- Returns:
- the largest x such that P(X ≤ x) <= p
- Throws:
MathException- if the inverse cumulative probability can not be computed due to convergence or other numerical errors.java.lang.IllegalArgumentException- if p < 0 or p > 1
-
getSupportLowerBound
public int getSupportLowerBound()
Returns the lower bound of the support for the distribution. The lower bound of the support is always 0 no matter the number of trials and probability parameter.- Returns:
- lower bound of the support (always 0)
- Since:
- 2.2
-
getSupportUpperBound
public int getSupportUpperBound()
Returns the upper bound of the support for the distribution. The upper bound of the support is the number of trials.- Returns:
- upper bound of the support (equal to number of trials)
- Since:
- 2.2
-
getNumericalMean
public double getNumericalMean()
Returns the mean. Fornnumber of trials and probability parameterp, the mean isn * p- Returns:
- the mean
- Since:
- 2.2
-
getNumericalVariance
public double getNumericalVariance()
Returns the variance. Fornnumber of trials and probability parameterp, the variance isn * p * (1 - p)- Returns:
- the variance
- Since:
- 2.2
-
-