Learn R Programming

gamlss.dist (version 6.1-1)

BNB: Beta Negative Binomial distribution for fitting a GAMLSS

Description

The BNB() function defines the beta negative binomial distribution, a three parameter distribution, for a gamlss.family object to be used in GAMLSS fitting using the function gamlss().

The functions dBNB, pBNB, qBNB and rBNB define the density, distribution function, quantile function and random generation for the beta negative binomial distribution, BNB().

The functions ZABNB() and ZIBNB() are the zero adjusted (hurdle) and zero inflated versions of the beta negative binomial distribution, respectively. That is four parameter distributions.

The functions dZABNB, dZIBNB, pZABNB,pZIBNB, qZABNB qZIBNB rZABNB and rZIBNB define the probability, cumulative, quantile and random generation functions for the zero adjusted and zero inflated beta negative binomial distributions, ZABNB(), ZIBNB(), respectively.

Usage

BNB(mu.link = "log", sigma.link = "log", nu.link = "log")
dBNB(x, mu = 1, sigma = 1, nu = 1, log = FALSE)
pBNB(q, mu = 1, sigma = 1, nu = 1, lower.tail = TRUE, log.p = FALSE)
qBNB(p, mu = 1, sigma = 1, nu = 1, lower.tail = TRUE, log.p = FALSE, 
     max.value = 10000)
rBNB(n, mu = 1, sigma = 1, nu = 1, max.value = 10000)

ZABNB(mu.link = "log", sigma.link = "log", nu.link = "log", tau.link = "logit") dZABNB(x, mu = 1, sigma = 1, nu = 1, tau = 0.1, log = FALSE) pZABNB(q, mu = 1, sigma = 1, nu = 1, tau = 0.1, lower.tail = TRUE, log.p = FALSE) qZABNB(p, mu = 1, sigma = 1, nu = 1, tau = 0.1, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rZABNB(n, mu = 1, sigma = 1, nu = 1, tau = 0.1, max.value = 10000)

ZIBNB(mu.link = "log", sigma.link = "log", nu.link = "log", tau.link = "logit") dZIBNB(x, mu = 1, sigma = 1, nu = 1, tau = 0.1, log = FALSE) pZIBNB(q, mu = 1, sigma = 1, nu = 1, tau = 0.1, lower.tail = TRUE, log.p = FALSE) qZIBNB(p, mu = 1, sigma = 1, nu = 1, tau = 0.1, lower.tail = TRUE, log.p = FALSE, max.value = 10000) rZIBNB(n, mu = 1, sigma = 1, nu = 1, tau = 0.1, max.value = 10000)

Value

returns a gamlss.family object which can be used to fit a Poisson distribution in the gamlss() function.

Arguments

mu.link

The link function for mu

sigma.link

The link function for sigma

nu.link

The link function for nu

tau.link

The link function for tau

x

vector of (non-negative integer)

mu

vector of positive means

sigma

vector of positive dispersion parameter

nu

vector of a positive parameter

tau

vector of probabilities

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

q

vector of quantiles

n

number of random values to return

max.value

a constant, set to the default value of 10000 for how far the algorithm should look for q

Author

Bob Rigby and Mikis Stasinopoulos

Details

The probability function of the BNB is

$$P(Y=y|\mu,\sigma, \nu) = \frac{\Gamma(y+\nu^{-1}) B(y+\mu \sigma^{-1} \nu,\sigma^{-1}+\nu^{-1}+1)} {\Gamma(y+1) \Gamma(\nu^{-1}) B(\mu \sigma^{-1} \nu,\sigma^{-1}+1)}$$ for \(y=0,1,2,3,...\), \(\mu>0\), \(\sigma>0\) and \(\nu>0\), see pp 502-503 of Rigby et al. (2019).

The distribution has mean \(\mu\).

The definition of the zero adjusted beta negative binomial distribution, ZABNB and the the zero inflated beta negative binomial distribution, ZIBNB, are given in p. 517 and pp. 519 of of Rigby et al. (2019), respectively.

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., 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. and Akantziliotou C. (2006) Instructions on how to use the GAMLSS package in R. Accompanying documentation in the current GAMLSS help files, (see also 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

NBI, NBII

Examples

Run this code
BNB()   # gives information about the default links for the beta negative binomial
# plotting the distribution
plot(function(y) dBNB(y, mu = 10, sigma = 0.5, nu=2), from=0, to=40, n=40+1, type="h")
# creating random variables and plot them 
tN <- table(Ni <- rBNB(1000, mu=5, sigma=0.5, nu=2))
r <- barplot(tN, col='lightblue')

ZABNB()
ZIBNB()
# plotting the distribution
plot(function(y) dZABNB(y, mu = 10, sigma = 0.5, nu=2, tau=.1),  
     from=0, to=40, n=40+1, type="h")
plot(function(y) dZIBNB(y, mu = 10, sigma = 0.5, nu=2, tau=.1),  
     from=0, to=40, n=40+1, type="h")
if (FALSE) {
library(gamlss)
data(species)
species <- transform(species, x=log(lake))
m6 <- gamlss(fish~ pb(x), sigma.fo=~1, data=species, family=BNB)
}

Run the code above in your browser using DataLab