gov.sandia.cognition.statistics.distribution

## Class MultivariateStudentTDistribution

• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`static class ` `MultivariateStudentTDistribution.PDF`
PDF of the MultivariateStudentTDistribution
• ### Field Summary

Fields
Modifier and Type Field and Description
`static double` `DEFAULT_DEGREES_OF_FREEDOM`
Default degrees of freedom, 3.0.
`static int` `DEFAULT_DIMENSIONALITY`
Default dimensionality, 2.
`protected double` `degreesOfFreedom`
Degrees of freedom in the distribution, usually the number of datapoints - 1, DOFs must be greater than zero.
`protected Vector` `mean`
Mean, or noncentrality parameter, of the distribution
• ### Constructor Summary

Constructors
Constructor and Description
`MultivariateStudentTDistribution()`
Creates a new instance of MultivariateStudentTDistribution
```MultivariateStudentTDistribution(double degreesOfFreedom, Vector mean, Matrix precision)```
Creates a distribution with the given dimensionality.
`MultivariateStudentTDistribution(int dimensionality)`
Creates a distribution with the given dimensionality.
`MultivariateStudentTDistribution(MultivariateStudentTDistribution other)`
Copy constructor
• ### Method Summary

All Methods
Modifier and Type Method and Description
`MultivariateStudentTDistribution` `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.
`Matrix` `getCovariance()`
Computes the covariance of the distribution, which involves inverting the precision matrix.
`double` `getDegreesOfFreedom()`
Getter for degreesOfFreedom
`int` `getInputDimensionality()`
Gets the dimensionality of the distribution.
`Vector` `getMean()`
Gets the arithmetic mean, or "first central moment" or "expectation", of the distribution.
`Matrix` `getPrecision()`
Getter for precision
`MultivariateStudentTDistribution.PDF` `getProbabilityFunction()`
Gets the distribution function associated with this Distribution, either the PDF or PMF.
`void` ```sampleInto(java.util.Random random, int sampleCount, java.util.Collection<? super Vector> output)```
Draws multiple random samples from the distribution and puts the result into the given collection.
`void` `setDegreesOfFreedom(double degreesOfFreedom)`
Setter for degreesOfFreedom
`void` `setMean(Vector mean)`
Setter for mean
`void` `setPrecision(Matrix precision)`
Setter for precision
• ### 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_DIMENSIONALITY

`public static final int DEFAULT_DIMENSIONALITY`
Default dimensionality, 2.
Constant Field Values
• #### DEFAULT_DEGREES_OF_FREEDOM

`public static final double DEFAULT_DEGREES_OF_FREEDOM`
Default degrees of freedom, 3.0.
Constant Field Values
• #### degreesOfFreedom

`protected double degreesOfFreedom`
Degrees of freedom in the distribution, usually the number of datapoints - 1, DOFs must be greater than zero.
• #### mean

`protected Vector mean`
Mean, or noncentrality parameter, of the distribution
• ### Constructor Detail

• #### MultivariateStudentTDistribution

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

`public MultivariateStudentTDistribution(int dimensionality)`
Creates a distribution with the given dimensionality.
Parameters:
`dimensionality` - Dimensionality of the distribution.
• #### MultivariateStudentTDistribution

```public MultivariateStudentTDistribution(double degreesOfFreedom,
Vector mean,
Matrix precision)```
Creates a distribution with the given dimensionality.
Parameters:
`degreesOfFreedom` - Degrees of freedom in the distribution, usually the number of datapoints - 1, DOFs must be greater than zero.
`mean` - Mean, or noncentrality parameter, of the distribution
`precision` - Precision, which is proportionate to the inverse of variance, of the distribution, must be symmetric and positive definite.
• #### MultivariateStudentTDistribution

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

• #### clone

`public MultivariateStudentTDistribution 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 `AbstractCloneableSerializable`
Returns:
A clone of this object.
• #### getDegreesOfFreedom

`public double getDegreesOfFreedom()`
Getter for degreesOfFreedom
Returns:
Degrees of freedom in the distribution, usually the number of datapoints - 1, DOFs must be greater than zero.
• #### setDegreesOfFreedom

`public void setDegreesOfFreedom(double degreesOfFreedom)`
Setter for degreesOfFreedom
Parameters:
`degreesOfFreedom` - Degrees of freedom in the distribution, usually the number of datapoints - 1, DOFs must be greater than zero.
• #### getMean

`public Vector 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<Vector>`
Returns:
Mean of the distribution.
• #### setMean

`public void setMean(Vector mean)`
Setter for mean
Parameters:
`mean` - Mean, or noncentrality parameter, of the distribution
• #### getPrecision

`public Matrix getPrecision()`
Getter for precision
Returns:
Precision, which is proportionate to the inverse of variance, of the distribution, must be symmetric and positive definite.
• #### setPrecision

`public void setPrecision(Matrix precision)`
Setter for precision
Parameters:
`precision` - Precision, which is proportionate to the inverse of variance, of the distribution, must be symmetric and positive definite.
• #### getCovariance

`public Matrix getCovariance()`
Computes the covariance of the distribution, which involves inverting the precision matrix.
Returns:
covariance of the distribution, which involves inverting the precision matrix.
• #### sampleInto

```public void sampleInto(java.util.Random random,
int sampleCount,
java.util.Collection<? super Vector> 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<Vector>`
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.
• #### getInputDimensionality

`public int getInputDimensionality()`
Gets the dimensionality of the distribution.
Returns:
Dimensionality of the distribution.
• #### getProbabilityFunction

`public MultivariateStudentTDistribution.PDF 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<Vector>`
Returns:
Distribution function associated with this Distribution.