dist_multinomial {distributional} | R Documentation |
The Multinomial distribution
Description
The multinomial distribution is a generalization of the binomial
distribution to multiple categories. It is perhaps easiest to think
that we first extend a dist_bernoulli()
distribution to include more
than two categories, resulting in a dist_categorical()
distribution.
We then extend repeat the Categorical experiment several (n
)
times.
Usage
dist_multinomial(size, prob)
Arguments
size |
The number of draws from the Categorical distribution. |
prob |
The probability of an event occurring from each draw. |
Details
We recommend reading this documentation on https://pkg.mitchelloharawild.com/distributional/, where the math will render nicely.
In the following, let X = (X_1, ..., X_k)
be a Multinomial
random variable with success probability p
= p
. Note that
p
is vector with k
elements that sum to one. Assume
that we repeat the Categorical experiment size
= n
times.
Support: Each X_i
is in {0, 1, 2, ..., n}
.
Mean: The mean of X_i
is n p_i
.
Variance: The variance of X_i
is n p_i (1 - p_i)
.
For i \neq j
, the covariance of X_i
and X_j
is -n p_i p_j
.
Probability mass function (p.m.f):
P(X_1 = x_1, ..., X_k = x_k) = \frac{n!}{x_1! x_2! ... x_k!} p_1^{x_1} \cdot p_2^{x_2} \cdot ... \cdot p_k^{x_k}
Cumulative distribution function (c.d.f):
Omitted for multivariate random variables for the time being.
Moment generating function (m.g.f):
E(e^{tX}) = \left(\sum_{i=1}^k p_i e^{t_i}\right)^n
See Also
Examples
dist <- dist_multinomial(size = c(4, 3), prob = list(c(0.3, 0.5, 0.2), c(0.1, 0.5, 0.4)))
dist
mean(dist)
variance(dist)
generate(dist, 10)
# TODO: Needs fixing to support multiple inputs
# density(dist, 2)
# density(dist, 2, log = TRUE)