View source: R/HurdleNegativeBinomial.R
| HurdleNegativeBinomial | R Documentation |
Hurdle negative binomial distributions are frequently used to model counts with overdispersion and many zero observations.
HurdleNegativeBinomial(mu, theta, pi)
mu |
Location parameter of the negative binomial component of the distribution. Can be any positive number. |
theta |
Overdispersion parameter of the negative binomial component of the distribution. Can be any positive number. |
pi |
Zero-hurdle probability, can be any value in |
We recommend reading this documentation on https://alexpghayes.github.io/distributions3/, where the math will render with additional detail.
In the following, let X be a hurdle negative binomial random variable with parameters
mu = \mu and theta = \theta.
Support: \{0, 1, 2, 3, ...\}
Mean:
\mu \cdot \frac{\pi}{1 - F(0; \mu, \theta)}
where F(k; \mu) is the c.d.f. of the NegativeBinomial distribution.
Variance:
m \cdot \left(1 + \frac{\mu}{\theta} + \mu - m \right)
where m is the mean above.
Probability mass function (p.m.f.): P(X = 0) = 1 - \pi and for k > 0
P(X = k) = \pi \cdot \frac{f(k; \mu, \theta)}{1 - F(0; \mu, \theta)}
where f(k; \mu, \theta) is the p.m.f. of the NegativeBinomial
distribution.
Cumulative distribution function (c.d.f.): P(X \le 0) = 1 - \pi and for k > 0
P(X \le k) = 1 - \pi + \pi \cdot \frac{F(k; \mu, \theta) - F(0; \mu, \theta)}{1 - F(0; \mu, \theta)}
Moment generating function (m.g.f.):
Omitted for now.
A HurdleNegativeBinomial object.
Other discrete distributions:
Bernoulli(),
Binomial(),
Categorical(),
Geometric(),
HurdlePoisson(),
HyperGeometric(),
Multinomial(),
NegativeBinomial(),
Poisson(),
PoissonBinomial(),
ZINegativeBinomial(),
ZIPoisson(),
ZTNegativeBinomial(),
ZTPoisson()
## set up a hurdle negative binomial distribution
X <- HurdleNegativeBinomial(mu = 2.5, theta = 1, pi = 0.75)
X
## standard functions
pdf(X, 0:8)
cdf(X, 0:8)
quantile(X, seq(0, 1, by = 0.25))
## cdf() and quantile() are inverses for each other
quantile(X, cdf(X, 3))
## density visualization
plot(0:8, pdf(X, 0:8), type = "h", lwd = 2)
## corresponding sample with histogram of empirical frequencies
set.seed(0)
x <- random(X, 500)
hist(x, breaks = -1:max(x) + 0.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.