Learn R Programming

mclust (version 3.4.7)

mvnX: Univariate or Multivariate Normal Fit

Description

Computes the mean, covariance, and loglikelihood from fitting a single Gaussian (univariate or multivariate normal).

Usage

mvnX(data, prior = NULL, warn = NULL, ...)
mvnXII(data, prior = NULL, warn = NULL, ...)
mvnXXI(data, prior = NULL, warn = NULL, ...)
mvnXXX(data, prior = NULL, warn = NULL, ...)

Arguments

data
A numeric vector, matrix, or data frame of observations. Categorical variables are not allowed. If a matrix or data frame, rows correspond to observations and columns correspond to variables.
prior
Specification of a conjugate prior on the means and variances. The default assumes no prior.
warn
A logical value indicating whether or not a warning should be issued whenever a singularity is encountered. The default is set in .Mclust$warn.
...
Catches unused arguments in indirect or list calls via do.call.

Value

  • A list including the following components:
  • modelNameA character string identifying the model (same as the input argument).
  • parameters[object Object],[object Object]
  • loglikThe log likelihood for the data in the mixture model.
  • Attributes:
    • "WARNING"
    { An appropriate warning if problems are encountered in the computations. }

References

C. Fraley and A. E. Raftery (2002). Model-based clustering, discriminant analysis, and density estimation. Journal of the American Statistical Association 97:611-631.

C. Fraley and A. E. Raftery (2006). MCLUST Version 3: An R Package for Normal Mixture Modeling and Model-Based Clustering, Technical Report, Department of Statistics, University of Washington.

Details

  • mvnXIIcomputes the best fitting Gaussian with the covariance restricted to be a multiple of the identity.
  • mvnXXIcomputes the best fitting Gaussian with the covariance restricted to be diagonal.
  • mvnXXXcomputes the best fitting Gaussian with ellipsoidal (unrestricted) covariance.

See Also

mvn, mstepE

Examples

Run this code
n <- 1000

set.seed(0)
x <- rnorm(n, mean = -1, sd = 2)
mvnX(x) 

mu <- c(-1, 0, 1)

set.seed(0)
x <- sweep(matrix(rnorm(n*3), n, 3) %*% (2*diag(3)), 
           MARGIN = 2, STATS = mu, FUN = "+")
mvnXII(x) 

set.seed(0)
x <- sweep(matrix(rnorm(n*3), n, 3) %*% diag(1:3), 
           MARGIN = 2, STATS = mu, FUN = "+")
mvnXXI(x)

Sigma <- matrix(c(9,-4,1,-4,9,4,1,4,9), 3, 3)
set.seed(0)
x <- sweep(matrix(rnorm(n*3), n, 3) %*% chol(Sigma), 
           MARGIN = 2, STATS = mu, FUN = "+")
mvnXXX(x)

Run the code above in your browser using DataLab