Probability density function, distribution function and random number generation for the multivariate skew-\(t\) (ST) and skew-Cauchy (SC) distributions.
dmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, dp=NULL, log=FALSE)
pmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, dp=NULL, ...)
rmst(n=1, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, dp=NULL)
dmsc(x, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL, log=FALSE)
pmsc(x, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL, ...)
rmsc(n=1, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL)
for dmst
and dmsc
, this is either a vector of length
d
, where d=length(alpha)
, or a matrix with d
columns,
representing the coordinates of the point(s) where the density must be
avaluated; for pmst
and pmsc
, only a vector of length
d
is allowed.
a numeric vector of length d
representing the
location parameter of the distribution; see ‘Background’.
In a call to dmst
or dmsc
, xi
can be a matrix,
whose rows represent a set of location parameters;
in this case, its dimensions must match those of x
.
a symmetric positive-definite matrix of dimension (d,d)
;
see Section ‘Background’.
a numeric vector of length d
which regulates the slant
of the density; see Section ‘Background’.
Inf
values in alpha
are not allowed.
a positive value representing the degrees of freedom of
ST distribution; does not need to be integer.
Default value is nu=Inf
which corresponds to the multivariate
skew-normal distribution.
a list with three elements named xi
, Omega
,
alpha
and nu
, containing quantities as described above. If
dp
is specified, this prevents specification of the individual
parameters.
a numeric value which represents the number of random vectors to be
drawn; default value is 1
.
logical (default value: FALSE
); if TRUE
,
log-densities are returned.
additional parameters passed to pmt
.
A vector of density values (dmst
and dmsc
) or a single
probability (pmst
and pmsc
) or a matrix of random points
(rmst
and rmsc
).
The family of multivariate ST distributions is an extension of the
multivariate Student's \(t\) family, via the introduction of a alpha
parameter which regulates asymmetry; when alpha=0
, the skew-\(t\)
distribution reduces to the commonly used form of multivariate Student's
\(t\). Further, location is regulated by xi
and scale by
Omega
, when its diagonal terms are not all 1's.
When nu=Inf
the distribution reduces to the multivariate skew-normal
one; see dmsn
. Notice that the location vector xi
does not represent the mean vector of the distribution (which in fact
may not even exist if nu <= 1
), and similarly Omega
is not
the covariance matrix of the distribution, although it is a
covariance matrix.
For additional information, see Section 6.2 of the reference below.
The family of multivariate SC distributions is the subset of the
ST family, obtained when nu=1
. While in the univariate case
there are specialized functions for the SC distribution,
dmsc
, pmsc
and rmsc
simply make a call to dmst,
pmst, rmst
with argument nu
set equal to 1.
Typical usages are
dmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, log=FALSE) dmst(x, dp=, log=FALSE) pmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, ...) pmst(x, dp=, ...) rmst(n=1, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf) rmst(n=1, dp=) dmsc(x, xi=rep(0,length(alpha)), Omega, alpha, log=FALSE) dmsc(x, dp=, log=FALSE) pmsc(x, xi=rep(0,length(alpha)), Omega, alpha, ...) pmsc(x, dp=, ...) rmsc(n=1, xi=rep(0,length(alpha)), Omega, alpha) rmsc(n=1, dp=)
Function pmst
requires dmt
from package
mnormt; the accuracy of its computation can be controlled via
argument …
.
Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monograph series.
dst
, dsc
, dmsn
,
dmt
, makeSECdistr
# NOT RUN {
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, 5)
rnd <- rmst(10, xi, Omega, alpha, 6)
p1 <- pmst(c(2,1), xi, Omega, alpha, nu=5)
p2 <- pmst(c(2,1), xi, Omega, alpha, nu=5, abseps=1e-12, maxpts=10000)
# }
Run the code above in your browser using DataLab