gov.sandia.cognition.statistics.distribution

## Class GeometricDistribution

• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`static class ` `GeometricDistribution.CDF`
CDF of the Geometric distribution
`static class ` `GeometricDistribution.MaximumLikelihoodEstimator`
Maximum likelihood estimator of the distribution
`static class ` `GeometricDistribution.PMF`
PMF of the Geometric distribution
• ### Field Summary

Fields
Modifier and Type Field and Description
`static double` `DEFAULT_P`
Default p, 0.5.
`protected double` `p`
Probability of a positive outcome (Bernoulli probability), [0,1]
• ### Constructor Summary

Constructors
Constructor and Description
`GeometricDistribution()`
Creates a new instance of GeometricDistribution
`GeometricDistribution(double p)`
Creates a new instance of GeometricDistribution
`GeometricDistribution(GeometricDistribution other)`
Copy constructor
• ### Method Summary

All Methods
Modifier and Type Method and Description
`GeometricDistribution` `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.
`GeometricDistribution.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.
`GeometricDistribution.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.
`double` `getP()`
Getter for p
`GeometricDistribution.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 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` `setP(double p)`
Setter for p
• ### Methods inherited from class gov.sandia.cognition.statistics.AbstractClosedFormIntegerDistribution

`sampleAsInts, sampleInto`
• ### 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
• #### p

`protected double p`
Probability of a positive outcome (Bernoulli probability), [0,1]
• ### Constructor Detail

• #### GeometricDistribution

`public GeometricDistribution()`
Creates a new instance of GeometricDistribution
• #### GeometricDistribution

`public GeometricDistribution(double p)`
Creates a new instance of GeometricDistribution
Parameters:
`p` - Probability of a positive outcome (Bernoulli probability), [0,1]
• #### GeometricDistribution

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

• #### clone

`public GeometricDistribution 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.
• #### 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]
• #### 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()`
Description copied from interface: `UnivariateDistribution`
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.
• #### 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 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.
• #### 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.
• #### 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.
• #### 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 GeometricDistribution.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 GeometricDistribution.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.
• #### getEstimator

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