dp2cp {sn}R Documentation

Conversion between parametrizations of a skew-elliptical distribution

Description

Convert direct parameters (DP) to centred parameters (CP) of a skew-elliptical distribution and vice versa.

Usage

dp2cp(dp, family, obj = NULL, cp.type = "proper", upto = NULL) 
cp2dp(cp, family)

Arguments

dp

a vector (in the univariate case) or a list (in the multivariate case) as described in makeSECdistr; see ‘Details’ for an extented form of usage.

cp

a vector or a list, in agreement with dp as for type and dimension.

family

a characther string, as described in makeSECdistr.

obj

optionally, an S4 object of class SECdistrUv or SECdistrMv, as produced by makeSECdistr (default value: NULL). If this argument is not NULL, then family and dp must not be set.

cp.type

character string, which has effect only if family="ST" or "SC", otherwise a warning message is generated. Possible values are "proper", "pseudo", "auto", which correspond to the CP parameter set, their 'pseudo-CP' version and an automatic selection based on nu>4, where nu represents the degrees of freedom of the ST distribution.

upto

numeric value (in 1:length(dp), default=NULL) to select how many CP components are computed. Default value upto=NULL is equivalent to length(dp).

Value

for dp2cp, a matching vector (in the univariate case) or a list (in the multivariate case) of cp parameters; for cp2dp, a similar object of dp parameters.

Details and Background

For a description of the DP parameters, see Section ‘Details’ of makeSECdistr. The CP form of parameterization is cumulant-based. For a univariate distribution, the CP components are the mean value (first cumulant), the standard deviation (square root of the 2nd cumulant), the coefficient of skewness (3rd standardized cumulant) and, for the ST, the coefficient of excess kurtosis (4th standardized cumulant). For a multivariate distribution, there exists an extension based on the \ same logic; its components represent the vector mean value, the variance matrix, the vector of marginal coefficients of skewness and, only for the ST, the Mardia's coefficient of excess kurtosis. The pseudo-CP variant provides an ‘approximate form’ of CP when not all required cumulants exist; however, this parameter set is not uniquely invertible to DP. The names of pseudo-CP components printed in summary output are composed by adding a ~ after the usual component name; for example, the first one is denoted mean~.

Background information is provided by Azzalini and Capitanio (2014). Specifically, their Section 3.1.4 presents CP in the univariate SN case, Section 4.3.4 CP for the ST case and the 'pseudo-CP' version. Section 5.2.3 presents the multivariate extension for the SN distribution, Section 6.2.5 for the multivariate ST case. For a more detailed discussion, see Arellano-Valle and Azzalini (2013).

It is possible to call the functions with dp or cp having more components than those expected for a given family as described above and in makeSECdistr. In the univariate case, this means that dp or cp can be vectors of longer length than indicated earlier. This occurrence is interpreted in the sense that the additional components after the first one are regarded as regression coefficients of a selm model, and they are transferred unchanged to the matching components of the transformed parameter set; the motivation is given in Section 3.1.4 of Azzalini and Capitanio (2014). In the multivariate case, dp[[1]] and cp[[1]] can be matrices instead of vectors; the rows beyond the first one are transferred unchanged to cp[[1]] and dp[[1]], respectively.

References

Arellano-Valle, R. B. and Azzalini, A. (2013, available on-line 12 June 2011). The centred parameterization and related quantities of the skew-t distribution. J. Multiv. Analysis 113, 73-90.

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

See Also

makeSECdistr, summary.SECdistr, sn.cumulants, the ‘Note’ at summary.selm

Examples

# univariate case
cp <- dp2cp(c(1, 2222, 3333, 2, 3), "SN")
dp <- cp2dp(cp, "SN")
# notice that 2nd and 3rd component remain unchanged
#
# multivariate case
dp3 <- list(xi=1:3, Omega=toeplitz(1/(1:3)), alpha=c(-3, 8, 5), nu=6)
cp3 <- dp2cp(dp3, "ST")
dp3.back <- cp2dp(cp3, "ST")

[Package sn version 1.0-0 Index]