R: The skew t distributions, type 1 to 5

ST1 {gamlss.dist} | R Documentation

## The skew t distributions, type 1 to 5

### Description

There are 5 different skew t distributions implemented in GAMLSS.

The Skew t type 1 distribution, `ST1`, is based on Azzalini (1986).

The skew t type 2 distribution, `ST2`, is based on Azzalini and Capitanio (2003).

The skew t type 3 , `ST3` and `ST3C`, distribution is based Fernande and Steel (1998). The difference betwwen the `ST3` and `ST3C` is that the first is written entirely in `R` while the second is in `C`.

The skew t type 4 distribution , `ST4`, is a spliced-shape distribution.

The skew t type 5 distribution , `ST5`, is Jones and Faddy (2003).

The `SST` is a reparametrised version of `dST3` where `sigma` is the standard deviation of the distribution.

### Usage

    ST1(mu.link = "identity", sigma.link = "log", nu.link = "identity", tau.link="log")
    dST1(x, mu = 0, sigma = 1, nu = 0, tau = 2, log = FALSE)
    pST1(q, mu = 0, sigma = 1, nu = 0, tau = 2, lower.tail = TRUE, log.p = FALSE)
    qST1(p, mu = 0, sigma = 1, nu = 0, tau = 2, lower.tail = TRUE, log.p = FALSE)
    rST1(n, mu = 0, sigma = 1, nu = 0, tau = 2)

    ST2(mu.link = "identity", sigma.link = "log", nu.link = "identity", tau.link = "log")
    dST2(x, mu = 0, sigma = 1, nu = 0, tau = 2, log = FALSE)
    pST2(q, mu = 0, sigma = 1, nu = 0, tau = 2, lower.tail = TRUE, log.p = FALSE)
    qST2(p, mu = 1, sigma = 1, nu = 0, tau = 2, lower.tail = TRUE, log.p = FALSE)
    rST2(n, mu = 0, sigma = 1, nu = 0, tau = 2)

    ST3(mu.link = "identity", sigma.link = "log", nu.link = "log", tau.link = "log")
    dST3(x, mu = 0, sigma = 1, nu = 1, tau = 10, log = FALSE)
    pST3(q, mu = 0, sigma = 1, nu = 1, tau = 10, lower.tail = TRUE, log.p = FALSE)
    qST3(p, mu = 0, sigma = 1, nu = 1, tau = 10, lower.tail = TRUE, log.p = FALSE)
    rST3(n, mu = 0, sigma = 1, nu = 1, tau = 10)

    ST3C(mu.link = "identity", sigma.link = "log", nu.link = "log", tau.link = "log")
    dST3C(x, mu = 0, sigma = 1, nu = 1, tau = 10, log = FALSE)
    pST3C(q, mu = 0, sigma = 1, nu = 1, tau = 10, lower.tail = TRUE, log.p = FALSE)
    qST3C(p, mu = 0, sigma = 1, nu = 1, tau = 10, lower.tail = TRUE, log.p = FALSE)
    rST3C(n, mu = 0, sigma = 1, nu = 1, tau = 10)

    SST(mu.link = "identity", sigma.link = "log", nu.link = "log",
       tau.link = "logshiftto2")
    dSST(x, mu = 0, sigma = 1, nu = 0.8, tau = 7, log = FALSE)
    pSST(q, mu = 0, sigma = 1, nu = 0.8, tau = 7, lower.tail = TRUE, log.p = FALSE)
    qSST(p, mu = 0, sigma = 1, nu = 0.8, tau = 7, lower.tail = TRUE, log.p = FALSE)
    rSST(n, mu = 0, sigma = 1, nu = 0.8, tau = 7)

    ST4(mu.link = "identity", sigma.link = "log", nu.link = "log", tau.link = "log")
    dST4(x, mu = 0, sigma = 1, nu = 1, tau = 10, log = FALSE)
    pST4(q, mu = 0, sigma = 1, nu = 1, tau = 10, lower.tail = TRUE, log.p = FALSE)
    qST4(p, mu = 0, sigma = 1, nu = 1, tau = 10, lower.tail = TRUE, log.p = FALSE)
    rST4(n, mu = 0, sigma = 1, nu = 1, tau = 10)

    ST5(mu.link = "identity", sigma.link = "log", nu.link = "identity", tau.link = "log")
    dST5(x, mu = 0, sigma = 1, nu = 0, tau = 1, log = FALSE)
    pST5(q, mu = 0, sigma = 1, nu = 0, tau = 1, lower.tail = TRUE, log.p = FALSE)
    qST5(p, mu = 0, sigma = 1, nu = 0, tau = 1, lower.tail = TRUE, log.p = FALSE)
    rST5(n, mu = 0, sigma = 1, nu = 0, tau = 1)

### Arguments

