R: Univariate or Multivariate Normal Fit

mvn {mclust} | R Documentation

## Univariate or Multivariate Normal Fit

### Description

Computes the mean, covariance, and log-likelihood from fitting a single Gaussian to given data (univariate or multivariate normal).

### Usage

    mvn( modelName, data, prior = NULL, warn = NULL, ...)

### Arguments

`modelName` | A character string representing a model name. This can be either `"Spherical"`, `"Diagonal"`, or `"Ellipsoidal"` or else `"X"` for one-dimensional data, `"XII"` for a spherical Gaussian, `"XXI"` for a diagonal Gaussian `"XXX"` for a general ellipsoidal Gaussian
`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 given by `mclust.options("warn")`.
`...` | Catches unused arguments in indirect or list calls via `do.call`.

### Value

A list including the following components:

`modelName` | A character string identifying the model (same as the input argument).
`parameters` | `mean` The mean for each component. If there is more than one component, this is a matrix whose kth column is the mean of the kth component of the mixture model. `variance` A list of variance parameters for the model. The components of this list depend on the model specification. See the help file for `mclustVariance` for details.
`loglik` | The log likelihood for the data in the mixture model.
`Attributes:` | `"WARNING"` An appropriate warning if problems are encountered in the computations.

### See Also

`mvnX`, `mvnXII`, `mvnXXI`, `mvnXXX`, `mclustModelNames`

### Examples

    n <- 1000

    set.seed(0)
    x <- rnorm(n, mean = -1, sd = 2)
    mvn(modelName = "X", 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 = "+")
    mvn(modelName = "XII", x)
    mvn(modelName = "Spherical", x)

    set.seed(0)
    x <- sweep(matrix(rnorm(n*3), n, 3) %*% diag(1:3),
               MARGIN = 2, STATS = mu, FUN = "+")
    mvn(modelName = "XXI", x)
    mvn(modelName = "Diagonal", 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 = "+")
    mvn(modelName = "XXX", x)
    mvn(modelName = "Ellipsoidal", x)

[Package mclust version 5.4.5 Index]