Learn R Programming

gamlss.dist (version 6.1-1)

PIG: The Poisson-inverse Gaussian distribution for fitting a GAMLSS model

Description

The PIG() function defines the Poisson-inverse Gaussian distribution, a two parameter distribution, for a gamlss.family object to be used in GAMLSS fitting using the function gamlss(). The PIG2() function is a repametrization of PIG() where mu and sigma are orthogonal see Heller et al. (2018).

The functions dPIG, pPIG, qPIG and rPIG define the density, distribution function, quantile function and random generation for the Poisson-inverse Gaussian PIG(), distribution. Also codedPIG2, pPIG2, qPIG2 and rPIG2 are the equivalent functions for codePIG2()

The functions ZAPIG() and ZIPIG() are the zero adjusted (hurdle) and zero inflated versions of the Poisson-inverse Gaussian distribution, respectively. That is three parameter distributions.

The functions dZAPIG, dZIPIG, pZAPIG,pZIPIG, qZAPIG qZIPIG rZAPIG and rZIPIG define the probability, cumulative, quantile and random generation functions for the zero adjusted and zero inflated Poisson Inverse Gaussian distributions, ZAPIG(), ZIPIG(), respectively.

Usage

PIG(mu.link = "log", sigma.link = "log")
dPIG(x, mu = 1, sigma = 1, log = FALSE)
pPIG(q, mu = 1, sigma = 1, lower.tail = TRUE, log.p = FALSE)
qPIG(p, mu = 1, sigma = 1, lower.tail = TRUE, log.p = FALSE, 
     max.value = 10000)
rPIG(n, mu = 1, sigma = 1, max.value = 10000)

PIG2(mu.link = "log", sigma.link = "log") dPIG2(x, mu=0.5, sigma=0.02, log = FALSE) pPIG2(q, mu=0.5, sigma=0.02, lower.tail = TRUE, log.p = FALSE) qPIG2(p, mu=0.5, sigma=0.02, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rPIG2(n, mu=0.5, sigma=0.02)

ZIPIG(mu.link = "log", sigma.link = "log", nu.link = "logit") dZIPIG(x, mu = 1, sigma = 1, nu = 0.3, log = FALSE) pZIPIG(q, mu = 1, sigma = 1, nu = 0.3, lower.tail = TRUE, log.p = FALSE) qZIPIG(p, mu = 1, sigma = 1, nu = 0.3, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rZIPIG(n, mu = 1, sigma = 1, nu = 0.3, max.value = 10000)

ZAPIG(mu.link = "log", sigma.link = "log", nu.link = "logit") dZAPIG(x, mu = 1, sigma = 1, nu = 0.3, log = FALSE) pZAPIG(q, mu = 1, sigma = 1, nu = 0.3, lower.tail = TRUE, log.p = FALSE) qZAPIG(p, mu = 1, sigma = 1, nu = 0.3, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rZAPIG(n, mu = 1, sigma = 1, nu = 0.3, max.value = 10000)

Value

Returns a gamlss.family object which can be used to fit a Poisson-inverse Gaussian distribution in the gamlss() function.

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 mu.link, with "logit" link as the default for the nu parameter

x

vector of (non-negative integer) quantiles

mu

vector of positive means

sigma

vector of positive dispersion parameter

nu

vector of zero probability parameter

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

Author

Dominique-Laurent Couturier, Mikis Stasinopoulos, Bob Rigby and Marco Enea

Details

The probability function of the Poisson-inverse Gaussian distribution PIG, is given by

$$f(y|\mu,\sigma)=\left( \frac{2 \alpha}{\pi}^{\frac{1}{2}}\right)\frac{\mu^y e^{\frac{1}{\sigma}} K_{y-\frac{1}{2}}(\alpha)}{(\alpha \sigma)^y y!}$$ where \(\alpha^2=\frac{1}{\sigma^2}+\frac{2\mu}{\sigma}\), for \(y=0,1,2,...,\infty\) where \(\mu>0\) and \(\sigma>0\) and \( K_{\lambda}(t)=\frac{1}{2}\int_0^{\infty} x^{\lambda-1} \exp\{-\frac{1}{2}t(x+x^{-1})\}dx\) is the modified Bessel function of the third kind, see also pp. 487-489 of Rigby et al. (2019). [Note that the above parameterization was used by Dean, Lawless and Willmot(1989). It is also a special case of the Sichel distribution SI() when \(\nu=-\frac{1}{2}\).]

The probability function of the Poisson-inverse Gaussian distribution PIG2, see Heller, Couturier and Heritier (2018), is given by

$$f(y|\mu,\sigma)=\left( \frac{2 \sigma}{\pi}^{\frac{1}{2}}\right) \frac{\mu^y e^{\frac{1}{\sigma}} K_{y-\frac{1}{2}}(\sigma)}{(\alpha \sigma)^y y!}$$ for \(y=0,1,2,...,\infty\), \(\mu>0\) and \(\sigma>0\) and \(\alpha = \left[(\mu^2+\sigma^2)^{0.5}-\mu \right]^{-1}\), \(K_{\lambda}(t)=\frac{1}{2}\int_0^{\infty} x^{\lambda-1} \exp\{-\frac{1}{2}t(x+x^{-1})\}dx\) is the modified Bessel function of the third kind, see pp. 487-489 of Rigby et al. (2019).

The definition of the zero adjusted Poison inverse Gaussian distribution, ZAPIG and the the zero inflated Poison inverse Gaussian distribution, ZIPIG, are given in p. 513 and pp. 514-515 of of Rigby et al. (2019), respectively.

References

Dean, C., Lawless, J. F. and Willmot, G. E., A mixed poisson-inverse-Gaussian regression model, Canadian J. Statist., 17, 2, pp 171-181

Heller, G. Z., Couturier, D.L. and Heritier, S. R. (2018) Beyond mean modelling: Bias due to misspecification of dispersion in Poisson-inverse Gaussian regression Biometrical Journal, 2, pp 333-342.

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, tools:::Rd_expr_doi("10.1201/9780429298547"). 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, tools:::Rd_expr_doi("10.18637/jss.v023.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. tools:::Rd_expr_doi("10.1201/b21973")

(see also https://www.gamlss.com/).

See Also

gamlss.family, NBI, NBII, SI, SICHEL

Examples

Run this code
PIG()# gives information about the default links for the  Poisson-inverse Gaussian distribution 
#plot the pdf using plot 
plot(function(y) dPIG(y, mu=10, sigma = 1 ), from=0, to=50, n=50+1, type="h") # pdf
# plot the cdf
plot(seq(from=0,to=50),pPIG(seq(from=0,to=50), mu=10, sigma=1), type="h")   # cdf
# generate random sample
tN <- table(Ni <- rPIG(100, mu=5, sigma=1))
r <- barplot(tN, col='lightblue')
# fit a model to the data 
# library(gamlss)
# gamlss(Ni~1,family=PIG)
ZIPIG()
ZAPIG()

Run the code above in your browser using DataLab