NegativeBinomial: Negative Binomial Distribution Class In distr6: The Complete R6 Probability Distributions Interface

Description

Mathematical and statistical functions for the Negative Binomial distribution, which is commonly used to model the number of successes, trials or failures before a given number of failures or successes.

Details

The Negative Binomial distribution parameterised with number of failures before successes, n, and probability of success, p, is defined by the pmf,

f(x) = C(x + n - 1, n - 1) p^n (1 - p)^x

for n = {0,1,2,…} and probability p, where C(a,b) is the combination (or binomial coefficient) function.

The Negative Binomial distribution can refer to one of four distributions (forms):

1. The number of failures before K successes (fbs)

2. The number of successes before K failures (sbf)

3. The number of trials before K failures (tbf)

4. The number of trials before K successes (tbs)

For each we refer to the number of K successes/failures as the `size` parameter.

Value

Returns an R6 object inheriting from class SDistribution.

Distribution support

The distribution is supported on {0,1,2,…} (for fbs and sbf) or {n,n+1,n+2,…} (for tbf and tbs) (see below).

Default Parameterisation

NBinom(size = 10, prob = 0.5, form = "fbs")

N/A

N/A

Super classes

`distr6::Distribution` -> `distr6::SDistribution` -> `NegativeBinomial`

Public fields

`name`

Full name of distribution.

`short_name`

Short name of distribution for printing.

`description`

Brief description of the distribution.

`packages`

Packages required to be installed in order to construct the distribution.

Active bindings

`properties`

Returns distribution properties, including skewness type and symmetry.

Methods

Public methods

Inherited methods

Method `new()`

Creates a new instance of this R6 class.

Usage
```NegativeBinomial\$new(
size = NULL,
prob = NULL,
qprob = NULL,
mean = NULL,
form = NULL,
decorators = NULL
)```
Arguments
`size`

`(integer(1))`
Number of trials/successes.

`prob`

`(numeric(1))`
Probability of success.

`qprob`

`(numeric(1))`
Probability of failure. If provided then `prob` is ignored. `qprob = 1 - prob`.

`mean`

`(numeric(1))`
Mean of distribution, alternative to `prob` and `qprob`.

`form`

`character(1))`
Form of the distribution, cannot be changed after construction. Options are to model the number of,

• `"fbs"` - Failures before successes.

• `"sbf"` - Successes before failures.

• `"tbf"` - Trials before failures.

• `"tbs"` - Trials before successes. Use `\$description` to see the Negative Binomial form.

`decorators`

`(character())`
Decorators to add to the distribution during construction.

Method `mean()`

The arithmetic mean of a (discrete) probability distribution X is the expectation

E_X(X) = ∑ p_X(x)*x

with an integration analogue for continuous distributions.

Usage
`NegativeBinomial\$mean(...)`
`...`

Unused.

Method `mode()`

The mode of a probability distribution is the point at which the pdf is a local maximum, a distribution can be unimodal (one maximum) or multimodal (several maxima).

Usage
`NegativeBinomial\$mode(which = "all")`
Arguments
`which`

`(character(1) | numeric(1)`
Ignored if distribution is unimodal. Otherwise `"all"` returns all modes, otherwise specifies which mode to return.

Method `variance()`

The variance of a distribution is defined by the formula

var_X = E[X^2] - E[X]^2

where E_X is the expectation of distribution X. If the distribution is multivariate the covariance matrix is returned.

Usage
`NegativeBinomial\$variance(...)`
`...`

Unused.

Method `skewness()`

The skewness of a distribution is defined by the third standardised moment,

sk_X = E_X[((x - μ)/σ)^3]

where E_X is the expectation of distribution X, μ is the mean of the distribution and σ is the standard deviation of the distribution.

Usage
`NegativeBinomial\$skewness(...)`
`...`

Unused.

Method `kurtosis()`

The kurtosis of a distribution is defined by the fourth standardised moment,

k_X = E_X[((x - μ)/σ)^4]

where E_X is the expectation of distribution X, μ is the mean of the distribution and σ is the standard deviation of the distribution. Excess Kurtosis is Kurtosis - 3.

Usage
`NegativeBinomial\$kurtosis(excess = TRUE, ...)`
Arguments
`excess`

`(logical(1))`
If `TRUE` (default) excess kurtosis returned.

`...`

Unused.

Method `mgf()`

The moment generating function is defined by

mgf_X(t) = E_X[exp(xt)]

where X is the distribution and E_X is the expectation of the distribution X.

Usage
`NegativeBinomial\$mgf(t, ...)`
Arguments
`t`

`(integer(1))`
t integer to evaluate function at.

`...`

Unused.

Method `cf()`

The characteristic function is defined by

cf_X(t) = E_X[exp(xti)]

where X is the distribution and E_X is the expectation of the distribution X.

Usage
`NegativeBinomial\$cf(t, ...)`
Arguments
`t`

`(integer(1))`
t integer to evaluate function at.

`...`

Unused.

Method `pgf()`

The probability generating function is defined by

pgf_X(z) = E_X[exp(z^x)]

where X is the distribution and E_X is the expectation of the distribution X.

Usage
`NegativeBinomial\$pgf(z, ...)`
Arguments
`z`

`(integer(1))`
z integer to evaluate probability generating function at.

`...`

Unused.

Method `clone()`

The objects of this class are cloneable with this method.

Usage
`NegativeBinomial\$clone(deep = FALSE)`
Arguments
`deep`

Whether to make a deep clone.

References

McLaughlin, M. P. (2001). A compendium of common probability distributions (pp. 2014-01). Michael P. McLaughlin.

Other discrete distributions: `Bernoulli`, `Binomial`, `Categorical`, `Degenerate`, `DiscreteUniform`, `EmpiricalMV`, `Empirical`, `Geometric`, `Hypergeometric`, `Logarithmic`, `Multinomial`, `WeightedDiscrete`
Other univariate distributions: `Arcsine`, `Bernoulli`, `BetaNoncentral`, `Beta`, `Binomial`, `Categorical`, `Cauchy`, `ChiSquaredNoncentral`, `ChiSquared`, `Degenerate`, `DiscreteUniform`, `Empirical`, `Erlang`, `Exponential`, `FDistributionNoncentral`, `FDistribution`, `Frechet`, `Gamma`, `Geometric`, `Gompertz`, `Gumbel`, `Hypergeometric`, `InverseGamma`, `Laplace`, `Logarithmic`, `Logistic`, `Loglogistic`, `Lognormal`, `Normal`, `Pareto`, `Poisson`, `Rayleigh`, `ShiftedLoglogistic`, `StudentTNoncentral`, `StudentT`, `Triangular`, `Uniform`, `Wald`, `Weibull`, `WeightedDiscrete`