Extreme Optimization >
User's Guide >
Statistics Library >
Discrete Probability Distributions >
The Binomial Distribution
Extreme Optimization User's Guide
User's Guide
Up: Discrete Probability Distributions Next: The Geometric Distribution Previous: The Bernoulli Distribution Contents
The Binomial Distribution
The binomial distribution models the number of successes in a
fixed number 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 binomial distribution has two parameters: the number of
trials, and the probability of success in each trial. If the number
of trials is equal to 1, the binomial distribution reduces to the
Bernoulli distribution.
The binomial distribution arises whenever underlying events have
two possible outcomes, and the probability of each outcome
occurring remains constant. In general, when a sample of fixed
size, n, is taken from an infinite population, and
each member of the population independently has a probability
p of having a specific property, then the number of
members that have this property has a binomial distribution with
parameters n and p. If the population is finite,
then the same holds, provided the samples were taken independently
and with replacement.
Practical examples include:
- The number of times heads or tails is obtained in a fixed
number of coin tosses has a binomial distribution.
- The number of defective elements found in a random sample of
fixed size from a stable production process has a binomial
distribution.
- The binomial distribution can be used to estimate the size of
an animal population by marking individuals and releasing them back
into the wild.
The binomial distribution is implemented by the BinomialDistribution
class. It has two constructors. The first constructor takes one
parameter: the number of trials. The probability of success is
assumed to be 0.5. The following constructs a binomial distribution
for 10 trials:
| C# | Copy Code |
BinomialDistribution bernoulli = new BinomialDistribution(10); |
| Visual Basic | Copy Code |
Dim bernoulli As BinomialDistribution = New BinomialDistribution(10) |
The second constructor has two parameters. The first parameter
is once again the number of trials. The second parameter is the
probability of success of a trial. The probability must be between
0 and 1. The following constructs a binomial distribution with 10
trials and probability of success 0.4:
| C# | Copy Code |
BinomialDistribution binomial2 = new BinomialDistribution(10, 0.4); |
| Visual Basic | Copy Code |
Dim binomial2 As BinomialDistribution = New BinomialDistribution(10, 0.4) |
The BinomialDistribution class has two specific
properties.
NumberOfTrials returns the number of trials.
ProbabilityOfSuccess returns the probabiltiy of
success of a trial.
BinomialDistribution has one static
(Shared in Visual Basic) method,
GetRandomVariate, which generates a random variate
using a user-supplied uniform random number generator. It has two
overloads, corresponding to each of the two constructors.
| C# | Copy Code |
MersenneTwister random = new MersenneTwister();
double variate1 = BinomialDistribution.GetRandomVariate(random, 10);
double variate2 = BinomialDistribution.GetRandomVariate(random, 10, 0.4); |
| Visual Basic | Copy Code |
Dim random As MersenneTwister = New MersenneTwister()
Dim variate1 As Double = BinomialDistribution.GetRandomVariate(random, 10)
Dim variate2 As Double = BinomialDistribution.GetRandomVariate(random, 10, 0.4) |
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 Geometric Distribution Previous: The Bernoulli Distribution Contents
Copyright 2004-2008,
Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M
Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual
Studio.NET, and the Visual Studio Logo are registered trademarks of Microsoft Corporation