Learn R Programming

sn (version 0.4-18)

dmsn: Multivariate skew-normal distribution

Description

Probability density function, distribution function and random number generation for the multivariate skew-normal (MSN) distribution.

Usage

dmsn(x, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL, log=FALSE)
pmsn(x, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL, ...)
rmsn(n=1, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL)

Arguments

x
for dmsn, this is either a vector of length d, where d=length(alpha), or a matrix with d columns, giving the coordinates of the point(s) where the density must be evaluated; for pmsn, onl
xi
a numeric vector of length d representing the location parameter of the distribution; see Background. In a call to dmsn, xi can be a matrix; in this case, its dimensions must agree with those of x.
Omega
a symmetric positive-definite matrix of dimension (d,d); see Background.
alpha
a numeric vector which regulates the shape of the density; see Background.
dp
a list with three elements named xi, Omega and alpha containing quantities as described above. If dp is specified, individual parameters must not be specified.
n
a numeric value which represents the number of random vectors to be drawn.
log
logical (default value: FALSE); if TRUE, log-densities are returned.
...
additional parameters passed to pmnorm

Value

  • A vector of density values (dmsn), or a single probability (pmsn) or a matrix of random points (rmsn).

Background

The multivariate skew-normal distribution is discussed by Azzalini and Dalla Valle (1996); the (Omega,alpha) parametrization adopted here is the one of Azzalini and Capitanio (1999). Notice that the location vector xi does not represent the mean vector of the distribution and similarly Omega is not the covariance matrix of the distribution, although it is a covariance matrix.

Details

Typical usages are dmsn(x, xi=rep(0,length(alpha)), Omega, alpha, log=FALSE) dmsn(x, dp=, log=FALSE) pmsn(x, xi=rep(0,length(alpha)), Omega, alpha, ...) pmsn(x, dp=) rmsn(n=1, xi=rep(0,length(alpha)), Omega, alpha) rmsn(n=1, dp=) The positive-definiteness of Omega is not tested for efficiency reasons. Function pmsn requires pmnorm from package mnormt; the accuracy of its computation can be controlled via use of ...

References

Azzalini, A. and Dalla Valle, A. (1996). The multivariate skew-normal distribution. Biometrika 83, 715--726.

Azzalini, A. and Capitanio, A. (1999). Statistical applications of the multivariate skew-normal distribution. J.Roy.Statist.Soc. B 61, 579--602.

See Also

dsn, dmst, dmnorm

Examples

Run this code
x <- seq(-3,3,length=15)
xi <- c(0.5, -1)
Omega <- diag(2)
Omega[2,1] <- Omega[1,2] <- 0.5
alpha <- c(2,-6)
pdf <- dmsn(cbind(x,2*x-1), xi, Omega, alpha)
rnd <- rmsn(10,  xi, Omega, alpha)
p1 <- pmsn(c(2,1), xi, Omega, alpha)
p2 <- pmsn(c(2,1), xi, Omega, alpha, abseps=1e-12, maxpts=10000)

Run the code above in your browser using DataLab