View source: R/PoissonBinomial.R
PoissonBinomial | R Documentation |
The Poisson binomial distribution is a generalization of the
Binomial
distribution. It is also a sum
of n
independent Bernoulli experiments. However, the success
probabilities can vary between the experiments so that they are
not identically distributed.
PoissonBinomial(...)
... |
An arbitrary number of numeric vectors or matrices
of success probabilities in |
The Poisson binomial distribution comes up when you consider the number of successes in independent binomial experiments (coin flips) with potentially varying success probabilities.
The PoissonBinomial
distribution class in distributions3
is mostly based on the PoissonBinomial package, providing fast
Rcpp implementations of efficient algorithms. Hence, it is
recommended to install the PoissonBinomial package when working
with this distribution. However, as a fallback for when the PoissonBinomial
package is not installed the methods for the PoissonBinomial
distribution employ a normal approximation.
We recommend reading the following documentation on https://alexpghayes.github.io/distributions3/, where the math will render with additional detail.
In the following, let X
be a Poisson binomial random variable with
success probabilities p_1
to p_n
.
Support: \{0, 1, 2, ..., n\}
Mean: p_1 + \dots + p_n
Variance: p_1 \cdot (1 - p_1) + \dots + p_1 \cdot (1 - p_1)
Probability mass function (p.m.f):
P(X = k) = \sum_A \prod_{i \in A} p_i \prod_{j \in A^C} (1 - p_j)
where the sum is taken over all sets A
with k
elements from
\{0, 1, 2, ..., n\}
. A^C
is the complement
of A
.
Cumulative distribution function (c.d.f):
P(X \le k) = \sum_{i=0}^{\lfloor k \rfloor} P(X = i)
Moment generating function (m.g.f):
E(e^{tX}) = \prod_{i = 1}^n (1 - p_i + p_i e^t)
A PoissonBinomial
object.
Other discrete distributions:
Bernoulli()
,
Binomial()
,
Categorical()
,
Geometric()
,
HurdleNegativeBinomial()
,
HurdlePoisson()
,
HyperGeometric()
,
Multinomial()
,
NegativeBinomial()
,
Poisson()
,
ZINegativeBinomial()
,
ZIPoisson()
,
ZTNegativeBinomial()
,
ZTPoisson()
set.seed(27)
X <- PoissonBinomial(0.5, 0.3, 0.8)
X
mean(X)
variance(X)
skewness(X)
kurtosis(X)
random(X, 10)
pdf(X, 2)
log_pdf(X, 2)
cdf(X, 2)
quantile(X, 0.8)
cdf(X, quantile(X, 0.8))
quantile(X, cdf(X, 2))
## equivalent definitions of four Poisson binomial distributions
## each summing up three Bernoulli probabilities
p <- cbind(
p1 = c(0.1, 0.2, 0.1, 0.2),
p2 = c(0.5, 0.5, 0.5, 0.5),
p3 = c(0.8, 0.7, 0.9, 0.8))
PoissonBinomial(p)
PoissonBinomial(p[, 1], p[, 2], p[, 3])
PoissonBinomial(p[, 1:2], p[, 3])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.