# BB: Beta Binomial Distribution For Fitting a GAMLSS Model In mstasinopoulos/GAMLSS-Distibutions: Distributions for Generalized Additive Models for Location Scale and Shape

## Description

This function defines the beta binomial distribution, a two parameter distribution, for a `gamlss.family` object to be used in a GAMLSS fitting using the function gamlss()

## Usage

 ```1 2 3 4 5 6 7``` ```BB(mu.link = "logit", sigma.link = "log") dBB(x, mu = 0.5, sigma = 1, bd = 10, log = FALSE) pBB(q, mu = 0.5, sigma = 1, bd = 10, lower.tail = TRUE, log.p = FALSE) qBB(p, mu = 0.5, sigma = 1, bd = 10, lower.tail = TRUE, log.p = FALSE, fast = FALSE) rBB(n, mu = 0.5, sigma = 1, bd = 10, fast = FALSE) ```

## Arguments

 `mu.link` Defines the `mu.link`, with "logit" link as the default for the mu parameter. Other links are "probit" and "cloglog"'(complementary log-log) `sigma.link` Defines the `sigma.link`, with "log" link as the default for the sigma parameter. Other links are "inverse", "identity" and "sqrt" `mu` vector of positive probabilities `sigma` the dispersion parameter `bd` vector of binomial denominators `p` vector of probabilities `x,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] `fast` a logical variable if `fast=TRUE` the `dBB` function is used in the calculation of the inverse c.d.f function. This is faster to the default `fast=FALSE`, where the `pBB{}` is used, but not always consistent with the results obtained from `pBB()`, for example if p <- pBB(c(0,1,2,3,4,5), mu=.5 , sigma=1, bd=5) do not ensure that qBB(p, mu=.5 , sigma=1, bd=5) will be c(0,1,2,3,4,5)

## Details

Definition file for beta binomial distribution.

f(y|mu,sigma)=[Gamma(n+1)/Gamma(y+1)/Gamma(n-y+1)]*[Gamma(y+mu/sigma)*Gamma(1/sigma)*Gamma[n+(1-mu)/sigma-y]]/[Gamma(n+(1/sigma)) * Gamma(mu/sigma) * Gamma((1-mu)/sigma)]

for y=0,1,2,…,n, 0<μ<1 and σ>0. For μ=0.5 and σ=0.5 the distribution is uniform.

## Value

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

## Warning

The functions `pBB` and `qBB` are calculated using a laborious procedure so they are relatively slow.

## Note

The response variable should be a matrix containing two columns, the first with the count of successes and the second with the count of failures. The parameter `mu` represents a probability parameter with limits 0 < mu <1. n*mu is the mean of the distribution where n is the binomial denominator. [n mu (1-mu)[1+(n-1) sigma/(sigma+1)]\]^0.5 is the standard deviation of the Beta Binomial distribution. Hence sigma is a dispersion type parameter

## Author(s)

Mikis Stasinopoulos [email protected], Bob Rigby and Kalliope Akantziliotou

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

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

## See Also

`gamlss.family`, `BI`,

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```# BB()# gives information about the default links for the Beta Binomial distribution #plot the pdf plot(function(y) dBB(y, mu = .5, sigma = 1, bd =40), from=0, to=40, n=40+1, type="h") #calculate the cdf and plotting it ppBB <- pBB(seq(from=0, to=40), mu=.2 , sigma=3, bd=40) plot(0:40,ppBB, type="h") #calculating quantiles and plotting them qqBB <- qBB(ppBB, mu=.2 , sigma=3, bd=40) plot(qqBB~ ppBB) # when the argument fast is useful p <- pBB(c(0,1,2,3,4,5), mu=.01 , sigma=1, bd=5) qBB(p, mu=.01 , sigma=1, bd=5, fast=TRUE) # 0 1 1 2 3 5 qBB(p, mu=.01 , sigma=1, bd=5, fast=FALSE) # 0 1 2 3 4 5 # generate random sample tN <- table(Ni <- rBB(1000, mu=.2, sigma=1, bd=20)) r <- barplot(tN, col='lightblue') # fitting a model # library(gamlss) #data(aep) # fits a Beta-Binomial model #h<-gamlss(y~ward+loglos+year, sigma.formula=~year+ward, family=BB, data=aep) ```

mstasinopoulos/GAMLSS-Distibutions documentation built on Sept. 23, 2017, 10:31 p.m.