R: Beta Negative Binomial distribution for fitting a GAMLSS

BNB {gamlss.dist} | R Documentation

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

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

### Details

The probability function of the `BNB` is

f(y|μ,σ, ν)=(Γ(y+1/ν)Β(y+(μν)/σ, 1/σ+1/ν +1 )/(Γ(y+1) Γ(1/ν) Β((μν)/σ, 1/σ+1) )

for y=0,1,2,3,..., μ>0, σ>0 and ν>0.

The distribution has mean μ.

### Value

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

### Author(s)

Bob Rigby and Mikis Stasinopoulos d.stasinopoulos@londonmrt.ac.uk

### 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. 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, https://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.

### See Also

`NBI`, `NBII`

### Examples

    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")
    ## Not run:
    library(gamlss)
    data(species)
    species <- transform(species, x=log(lake))
    m6 <- gamlss(fish~ pb(x), sigma.fo=~1, data=species, family=BNB)

    ## End(Not run)

[Package gamlss.dist version 5.3-2 Index]