Class NegativeBinomialDistribution
- All Implemented Interfaces:
Serializable
,Distribution
An alternative definition is that X is the total number of trials needed to get r failures, not simply the number of successes. This alternative parameterization can be used as an alternative to the Poisson distribution. It is especially useful for discrete data over an unbounded positive range whose sample variance exceeds the sample mean. If a Poisson distribution is used to model such data, the model mean and variance are equal. In that case, the observations are overdispersed with respect to the Poisson model. Since the negative binomial distribution has one more parameter than the Poisson, the second parameter can be used to adjust the variance independently of the mean. In the case of modest overdispersion, this may produce substantially similar results to an overdispersed Poisson distribution.
The negative binomial distribution also arises as a continuous mixture of Poisson distributions where the mixing distribution of the Poisson rate is a gamma distribution. That is, we can view the negative binomial as a Poisson(λ) distribution, where λ is itself a random variable, distributed according to Γ(r, p/(1 - p)).
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(double k) Cumulative distribution function.double
entropy()
Shannon's entropy.int
length()
Returns the number of parameters of the distribution.double
logp
(int k) The probability mass function in log scale.double
mean()
Returns the mean of distribution.double
p
(int k) The probability mass function.double
quantile
(double p) The quantile, the probability to the left of quantile is p.double
rand()
Generates a random number following this distribution.double
sd()
Returns the standard deviation of distribution.toString()
double
variance()
Returns the variance of distribution.Methods inherited from class smile.stat.distribution.DiscreteDistribution
likelihood, logLikelihood, logp, p, quantile, randi, randi
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface smile.stat.distribution.Distribution
inverseTransformSampling, likelihood, logLikelihood, quantile, quantile, rand, rejectionSampling
-
Field Details
-
r
public final double rThe number of failures until the experiment is stopped. -
p
public final double pThe success probability in each experiment.
-
-
Constructor Details
-
NegativeBinomialDistribution
public NegativeBinomialDistribution(double r, double p) Constructor.- Parameters:
r
- the number of failures until the experiment is stopped.p
- success probability in each experiment.
-
-
Method Details
-
length
public int length()Description copied from interface:Distribution
Returns the number of parameters of the distribution. The "length" is in the sense of the minimum description length principle.- Returns:
- The number of parameters.
-
mean
public double mean()Description copied from interface:Distribution
Returns the mean of distribution.- Returns:
- The mean.
-
variance
public double variance()Description copied from interface:Distribution
Returns the variance of distribution.- Returns:
- The variance.
-
sd
public double sd()Description copied from interface:Distribution
Returns the standard deviation of distribution.- Returns:
- The standard deviation.
-
entropy
public double entropy()Shannon's entropy. Not supported.- Returns:
- Shannon entropy.
-
toString
-
rand
public double rand()Description copied from interface:Distribution
Generates a random number following this distribution.- Returns:
- a random number.
-
p
public double p(int k) Description copied from class:DiscreteDistribution
The probability mass function.- Specified by:
p
in classDiscreteDistribution
- Parameters:
k
- a real value.- Returns:
- the probability.
-
logp
public double logp(int k) Description copied from class:DiscreteDistribution
The probability mass function in log scale.- Specified by:
logp
in classDiscreteDistribution
- Parameters:
k
- a real value.- Returns:
- the log probability.
-
cdf
public double cdf(double k) Description copied from interface:Distribution
Cumulative distribution function. That is the probability to the left of x.- Parameters:
k
- a real number.- Returns:
- the probability.
-
quantile
public double quantile(double p) Description copied from interface:Distribution
The quantile, the probability to the left of quantile is p. It is actually the inverse of cdf.- Parameters:
p
- the probability.- Returns:
- the quantile.
-