RandomVariables Class NegativeBinomialVariable

```java.lang.Object
Statistics.RandomVariable
RandomVariables.NegativeBinomialVariable
```

public class NegativeBinomialVariable
extends RandomVariable

Negative binomial NB(n,p) variable X. IID trials with probability p of success are repeated. X is the number of the trial at which the n-th success occurs.

WARNING:test program (main) shows bug. Monte Carlo and analytic mean and variance do not agree (How does colt use the parameters n,p?).

 Constructor Summary ```NegativeBinomialVariable(int n, double p)```

 Method Summary ` double` `analyticMean()`           Unconditional mean given by exact formula. ` double` `analyticVariance()`           Unconditional variance given by exact formula. ` cern.jet.random.NegativeBinomial` `getNegativeBinomialDistribution()`           The underlying `cern.jet.random.NegativeBinomial` NegativeBinomial distribution. ` double` `getValue(int t)`           A new sample from the distribution of X conditioned on information available at time t. `static void` `main(java.lang.String[] args)`           Allocates a `NegativeBinomial(20,0.3)` variable and compares the analytic mean and variance to Monte Carlo mean and variance over a sample of size 100,000.

 Methods inherited from class Statistics.RandomVariable `analyticCentralMoment, analyticConditionalCentraMoment, analyticConditionalMean, analyticConditionalMoment, analyticConditionalVariance, analyticMoment, basicHistogram, centered_X, conditionalEmpiricalDistribution, conditionalExpectation, conditionalExpectation, conditionalExpectation, conditionalExpectation, conditionalExpectation, conditionalHistogram, conditionalHistogram, conditionalMeanAndStandardDeviation, conditionalMeanAndStandardDeviation, conditionalMeanAndStandardDeviation, conditionalMeanAndStandardDeviation, conditionalMoment, conditionalVariance, cumulativeDistributionFunction, displayConditionalHistogram, displayConditionalHistogram, displayConditionalHistogram, displayConditionalHistogram, displayHistogram, displayHistogram, displayHistogram, displayHistogram, div, empiricalDistribution, expectation, expectation, expectation, expectation, expectation, fillSampleSet, get_empiricalDistributionIsInitialized, get_hasAnalyticCentralMoment, get_hasAnalyticMean, get_hasAnalyticMoment, get_hasAnalyticVariance, get_hasConditionalAnalyticCentralMoment, get_hasConditionalAnalyticMean, get_hasConditionalAnalyticMoment, get_hasConditionalAnalyticVariance, histogram, histogram, initEmpiricalDistribution, meanAndStandardDeviation, meanAndStandardDeviation, meanAndStandardDeviation, meanAndStandardDeviation, minus, mult, plus, quantile, scale, setHasAnalyticMean, setHasAnalyticVariance, variance`

 Methods inherited from class java.lang.Object `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

 Constructor Detail

NegativeBinomialVariable

```public NegativeBinomialVariable(int n,
double p)```
Parameters:
`n` - the n-throws success is waited for.
`p` - probability of success.
 Method Detail

analyticMean

`public double analyticMean()`
Description copied from class: `RandomVariable`

Unconditional mean given by exact formula.

Since in general there are no analytic formulas the default is an error message and program abort. Override this in special cases where analytic formulas do exist.

Overrides:
`analyticMean` in class `RandomVariable`

analyticVariance

`public double analyticVariance()`
Description copied from class: `RandomVariable`

Unconditional variance given by exact formula.

Since in general there are no analytic formulas the default is an error message and program abort. Override this in special cases where analytic formulas do exist.

Overrides:
`analyticVariance` in class `RandomVariable`

getNegativeBinomialDistribution

`public cern.jet.random.NegativeBinomial getNegativeBinomialDistribution()`
The underlying `cern.jet.random.NegativeBinomial` NegativeBinomial distribution. Much additional functionality. See the javdoc of the `colt` distribution.

getValue

`public double getValue(int t)`
Description copied from class: `RandomVariable`

A new sample from the distribution of X conditioned on information available at time t.

This is the crucial method defining the random variable and information structure.

Specified by:
`getValue` in class `RandomVariable`
Parameters:
`t` - time - ingnored no sense of time defined (no conditioning in this context).

main

`public static void main(java.lang.String[] args)`
Allocates a `NegativeBinomial(20,0.3)` variable and compares the analytic mean and variance to Monte Carlo mean and variance over a sample of size 100,000. A histogram is shown also.