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.