gov.sandia.cognition.statistics.distribution

## Class BinomialDistribution

• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`static class ` `BinomialDistribution.CDF`
CDF of the Binomial distribution, which is the probability of getting up to "x" successes in "N" trials with a Bernoulli probability of "p"
`static class ` `BinomialDistribution.MaximumLikelihoodEstimator`
Maximum likelihood estimator of the distribution
`static class ` `BinomialDistribution.PMF`
The Probability Mass Function of a binomial distribution.
• ### Field Summary

Fields
Modifier and Type Field and Description
`static int` `DEFAULT_N`
Default N, 1.
`static double` `DEFAULT_P`
Default p, 0.5.
• ### Constructor Summary

Constructors
Constructor and Description
`BinomialDistribution()`
Default constructor.
`BinomialDistribution(BinomialDistribution other)`
Copy constructor
```BinomialDistribution(int N, double p)```
Creates a new instance of BinomialDistribution
• ### Method Summary

All Methods
Modifier and Type Method and Description
`BinomialDistribution` `clone()`
This makes public the clone method on the `Object` class and removes the exception that it throws.
`void` `convertFromVector(Vector parameters)`
Converts the object from a Vector of parameters.
`Vector` `convertToVector()`
Converts the object to a vector.
`BinomialDistribution.CDF` `getCDF()`
Gets the CDF of a scalar distribution.
`IntegerSpan` `getDomain()`
Returns an object that allows an iteration through the domain (x-axis, independent variable) of the Distribution
`int` `getDomainSize()`
Gets the size of the domain.
`BinomialDistribution.MaximumLikelihoodEstimator` `getEstimator()`
Gets an estimator associated with this distribution.
`java.lang.Integer` `getMaxSupport()`
Gets the minimum support (domain or input) of the distribution.
`java.lang.Double` `getMean()`
Gets the arithmetic mean, or "first central moment" or "expectation", of the distribution.
`double` `getMeanAsDouble()`
Gets the mean of the distribution as a double.
`java.lang.Integer` `getMinSupport()`
Gets the minimum support (domain or input) of the distribution.
`int` `getN()`
Getter for N
`double` `getP()`
Getter for p
`BinomialDistribution.PMF` `getProbabilityFunction()`
Gets the distribution function associated with this Distribution, either the PDF or PMF.
`double` `getVariance()`
Gets the variance of the distribution.
`int` `sampleAsInt(java.util.Random random)`
Draws a single random sample from the distribution as an int.
`void` ```sampleInto(java.util.Random random, int[] output, int start, int length)```
Samples values from this distribution as an array of ints.
`void` ```sampleInto(java.util.Random random, int sampleCount, java.util.Collection<? super java.lang.Number> output)```
Draws multiple random samples from the distribution and puts the result into the given collection.
`void` `setN(int N)`
Setter for N
`void` `setP(double p)`
Setter for p
• ### Methods inherited from class gov.sandia.cognition.statistics.AbstractClosedFormIntegerDistribution

`sampleAsInts`
• ### Methods inherited from class gov.sandia.cognition.statistics.AbstractDistribution

`sample, sample`
• ### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Methods inherited from interface gov.sandia.cognition.statistics.Distribution

`sample, sample`
• ### Field Detail

• #### DEFAULT_P

`public static final double DEFAULT_P`
Default p, 0.5.
Constant Field Values
• #### DEFAULT_N

`public static final int DEFAULT_N`
Default N, 1.
Constant Field Values
• ### Constructor Detail

• #### BinomialDistribution

`public BinomialDistribution()`
Default constructor.
• #### BinomialDistribution

```public BinomialDistribution(int N,
double p)```
Creates a new instance of BinomialDistribution
Parameters:
`N` - Total number of experiments, must be greater than zero
`p` - Probability of a positive outcome (Bernoulli probability), [0,1]
• #### BinomialDistribution

`public BinomialDistribution(BinomialDistribution other)`
Copy constructor
Parameters:
`other` - BinomialDistribution to copy
• ### Method Detail

• #### clone

