# SICHEL: The Sichel distribution for fitting a GAMLSS model In gamlss.dist: Distributions for Generalized Additive Models for Location Scale and Shape

## Description

The `SICHEL()` function defines the Sichel distribution, a three parameter discrete distribution, for a `gamlss.family` object to be used in GAMLSS fitting using the function `gamlss()`. The functions `dSICHEL`, `pSICHEL`, `qSICHEL` and `rSICHEL` define the density, distribution function, quantile function and random generation for the Sichel `SICHEL()`, distribution. The function `VSICHEL` gives the variance of a fitted Sichel model.

The functions `ZASICHEL()` and `ZISICHEL()` are the zero adjusted (hurdle) and zero inflated versions of the Sichel distribution, respectively. That is four parameter distributions.

The functions `dZASICHEL`, `dZISICHEL`, `pZASICHEL`,`pZISICHEL`, `qZASICHEL` `qZISICHEL` `rZASICHEL` and `rZISICHEL` define the probability, cumulative, quantile and random generation functions for the zero adjusted and zero inflated Sichel distributions, `ZASICHEL()`, `ZISICHEL()`, respectively.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29``` ```SICHEL(mu.link = "log", sigma.link = "log", nu.link = "identity") dSICHEL(x, mu=1, sigma=1, nu=-0.5, log=FALSE) pSICHEL(q, mu=1, sigma=1, nu=-0.5, lower.tail = TRUE, log.p = FALSE) qSICHEL(p, mu=1, sigma=1, nu=-0.5, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rSICHEL(n, mu=1, sigma=1, nu=-0.5, max.value = 10000) VSICHEL(obj) tofySICHEL(y, mu, sigma, nu) ZASICHEL(mu.link = "log", sigma.link = "log", nu.link = "identity", tau.link = "logit") dZASICHEL(x, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, log = FALSE) pZASICHEL(q, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, lower.tail = TRUE, log.p = FALSE) qZASICHEL(p, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rZASICHEL(n, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, max.value = 10000) ZISICHEL(mu.link = "log", sigma.link = "log", nu.link = "identity", tau.link = "logit") dZISICHEL(x, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, log = FALSE) pZISICHEL(q, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, lower.tail = TRUE, log.p = FALSE) qZISICHEL(p, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rZISICHEL(n, mu = 1, sigma = 1, nu = -0.5, tau = 0.1, max.value = 10000) ```

## Arguments

 `mu.link` Defines the `mu.link`, with "log" link as the default for the `mu` parameter `sigma.link` Defines the `sigma.link`, with "log" link as the default for the `sigma` parameter `nu.link` Defines the `nu.link`, with "identity" link as the default for the `nuu` parameter `tau.link` Defines the `tau.link`, with "logit" link as the default for the `tau` parameter `x` vector of (non-negative integer) quantiles `mu` vector of positive `mu` `sigma` vector of positive dispersion parameter `sigma` `nu` vector of `nu` `tau` vector of probabilities `tau` `p` vector of probabilities `q` vector of quantiles `n` number of random values to return `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] `max.value` a constant, set to the default value of 10000 for how far the algorithm should look for q `obj` a fitted Sichel gamlss model `y` the y variable, the `tofySICHEL()` should not be used on its own.

## Details

The probability function of the Sichel distribution is given by

f(y|μ,σ,ν)=[μ^y K_{y+n}(α)] / [y! (α σ)^(y+ν) K_ν(1/σ)]

for y=0,1,2,..., mu>0 , σ>0 and -Inf<ν<Inf where

α^2= 1/σ^2 +2*μ/σ

c=K_{ν+1} (1/σ)/K_{ν}(1/σ)

and K_{lambda}(t) is the modified Bessel function of the third kind. Note that the above parametrization is different from Stein, Zucchini and Juritz (1988) who use the above probability function but treat mu, alpha and nu as the parameters.

## Value

Returns a `gamlss.family` object which can be used to fit a Sichel distribution in the `gamlss()` function.

## Note

The mean of the above Sichel distribution is mu and the variance is mu^2 *( 2*sigma*(nu+1)/c + (1/c^2)-1 )

## Author(s)

Rigby, R. A., Stasinopoulos D. M., Akantziliotou C and Marco Enea.

## References

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. and Akantziliotou, C. (2006) Modelling the parameters of a family of mixed Poisson distributions including the Sichel and Delaptorte. Submitted for publication.

Stasinopoulos D. M., Rigby R.A. and Akantziliotou C. (2003) 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.

Stasinopoulos D. M., Rigby R.A., Heller G., Voudouris V., and De Bastiani F., (2017) Flexible Regression and Smoothing: Using GAMLSS in R, Chapman and Hall/CRC.

Stein, G. Z., Zucchini, W. and Juritz, J. M. (1987). Parameter Estimation of the Sichel Distribution and its Multivariate Extension. Journal of American Statistical Association, 82, 938-944.

`gamlss.family`, `PIG` , `SI`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```SICHEL()# gives information about the default links for the Sichel distribution #plot the pdf using plot plot(function(y) dSICHEL(y, mu=10, sigma=1, nu=1), from=0, to=100, n=100+1, type="h") # pdf # plot the cdf plot(seq(from=0,to=100),pSICHEL(seq(from=0,to=100), mu=10, sigma=1, nu=1), type="h") # cdf # generate random sample tN <- table(Ni <- rSICHEL(100, mu=5, sigma=1, nu=1)) r <- barplot(tN, col='lightblue') # fit a model to the data # library(gamlss) # gamlss(Ni~1,family=SICHEL, control=gamlss.control(n.cyc=50)) ```

### Example output

```Loading required package: MASS

GAMLSS Family: SICHEL Sichel
Link function for mu   : log