Density, distribution function, random number generation, the mean value, the variance-covariance matrix and the Mardia's measures of multivariate skewness and kurtosis of the SUN probability distribution.
dsun(x, xi, Omega, Delta, tau, Gamma, dp = NULL, log = FALSE, silent=FALSE, ...)
psun(x, xi, Omega, Delta, tau, Gamma, dp = NULL, log = FALSE, silent=FALSE, ...)
rsun(n=1, xi, Omega, Delta, tau, Gamma, dp = NULL, silent=FALSE)
sunMean(xi, Omega, Delta, tau, Gamma, dp = NULL, silent=FALSE, ...)
sunVcov(xi, Omega, Delta, tau, Gamma, dp = NULL, silent=FALSE, ...)
sunMardia(xi, Omega, Delta, tau, Gamma, dp = NULL, silent=FALSE, ...)
The structure of the returned value depends on the called function, as follows:
dsun, psun | a vector of length nrow(x) representing
density or probability values, |
or their log-transformed values if log=TRUE , | |
rsun | a matrix of size (n,d) ,
where each row represents a SUN random vectors, |
sunMean | a vector of length d representing the mean value, |
sunVcov | a matrix of size (d,d) representing the
variance-covariance matrix, |
sunMardia | a vector of length two with the Mardia's measures of multivariate skewness and kurtosis. |
either a vector of length d
, where d=ncol(Omega)
,
with the coordinates of the point where the density or the
distribution function must be evaluated, or alternatively
a d
-column matrix whose rows represent a set of points.
a numeric vector of length d
representing the
location parameter of the distribution; see ‘Background’.
In a call to dsun
and psun
, 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 ‘Details’.
a matrix of size (d,m)
, where m=length(tau)
;
see ‘Details’ about its constraints.
a vector of length m
, say.
a symmetric positive definite matrix of dimension (m,m)
with 1's on its main diagonal, that is, a correlation matrix
a list with five elements, representing xi
(which must be a vector in this case),
Omega
, Delta
, tau
and Gamma
,
with restrictions indicated in the ‘Details’.
Its default value is NULL
; if dp
is assigned,
the individual parameters must not be specified.
a positive integer value.
a logical value (default value: FALSE
);
if TRUE
, log-densities and log-probabilities are returned.
a logical value which indicates the action to take in the case
m=1
, which could be more convenently handled by functions for the
SN/ESN family. If silent=FALSE
(default value), a warning
message is issued; otherwise this is suppressed.
additional tuning arguments passed either to
pmnorm
(for dsun
,
psun
and sunMean
) or to mom.mtruncnorm
(for sunVcov
and sunMardia
); see also ‘Details’.
A member of the SUN family is characterized by two dimensionality indices, denoted \(d\) and \(m\), and a set of five parameters blocks (vector and matrices, as explained soon). The value \(d\) represents the number of observable components; the value \(m\) represents the number of latent (or hidden) variables notionally involved in the construction of the distribution. The parameters and their corresponding R variables are as follows:
\(\xi\) | xi | a vector of length \(d\), |
\(\Omega\) | Omega | a matrix of size \((d,d)\), |
\(\Delta\) | Delta | a matrix of size \((d,m)\), |
\(\tau\) | tau | a vector of length \(m\), |
\(\Gamma\) | Gamma | a matrix of size \((m,m)\), |
and must satisfy the following conditions:
\(\Omega\) is a symmetric positive definite matrix;
\(\Gamma\) is a symmetric positive definite matrix with 1's on the main diagonal, hence a correlation matrix;
if \(\bar\Omega\) denotes the correlation matrix associated to \(\Omega\), the matrix of size \((d+m)\times(d+m)\) formed by the \(2 x 2\) blocks
\(\bar\Omega\) | \(\Delta\) | ||
\(\Delta'\) | \(\Gamma\) |
The formulation adopted here has arisen as the evolution of earlier
constructions, which are recalled very briefly next.
A number of extensions of the multivariate skew-normal distributions,
all involving a number m
(with \(m\ge1\)) of latent variables
(instead of m=1
like the skew-normal distribution),
have been put-forward in close succession in the years 2003-2005.
Special attention has been drawn by the ‘closed skew-normal (CSN)’
distribution developed by González-Farías et alii (2004a, 2004b)
and the ‘fundamental skew-normal (FUSN)’ distribution
developed by Arellano-Valle and Genton (2005),
but other formulations have been considered too.
Arellano Valle and Azzalini (2006) have shown the essential equivalence of these apparently alternative constructions, after appropriate reparameterizations, and underlined the necessity of removing over-parameterizations in some cases, to avoid lack of identifiability. This elaboration has led to the SUN formulation. A relatively less technical account of their development is provided in Section 7.1 of Azzalini and Capitanio (2014), using very slightly modified notation and parameterization, which are the ones adopted here.
Additional results have been presented by Arellano-Valle and Azzalini (2021), such as expressions for the variance matrix and higher order moments, the Mardia's measures of multivariate skewness and kurtosis, which are implemented here. Another result is the conditional distribution when the conditioning event is represented by an orthant.
Adelchi Azzalini
A member of the SUN family of distributions is identified by five
parameters, which are described in the ‘Background’ section.
The five parameters can be supplied by combining them in a list, denoted
dp
, in which case the individual parameters must not be
supplied. The elements of dp
must appear in the above-indicated order
and must be named.
The optional arguments in ...
passed to pmnorm
,
which uses ptriv.nt
when d=3
,
biv.nt.prob
when d=2
and
and sadmvn
when d>2
.
In practice these arguments are effective only if d>3
,
since for lower dimensions the computations are made to full available
precision anyway.
A similar fact applies to the ...
argument passed to
mom.mtruncnorm
.
Some numerical inaccuracy is inevitably involved in these computations.
In most cases, they are of negligible extent, but they can possibly become
more relevant, especially in the computation of higher order moments
involved by sunMardia
, depending on the dimension d
and on
the specific parameter values.
Consider the ‘Warning’ section in recintab
which is used by mom.mtruncnorm
.
The above-described functions operate following the traditional R scheme for
probability distributions. Another scheme, coexisting with the classical one,
works with SUNdistr-class
objects, which represent SUN
distributions, by encapsulating their parameters and other characteristics.
These objects are created by makeSUNdistr
, and various methods
exist for them; see SUNdistr-class
.
Moreover these objects can be manipulated by a number of tools, described
in SUNdistr-op
, leading to new objects of the same class.
Arellano-Valle, R. B., and Azzalini, A. (2006). On the unification of families of skew-normal distributions. Scand. J. Stat. 33, 561-574. Corrigendum in 49 (2022), 1418-1419.
Arellano-Valle, R. B. and Azzalini, A. (2021). Some properties of the unified skew-normal distribution. Statistical Papers 63, 461-487, tools:::Rd_expr_doi("https://doi.org/10.1007/s00362-021-01235-2"); see also arXiv:2011.06316
Arellano-Valle, R. B. and Genton, M. G. (2005). On fundamental skew distributions. J. Multivariate Anal. 96, 93–1116.
Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monographs series.
González-Farías, G., Domínguez-Molina, J. A., & Gupta, A. K. (2004a). Additive properties of skew normal random vectors. J. Statist. Plann. Inference 126, 521-534.
González-Farías, G., Domínguez-Molina, J. A., & Gupta, A. K. (2004b). The closed skew-normal distribution. In M. G. Genton (Ed.), Skew-elliptical Distributions and Their Applications: a Journey Beyond Normality, Chapter 2, (pp. 25–42). Chapman & Hall/CRC.
makeSUNdistr
to build a SUN distribution object,
with related methods in SUNdistr-class
,
and other facilities in SUNdistr-op
convertCSN2SUNpar
to convert a parameter set of the Closed
Skew-Normal formulation to the equivalent SUN parameter set
xi <- c(1, 0, -1)
Omega <- matrix(c(2,1,1, 1,3,1, 1,1,4), 3, 3)
Delta <- matrix(c(0.72,0.20, 0.51,0.42, 0.88, 0.94), 3, 2, byrow=TRUE)
Gamma <- matrix(c(1, 0.8, 0.8, 1), 2, 2)
dp3 <- list(xi=xi, Omega=Omega, Delta=Delta, tau=c(-0.5, 0), Gamma=Gamma)
x <- c(0.8, 0.5, -1.1)
f1 <- dsun(x, xi, Omega, Delta, c(-0.5, 0), Gamma) # mode 1
f2 <- dsun(x, dp=dp3) # mode 2, equivalent to mode 1
set.seed(1)
xm <- rsun(10, dp=dp3)
f3 <- dsun(xm, dp=dp3)
psun(xm, dp=dp3)
sunMean(dp=dp3)
sunVcov(dp=dp3)
sunMardia(dp=dp3)
Run the code above in your browser using DataLab