rmst {MSclust}R Documentation

Multiple Scaled Student-t Distribution

Description

Probability density function and pseudo-random number generation for the multiple scaled Student-t distribution.

Usage

  dmst(x, mu = NULL, L = NULL, G = NULL, Sigma = NULL, theta = NULL, formula = "direct")
rmst(n,d=2,mu=rep(0,d),L=NULL,G=NULL,Sigma=diag(d),theta=rep(100,d),n.dens="dmnorm")

Arguments

x

A matrix or data frame such that rows correspond to observations and columns correspond to variables.

n

The number of observations to be generated.

d

A number specifing the dimension.

mu

Either a vector of length d, representing the mean value, or (except for rmst) a matrix whose rows represent different mean vectors; if it is a matrix, its dimensions must match those of x.

L

Lambda diagonal d-dimensional matrix of the eigenvalues of Sigma.

G

Gamma orthogonal d-dimensional matrix whose columns are the normalized eigenvectors of Sigma.

Sigma

A symmetric positive-definite d-dimensional matrix representing the scale matrix of the distribution; a vector of length 1 is also allowed (in this case, d = 1 is set). Identity matrix by default.

theta

Vector of dimesion d containing the degrees of freedom.

n.dens

"dmnorm" or "dmvnorm", dependening on the way the density of the normal distribution is computed.

formula

"direct" or "indirect"; if "direct", then Equation (5) in Peel & McLachlan (2000), Statistics & Computing is used.

Value

dmscn

returns a vector of density values.

rmscn

returns a matrix of n rows of observations.

Author(s)

Cristina Tortora and Antonio Punzo

References

Punzo, A., & Tortora, C. (2021). Multiple scaled contaminated normal distribution and its application in clustering. Statistical Modelling, 21(4): 332–358.

Forbes, F. & Wraith, D. (2014). A new family of multivariate heavy-tailed distributions with variable marginal amounts of tailweight: application to robust clustering. Statistics and Computing, 24(6), 971–984.

Examples

x <- matrix(c(0,0),1,2)
theta <- c(5,20)
density <- dmst(x = x, theta = theta)
density

n <- 100
random <- rmst(n = n, theta = theta)
plot(random)

[Package MSclust version 1.0.4 Index]