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)