| NBF {gamlss.dist} | R Documentation |
Negative Binomial Family distribution for fitting a GAMLSS
Description
The NBF() function defines the Negative Binomial family distribution, a three parameter distribution, for a gamlss.family object to be used in GAMLSS fitting using the function gamlss().
The functions dNBF, pNBF, qNBF and rNBF define the density, distribution function, quantile function and random generation for the negative binomial family, NBF(), distribution.
The functions dZINBF, pZINBF, qZINBF and rZINBF define the density, distribution function, quantile function and random generation for the zero inflated negative binomial family, ZINBF(), distribution a four parameter distribution.
Usage
NBF(mu.link = "log", sigma.link = "log", nu.link = "log")
dNBF(x, mu = 1, sigma = 1, nu = 2, log = FALSE)
pNBF(q, mu = 1, sigma = 1, nu = 2, lower.tail = TRUE, log.p = FALSE)
qNBF(p, mu = 1, sigma = 1, nu = 2, lower.tail = TRUE, log.p = FALSE)
rNBF(n, mu = 1, sigma = 1, nu = 2)
ZINBF(mu.link = "log", sigma.link = "log", nu.link = "log",
tau.link = "logit")
dZINBF(x, mu = 1, sigma = 1, nu = 2, tau = 0.1, log = FALSE)
pZINBF(q, mu = 1, sigma = 1, nu = 2, tau = 0.1, lower.tail = TRUE,
log.p = FALSE)
qZINBF(p, mu = 1, sigma = 1, nu = 2, tau = 0.1, lower.tail = TRUE,
log.p = FALSE)
rZINBF(n, mu = 1, sigma = 1, nu = 2, tau = 0.1)
Arguments
mu.link |
The link function for |
sigma.link |
The link function for |
nu.link |
The link function for |
tau.link |
The link function for |
x |
vector of (non-negative integer) |
mu |
vector of positive means |
sigma |
vector of positive dispersion parameter |
nu |
vector of power parameter |
tau |
vector of inflation parameter |
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 |
Details
The definition for Negative Binomial Family distribution , NBF, is similar to the Negative Binomial type I. The probability function of the NBF can be obtained by replacing \sigma with \sigma \mu^{\nu-2} where \nu is a power parameter.
The distribution has mean \mu and variance \mu+\sigma \mu^{\nu}.
For more details see pp 507-508 of Rigby et al. (2019).
The zero inflated negative binomial family ZINBF is defined as an inflated at zero NBF.
Value
returns a gamlss.family object which can be used to fit a Negative Binomial Family distribution in the gamlss() function.
Author(s)
Bob Rigby and Mikis Stasinopoulos
References
Anscombe, F. J. (1950) Sampling theory of the negative binomial and logarithmic distributions, Biometrika, 37, 358-382.
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, doi:10.1201/9780429298547. An older version can be found in https://www.gamlss.com/.
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. doi:10.1201/b21973
(see also https://www.gamlss.com/).
See Also
Examples
NBF() # default link functions for the Negative Binomial Family
# plotting the distribution
plot(function(y) dNBF(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 <- rNBF(1000, mu=5, sigma=0.5, nu=2))
r <- barplot(tN, col='lightblue')
# zero inflated NBF
ZINBF() # default link functions for the zero inflated NBF
# plotting the distribution
plot(function(y) dZINBF(y, mu = 10, sigma = 0.5, nu=2, tau=.1 ),
from=0, to=40, n=40+1, type="h")
# creating random variables and plot them
tN <- table(Ni <- rZINBF(1000, mu=5, sigma=0.5, nu=2, tau=0.1))
r <- barplot(tN, col='lightblue')
## Not run:
library(gamlss)
data(species)
species <- transform(species, x=log(lake))
m6 <- gamlss(fish~poly(x,2), sigma.fo=~1, data=species, family=NBF,
n.cyc=200)
fitted(m6, "nu")[1]
## End(Not run)