`public BinomialDistribution clone()`
Description copied from class: `AbstractCloneableSerializable`
This makes public the clone method on the `Object` class and removes the exception that it throws. Its default behavior is to automatically create a clone of the exact type of object that the clone is called on and to copy all primitives but to keep all references, which means it is a shallow copy. Extensions of this class may want to override this method (but call `super.clone()` to implement a "smart copy". That is, to target the most common use case for creating a copy of the object. Because of the default behavior being a shallow copy, extending classes only need to handle fields that need to have a deeper copy (or those that need to be reset). Some of the methods in `ObjectUtil` may be helpful in implementing a custom clone method. Note: The contract of this method is that you must use `super.clone()` as the basis for your implementation.
Specified by:
`clone` in interface `Vectorizable`
Specified by:
`clone` in interface `CloneableSerializable`
Overrides:
`clone` in class `AbstractClosedFormUnivariateDistribution<java.lang.Number>`
Returns:
A clone of this object.
• #### getMean

`public java.lang.Double getMean()`
Description copied from interface: `DistributionWithMean`
Gets the arithmetic mean, or "first central moment" or "expectation", of the distribution.
Specified by:
`getMean` in interface `DistributionWithMean<java.lang.Number>`
Returns:
Mean of the distribution.
• #### getMeanAsDouble

`public double getMeanAsDouble()`
Description copied from interface: `UnivariateDistribution`
Gets the mean of the distribution as a double.
Specified by:
`getMeanAsDouble` in interface `UnivariateDistribution<java.lang.Number>`
Returns:
The mean as a double.
• #### getVariance

`public double getVariance()`
Gets the variance of the distribution. This is sometimes called the second central moment by more pedantic people, which is equivalent to the square of the standard deviation.
Specified by:
`getVariance` in interface `UnivariateDistribution<java.lang.Number>`
Returns:
Variance of the distribution.
• #### sampleInto

```public void sampleInto(java.util.Random random,
int sampleCount,
java.util.Collection<? super java.lang.Number> output)```
Description copied from interface: `Distribution`
Draws multiple random samples from the distribution and puts the result into the given collection.
Specified by:
`sampleInto` in interface `Distribution<java.lang.Number>`
Parameters:
`random` - Random number generator to use.
`sampleCount` - The number of samples to draw. Cannot be negative.
`output` - The collection to add the samples into.
• #### sampleAsInt

`public int sampleAsInt(java.util.Random random)`
Description copied from interface: `IntegerDistribution`
Draws a single random sample from the distribution as an int.
Specified by:
`sampleAsInt` in interface `IntegerDistribution`
Parameters:
`random` - The random number generator to use.
Returns:
A sample from the distribution.
• #### sampleInto

```public void sampleInto(java.util.Random random,
int[] output,
int start,
int length)```
Description copied from interface: `IntegerDistribution`
Samples values from this distribution as an array of ints. This is a convenience method to potentially avoid boxing.
Specified by:
`sampleInto` in interface `IntegerDistribution`
Overrides:
`sampleInto` in class `AbstractClosedFormIntegerDistribution`
Parameters:
`random` - Random number generator to use.
`output` - The array to write the result into. Cannot be null.
`start` - The offset in the array to start writing at. Cannot be negative.
`length` - The number of values to sample. Cannot be negative.
• #### convertToVector

`public Vector convertToVector()`
Description copied from interface: `Vectorizable`
Converts the object to a vector.
Specified by:
`convertToVector` in interface `Vectorizable`
Returns:
The Vector form of the object.
• #### convertFromVector

`public void convertFromVector(Vector parameters)`
Description copied from interface: `Vectorizable`
Converts the object from a Vector of parameters.
Specified by:
`convertFromVector` in interface `Vectorizable`
Parameters:
`parameters` - The parameters to incorporate.
• #### getN

`public int getN()`
Getter for N
Returns:
Total number of experiments, must be greater than zero
• #### setN

`public void setN(int N)`
Setter for N
Parameters:
`N` - Total number of experiments, must be greater than zero
• #### getP

`public double getP()`
Getter for p
Returns:
Probability of a positive outcome (Bernoulli probability), [0,1]
• #### setP

`public void setP(double p)`
Setter for p
Parameters:
`p` - Probability of a positive outcome (Bernoulli probability), [0,1]
• #### getDomain

`public IntegerSpan getDomain()`
Description copied from interface: `DiscreteDistribution`
Returns an object that allows an iteration through the domain (x-axis, independent variable) of the Distribution
Specified by:
`getDomain` in interface `DiscreteDistribution<java.lang.Number>`
Returns:
Collection that enumerates each value that the domain can take
• #### getDomainSize

`public int getDomainSize()`
Description copied from interface: `DiscreteDistribution`
Gets the size of the domain.
Specified by:
`getDomainSize` in interface `DiscreteDistribution<java.lang.Number>`
Returns:
The size of the domain.
• #### getCDF

`public BinomialDistribution.CDF getCDF()`
Description copied from interface: `UnivariateDistribution`
Gets the CDF of a scalar distribution.
Specified by:
`getCDF` in interface `ClosedFormUnivariateDistribution<java.lang.Number>`
Specified by:
`getCDF` in interface `UnivariateDistribution<java.lang.Number>`
Returns:
CDF of the scalar distribution.
• #### getProbabilityFunction

`public BinomialDistribution.PMF 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<java.lang.Number>`
Specified by:
`getProbabilityFunction` in interface `DiscreteDistribution<java.lang.Number>`
Returns:
Distribution function associated with this Distribution.
• #### getMinSupport

`public java.lang.Integer getMinSupport()`
Description copied from interface: `UnivariateDistribution`
Gets the minimum support (domain or input) of the distribution.
Specified by:
`getMinSupport` in interface `UnivariateDistribution<java.lang.Number>`
Returns:
Minimum support.
• #### getMaxSupport

`public java.lang.Integer getMaxSupport()`
Description copied from interface: `UnivariateDistribution`
Gets the minimum support (domain or input) of the distribution.
Specified by:
`getMaxSupport` in interface `UnivariateDistribution<java.lang.Number>`
Returns:
Minimum support.
• #### getEstimator

`public BinomialDistribution.MaximumLikelihoodEstimator getEstimator()`
Description copied from interface: `EstimableDistribution`
Gets an estimator associated with this distribution.
Specified by:
`getEstimator` in interface `EstimableDistribution<java.lang.Number,BinomialDistribution>`
Returns:
A distribution estimator associated for this distribution.