Learn R Programming

sn (version 0.33)

dmst: Multivariate skew-t distribution

Description

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

Usage

dmst(x, xi=rep(0,d), Omega, alpha, df=Inf)
pmst(x, xi=rep(0,d), Omega, alpha, df=Inf, ...)
rmst(n=1, xi=rep(0,d), Omega, alpha, df=Inf)

Arguments

x
for dmsn, this is either a vector of length d or a matrix with d columns (where d=length(alpha)), giving the coordinates of the point(s) where the density must be avaluated; for pmsn, only
xi
a numeric vector of lenght d, or a matrix with d columns, representing the location parameter of the distribution. If xi is a matrix, its dimensions must agree with those of x.
Omega
a positive-definite covariance matrix of dimension (d,d).
alpha
a numeric vector which regulates the shape of the density.
df
degrees of freedom (scalar); default is df=Inf which corresponds to the multivariate skew-normal distribution.
n
a numeric value which represents the number of random vectors to be drawn.
...
additional parameters passed to pmvt

Value

  • A vector of density values (dmst) or a single probability (pmst) or a matrix of random points (rmst).

Background

The family of multivariate skew-t distributions is an extension of the multivariate Student's t family, via the introduction of a shape parameter which regulates skewness; when shape=0, the skew-t distribution reduces to the usual t distribution. When df=Inf the distribution reduces to the multivariate skew-normal one; see dmsn. See the reference below for additional information.

Details

The positive-definiteness of Omega is not tested for efficiency reasons. Function pmst requires pmvt from library(mvtnorm); the accuracy of its computation can be controlled via use of ...

References

Azzalini, A. and Capitanio, A. (2003). Distributions generated by perturbation of symmetry with emphasis on a multivariate skew t distribution. J.Roy. Statist. Soc. B 65, 367--389.

See Also

dst, mst.fit, dmsn, pmvt

Examples

Run this code
x <- seq(-4,4,length=15)
xi <- c(0.5, -1)
Omega <- diag(2)
Omega[2,1] <- Omega[1,2] <- 0.5
alpha <- c(2,2)
pdf <- dmst(cbind(x,2*x-1), xi, Omega, alpha, df=5)
rnd <- rmst(10,  xi, Omega, alpha, 6)
library(mvtnorm)                # only once in the session
cdf <- pmst(c(2,1), xi, Omega, alpha, df=5)

Run the code above in your browser using DataLab