public class MultivariateGaussianDistribution extends AbstractMultivariateDistribution implements MultivariateExponentialFamily
GaussianDistribution| Constructor and Description |
|---|
MultivariateGaussianDistribution(double[][] data)
Constructor.
|
MultivariateGaussianDistribution(double[][] data,
boolean diagonal)
Constructor.
|
MultivariateGaussianDistribution(double[] mean,
double var)
Constructor.
|
MultivariateGaussianDistribution(double[] mean,
double[] var)
Constructor.
|
MultivariateGaussianDistribution(double[] mean,
double[][] cov)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double |
cdf(double[] x)
Algorithm from Alan Genz (1992) Numerical Computation of
Multivariate Normal Probabilities, Journal of Computational and
Graphical Statistics, pp.
|
double[][] |
cov()
The covariance matrix of distribution.
|
double |
entropy()
Shannon entropy of the distribution.
|
boolean |
isDiagonal()
Returns true if the covariance matrix is diagonal.
|
double |
logp(double[] x)
The density at x in log scale, which may prevents the underflow problem.
|
MultivariateMixture.Component |
M(double[][] x,
double[] posteriori)
The M step in the EM algorithm, which depends the specific distribution.
|
double[] |
mean()
The mean vector of distribution.
|
int |
npara()
The number of parameters of the distribution.
|
double |
p(double[] x)
The probability density function for continuous distribution
or probability mass function for discrete distribution at x.
|
double[] |
rand()
Generate a random multivariate Gaussian sample.
|
double |
scatter()
Returns the scatter of distribution, which is defined as |Σ|.
|
java.lang.String |
toString() |
likelihood, logLikelihoodpublic MultivariateGaussianDistribution(double[] mean,
double var)
mean - mean vector.var - variance.public MultivariateGaussianDistribution(double[] mean,
double[] var)
mean - mean vector.var - variance vector.public MultivariateGaussianDistribution(double[] mean,
double[][] cov)
mean - mean vector.cov - covariance matrix.public MultivariateGaussianDistribution(double[][] data)
data - the training data.public MultivariateGaussianDistribution(double[][] data,
boolean diagonal)
data - the training data.diagonal - true if covariance matrix is diagonal.public boolean isDiagonal()
public int npara()
MultivariateDistributionnpara in interface MultivariateDistributionpublic double entropy()
MultivariateDistributionentropy in interface MultivariateDistributionpublic double[] mean()
MultivariateDistributionmean in interface MultivariateDistributionpublic double[][] cov()
MultivariateDistributioncov in interface MultivariateDistributionpublic double scatter()
public double logp(double[] x)
MultivariateDistributionlogp in interface MultivariateDistributionpublic double p(double[] x)
MultivariateDistributionp in interface MultivariateDistributionpublic double cdf(double[] x)
cdf in interface MultivariateDistributionpublic double[] rand()
public MultivariateMixture.Component M(double[][] x, double[] posteriori)
MultivariateExponentialFamilyM in interface MultivariateExponentialFamilyx - the input data for estimationposteriori - the posteriori probability.public java.lang.String toString()
toString in class java.lang.Object