Extreme Optimization > User's Guide > Statistics Library > Discrete Probability Distributions > The Negative Binomial Distribution

Extreme Optimization User's Guide

User's Guide

Up: Discrete Probability Distributions Next: The Poisson Distribution Previous: The Hypergeometric Distribution Contents

The Negative NegativeBinomial Distribution

The negative binomial distribution models the number of failures before a specified number of successes in a series of Bernoulli trials. A Bernoulli trial is an experiment with two possible outcomes, labeled 'success' and 'failure,' where the probability of success has a fixed value for all trials.

The negative binomial distribution is related to the binomial distribution. Where the binomial distribution models the number of successful trials for a given total number of trials, the negative binomial distribution can be used to model the total number of trials for a given number of successful trials.

The negative binomial distribution has two parameters: the number of successful trials, and the probability of success in each trial. If the number of trials is equal to 1, the negative binomial distribution reduces to the geometric distribution.

Note that the distribution as defined here models only the number of failures, not the total number of trials.

Practical examples include:

The negative binomial distribution is sometimes called the Pascal distribution or the Polya distribution.

The negative binomial distribution is implemented by the NegativeBinomialDistribution class. It has one constructor which takes two parameters. The first parameter is the number of successful trials. The second parameter is the probability of success of a trial. The probability must be between 0 and 1. The following constructs a negative binomial distribution for 12 successes and probability of success 0.35:

C# CopyCode imageCopy Code
NegativeBinomialDistribution negativeBinomial =    new NegativeBinomialDistribution(12, 0.35);
Visual Basic CopyCode imageCopy Code
Dim negativeBinomial As NegativeBinomialDistribution = _
    New NegativeBinomialDistribution(12, 0.35)

The NegativeBinomialDistribution class has two specific properties. NumberOfTrials returns the number of successful trials. ProbabilityOfSuccess returns the probabiltiy of success of a trial.

NegativeBinomialDistribution has one static (Shared in Visual Basic) method, GetRandomVariate, which generates a random variate using a user-supplied uniform random number generator.

C# CopyCode imageCopy Code
MersenneTwister random = new MersenneTwister();
double variate = NegativeBinomialDistribution.GetRandomVariate(random, 12, 0.35);
Visual Basic CopyCode imageCopy Code
Dim random As MersenneTwister = New MersenneTwister()
Dim variate As Double = NegativeBinomialDistribution.GetRandomVariate(random, 12, 0.35)

The above example uses the Mersenne Twister to generate uniform random numbers.

For details of the properties and methods common to all discrete probability distribution classes, see the topic on DiscreteDistribution class.

Up: Discrete Probability Distributions Next: The Poisson Distribution Previous: The Hypergeometric Distribution Contents

Overview
Introduction
Features
Documentation
QuickStart Samples
Sample Applications
Downloads
Get it now!
Download trial version
How to Buy
Information
Resources
Contact Us
Search

"The Extreme Optimization Statistics Library for .NET is a major boon for those doing statistical work in .NET. I strongly recommend this product."
- Marc Brooks

"I have made it my mission to institutionalize the value of good API design.  I strongly believe that this is key to making developers more productive and happy on our platform. It is clear that you value good API design in your work, and take to heart developer productivity and synergy with the .NET framework."
- Brad Abrams,
Lead Program Manager, Microsoft.

This is a partial list of companies who are using our libraries:
ABB Robotics
Allstate
Applied Materials
Arcam
Astra Schedule
Babson College
Canadian Council on Learning
Canyon Associates
Caxton Associates
CECity
Constellation Energy
CreditSights
DeepOcean
Duke University
Dynamotive
Elecsoft
Engelhard Corporation
Epcor
Equipoise Software
Galileo International
GAM UK
Gammex
GlaxoSmithKline
Global Matrix
The Hartford
Infinera Corporation
Intel
JDS Uniphase
LaBranche & Co.
Learning & Skills Council
Jacobs Consultancy
Litman Gregory
Lucas Systems
Malvern Instruments
Medrio
Merck & Co.
Mintera.
Monitor Software
MorningStar
NanoString Technologies
Paletta Invent
Parametric Portfolio Associates
Prosanos
RATA Associates
RiskShield
Ramboll
Standard & Poor's
Strategic Analysis Corporation
Univ. of Alicante
Univ. of South Carolina
vielife
Xerox
US Army