`mu.link` | Defines the `mu.link`, with "identity" link as the default for the `mu` parameter. Other links are "1/mu^2" and "log"
`sigma.link` | Defines the `sigma.link`, with "log" link as the default for the `sigma` parameter. Other links are "inverse" and "identity"
`nu.link` | Defines the `nu.link`, with "identity" link as the default for the `nu` parameter. Other links are "1/mu^2" and "log"
`tau.link` | Defines the `nu.link`, with "log" link as the default for the `nu` parameter. Other links are "inverse", "identity"
`x,q` | vector of quantiles
`mu` | vector of `mu` parameter values
`sigma` | vector of scale parameter values
`nu` | vector of `nu` parameter values
`tau` | vector of `tau` parameter values
`log, log.p` | logical; if TRUE, probabilities p are given as log(p).
`lower.tail` | logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]
`p` | vector of probabilities.
`n` | number of observations. If `length(n) > 1`, the length is taken to be the number required
`...` | for extra arguments

### Details

f(y|mu,sigma,nu,tau)=z/sigma f_z1(z)F_z2(w)

for -Inf<y<Inf, where z=(y-mu)/sigma, w=nu*sqrt(lambda)*z, lambda=(tau+1)/(tau+z*z) and z_1 ~ TF(01,1,tau) and z_2 ~ TF(0,1,tau+1).

The probability density function of the skew t distribution type q, (`ST3`), is defined in Chapter 10 of the GAMLSS manual.

The probability density function of the skew t distribution type q, (`ST4`), is defined in Chapter of the GAMLSS manual.

The probability density function of the skew t distribution type 5, (`ST5`), is defined as

f(y|mu,sigma,nu,tau)=(1/c)*(1+(z/(a+b+z^2)^0.5))^(a+0.5)*(1-(a+b+z^2)^0.5)^(b+0.5)

where c=2^(a+b-1)*(a+b)^0.5 *B(a,b), and Gamma(a)*Gamma(b)/Gamma(a+b) and (y-mu)/sigma and nu=(a-b)/(a*b*(a+b))^0.5 and tau=2/(a+b) for -Inf<y<Inf, -Inf<mu<Inf, σ>0, -Inf<nu<Inf and tau>0.

### Value

`ST1()`, `ST2()`, `ST3()`, `ST4()` and `ST5()` return a `gamlss.family` object which can be used to fit the skew t type 1-5 distribution in the `gamlss()` function. `dST1()`, `dST2()`, `dST3()`, `dST4()` and `dST5()` give the density functions, `pST1()`, `pST2()`, `pST3()`, `pST4()` and `pST5()` give the cumulative distribution functions, `qST1()`, `qST2()`, `qST3()`, `qST4()` and `qST5()` give the quantile function, and `rST1()`, `rST2()`, `rST3()`, `rST4()` and `rST3()` generates random deviates.

### Note

The mean of the ex-Gaussian is mu+nu and the variance is sigma^2+nu^2.

### Author(s)

Bob Rigby and Mikis Stasinopoulos

### References

Azzalini A. (1986) Futher results on a class of distributions which includes the normal ones, Statistica, 46, pp. 199-208.

Azzalini A. and Capitanio, A. Distributions generated by perturbation of symmetry with emphasis on a multivariate skew t-distribution, Journal of the Royal Statistical Society: Series B (Statistical Methodology), 65, pp. 367-389.

Jones, M.C. and Faddy, M. J. (2003) A skew extension of the t distribution, with applications. Journal of the Royal Statistical Society, Series B, 65, pp 159-174.

Fernandez, C. and Steel, M. F. (1998) On Bayesian modeling of fat tails and skewness. Journal of the American Statistical Association, 93, pp. 359-371.

Rigby, R. A. and Stasinopoulos D. M. (2005). Generalized additive models for location, scale and shape,(with discussion), Appl. Statist., 54, part 3, pp 507-554.

Stasinopoulos D. M. Rigby R. A. and Akantziliotou C. (2006) Instructions on how to use the GAMLSS package in R. Accompanying documentation in the current GAMLSS help files, (see also http://www.gamlss.org/).

Stasinopoulos D. M. Rigby R.A. (2007) Generalized additive models for location scale and shape (GAMLSS) in R. Journal of Statistical Software, Vol. 23, Issue 7, Dec 2007, http://www.jstatsoft.org/v23/i07.

### See Also

`gamlss.family`, `SEP1`, `SHASH`

### Examples

    y<- rST5(200, mu=5, sigma=1, nu=.1)
    hist(y)
    curve(dST5(x, mu=30 ,sigma=5,nu=-1), -50, 50, main = "The ST5  density mu=30 ,sigma=5,nu=1")
    # library(gamlss)
    # m1<-gamlss(y~1, family=ST1)
    # m2<-gamlss(y~1, family=ST2)
    # m3<-gamlss(y~1, family=ST3)
    # m4<-gamlss(y~1, family=ST4)
    # m5<-gamlss(y~1, family=ST5)
    # GAIC(m1,m2,m3,m4,m5)

[Package gamlss.dist version 5.0-2 Index]