snorm {fGarch}R Documentation

Skew Normal Distribution and Parameter Estimation


Functions to compute density, distribution function, quantile function and to generate random variates for the skew normal distribution. In addition maximum likelihood estimators are available to fit the parameters of the distribution.

The functions are:

[dpqr]snorm Skew Normal Distribution,
normFit MLE parameter fit for Normal distribution,
snormFit MLE parameter fit for skew Normal distribution,
snormSlider Displays interactively skew Normal distribution.


dsnorm(x, mean = 0, sd = 1, xi = 1.5)
psnorm(q, mean = 0, sd = 1, xi = 1.5)
qsnorm(p, mean = 0, sd = 1, xi = 1.5)
rsnorm(n, mean = 0, sd = 1, xi = 1.5)

normFit(x, ...)
snormFit(x, ...)

snormSlider(type = c("dist", "rand"))


mean, sd, xi

location parameter mean, scale parameter sd, skewness parameter xi.


the number of observations.


a numeric vector of probabilities.


a character string denoting which interactive plot should be displayed. Either a distribution plot type="dist", the default value, or a random variates plot, type="rand".

x, q

a numeric vector of quantiles.


parameters parsed to the optimization function nlm.


Symmetric Normal Distibution:

The functions for the normal distribution are part of R's base package. The functions for the symmetric Student-t distribution are rescaled in such a way that they have unit variance in contrast to the Student-t family dt, pt, qt and rt which are part of R's base package. The generalized error distribution functions are defined as described by Nelson (1991).

Skew Normal Distribution:

The skew normal distribution functions are defined as described by Fernandez and Steel (2000). cr

Parameter Estimation:

The function nlm is used to minimize the "negative" maximum log-likelihood function. nlm carries out a minimization using a Newton-type algorithm.


d* returns the density, p* returns the distribution function, q* returns the quantile function, and r* generates random deviates,
all values are numeric vectors.

[s]normFit returns a list with the following components:


The best set of parameters found.


The value of objective corresponding to par.


An integer code. 0 indicates successful convergence.


A character string giving any additional information returned by the optimizer, or NULL. For details, see PORT documentation.


Number of iterations performed.


Number of objective function and gradient function evaluations.


Diethelm Wuertz for the Rmetrics R-port.


Fernandez C., Steel M.F.J. (2000); On Bayesian Modelling of Fat Tails and Skewness, Preprint, 31 pages.


## snorm -
   # Ranbdom Numbers:
   par(mfrow = c(2, 2))
   r = rsnorm(n = 1000)
   plot(r, type = "l", main = "snorm", col = "steelblue")
   # Plot empirical density and compare with true density:
   hist(r, n = 25, probability = TRUE, border = "white", col = "steelblue")
   x = seq(min(r), max(r), length = 201)
   lines(x, dsnorm(x), lwd = 2)
   # Plot df and compare with true df:
   plot(sort(r), (1:1000/1000), main = "Probability", col = "steelblue",
     ylab = "Probability")
   lines(x, psnorm(x), lwd = 2)
   # Compute quantiles:
   round(qsnorm(psnorm(q = seq(-1, 5, by = 1))), digits = 6)
## snormFit -
## Not run: 
## snormSlider -
   if (require(tcltk)) {

## End(Not run)

[Package fGarch version 2110.80.1 Index]