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

### 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

The functions `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.

The functions `dST1()`, `dST2()`, `dST3()`, `dST4()` and `dST5()` give the density functions.

The funcions `pST1()`, `pST2()`, `pST3()`, `pST4()` and `pST5()` give the cumulative distribution functions.

The 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.

Rigby, R. A., Stasinopoulos, D. M., Heller, G. Z., and De Bastiani, F. (2019) Distributions for modeling location, scale, and shape: Using GAMLSS in R, Chapman and Hall/CRC. An older version can be found in https://www.gamlss.com/.

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, https://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.3-2 Index]