Density function, distribution function, quantiles and random number generation for the skew-normal (SN) and the extended skew-normal (ESN) distribution.
dsn(x, xi=0, omega=1, alpha=0, tau=0, dp=NULL, log=FALSE)
psn(x, xi=0, omega=1, alpha=0, tau=0, dp=NULL, engine, ...)
qsn(p, xi=0, omega=1, alpha=0, tau=0, dp=NULL, tol=1e-8, solver="NR", ...)
rsn(n=1, xi=0, omega=1, alpha=0, tau=0, dp=NULL)vector of quantiles. Missing values (NA's) and Inf's
are allowed.
vector of probabilities. Missing values (NAs) are allowed
vector of location parameters.
vector of scale parameters; must be positive.
vector of slant parameter(s); +/- Inf is allowed.
With psn, it must be of length 1 if engine="T.Owen".
With qsn, it must be of length 1.
a single value representing the `hidden mean' parameter
of the ESN distribution; tau=0 (default) corresponds to
a SN distribution.
a vector of length 3 (in the SN case) or
4 (in the ESN case), whose components represent
the individual parameters described above. If dp
is specified, the individual parameters cannot be set.
a positive integer representing the sample size.
a scalar value which regulates the accuracy of the result of
qsn, measured on the probability scale.
logical flag used in dsn (default FALSE).
When TRUE, the logarithm of the density values is returned.
a character string which selects the computing engine;
this is either "T.Owen" or "biv.nt.prob", the latter from
package mnormt. If tau != 0 or length(alpha)>1,
"biv.nt.prob" must be used. If this argument is missing, a default
selection rule is applied.
a character string which selects the numerical method used for
solving the quantile equation; possible options are "NR" (default)
and "RFB", described in the ‘Details’ section.
additional parameters passed to T.Owen
density (dsn), probability (psn), quantile (qsn)
or random sample (rsn) from the skew-normal distribution with given
xi, omega and alpha parameters or from the extended
skew-normal if tau!=0
The family of skew-normal distributions is an extension of the normal
family, via the introdution of a alpha parameter which regulates
asymmetry; when alpha=0, the skew-normal distribution reduces to
the normal one. The density function of the SN distribution
in the ‘normalized’ case having xi=0 and omega=1 is
\(2\phi(x)\Phi(\alpha x)\), if \(\phi\) and \(\Phi\) denote the
standard normal density and distribution function.
An early discussion of the skew-normal distribution is given by
Azzalini (1985); see Section 3.3 for the ESN variant,
up to a slight difference in the parameterization.
An updated exposition is provided in Chapter 2 of Azzalini and Capitanio (2014); the ESN variant is presented Section 2.2. See Section 2.3 for an historical account. A multivariate version of the distribution is examined in Chapter 5.
In version 1.6-2, the random number generation method
for rsn has changed; the so-called transformation method
(also referred to as the ‘additive representation’) has beeb adopted
for all values of tau.
Also, the code has been modified so that there is this form of consistency:
provided set.seed() is reset similarly before calls, code like
rsn(5, dp=1:3) and rsn(10, dp=1:3), for instance, will start with
the same initial values in the longer sequence as in the shorter sequence.
Azzalini, A. (1985). A class of distributions which includes the normal ones. Scand. J. Statist. 12, 171-178.
Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monographs series.
Functions used by psn:
T.Owen, biv.nt.prob
# NOT RUN {
pdf <- dsn(seq(-3, 3, by=0.1), alpha=3)
cdf <- psn(seq(-3, 3, by=0.1), alpha=3)
q <- qsn(seq(0.1, 0.9, by=0.1), alpha=-2)
r <- rsn(100, 5, 2, 5)
qsn(1/10^(1:4), 0, 1, 5, 3, solver="RFB")
# }
Run the code above in your browser using DataLab