Learn R Programming

sn (version 2.1.1)

affineTransSECdistr: Affine transformations and marginals of a skew-elliptical distribution

Description

Given a multivariate random variable \(Y\) with skew-elliptical (SEC) distribution, compute the distribution of a (possibly multivariate) marginal or the distribution of an affine transformation \(a + A^{\top}Y\).

Usage

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

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.

Arguments

object

an object of class SECdistrMv which identifies the source random variable, as created by makeSECdistr or by extractSECdistr 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 d of the random variable identified by 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 has dimension d=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.

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, extractSECdistr, SECdistrMv-class

Examples

Run this code
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")

Run the code above in your browser using DataLab