Affine transformations and marginals of a skew-elliptical distribution

Share:

Description

Compute the distribution of a (multivariate) marginal or the distribution of an affine transformation a + A'Y of a multivariate variable Y with skew-elliptical (SEC) distribution.

Usage

1
2
  affineTransSECdistr(object, a, A, name, compNames, drop=TRUE)
  marginalSECdistr(object, comp, name, drop=TRUE)

Arguments

object

an object of class SECdistrMv, as created by makeSECdistr or by a previous call to these functions

a

a numeric vector with the length ncol(A).

A

a full-rank matrix with nrow(A) equal to the dimensionality of object.

name

an optional character string representing the name of the outcome distribution; if missing, one such string is constructed.

compNames

an optional vector of length ncol(A) of character strings with the names of the components of the outcome distribution; if missing, one such vector is constructed.

drop

a logical flag (default value: TRUE), operating only if the returned object is has dimension 1, in which case it indicates whether this object must be of class SECdistrUv.

comp

a vector formed by a subset of 1:d which indicates which components must be extracted from object, on denoting by d its dimensionality.

Value

If object defines the distribution of a SEC random variable Y, affineTransSECdistr computes the distribution of a+A'Y and marginalSECdistr computes the marginal distribution of the comp components. In both cases the returned object is of class SECdistrMv, except when drop=TRUE operates, leading to an object of class SECdistrUv.

Background

These functions implement formulae given in Sections 5.1.4, 5.1.6 and 6.2.2 of the reference below.

References

Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monographs series.

See Also

makeSECdistr, SECdistrMv-class

Examples

1
2
3
4
5
6
dp3 <- list(xi=1:3, Omega=toeplitz(1/(1:3)), alpha=c(3,-1,2), nu=5)
st3 <- makeSECdistr(dp3, family="ST", name="ST3", compNames=c("U", "V", "W"))
A <- matrix(c(1,-1,1, 3,0,-2), 3, 2)
new.st <- affineTransSECdistr(st3, a=c(-3,0), A=A)
#
st2 <- marginalSECdistr(st3, comp=c(3,1), name="2D marginal of ST3")

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.