Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Deployment Guide
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Statistics Library User's Guide
    • Statistical Variables
    • Continuous Variables
    • Categorical Variables
    • Variable Collections
    • General Linear Models
    • Regression Analysis
    • Analysis of Variance
    • Time Series Analysis
    • Multivariate Analysis
    • Continuous Distributions
    • Discrete Distributions
    • Multivariate Distributions
    • Hypothesis Tests
    • Histograms
    • Random Numbers
    • Appendices
  • Discrete Distributions
    • Discrete Probability Distributions
    • The Bernoulli Distribution
    • The Binomial Distribution
    • The Geometric Distribution
    • The Hypergeometric Distributions
    • The Negative NegativeBinomial Distribution
    • The Poisson Distribution
    • The Uniform Distribution
  • The Binomial Distribution
Collapse image Expand Image Copy image CopyHover image
         




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 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 imageCopy
BinomialDistribution bernoulli = new BinomialDistribution(10);
Visual Basic  Copy imageCopy
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 imageCopy
BinomialDistribution binomial2 = new BinomialDistribution(10, 0.4);
Visual Basic  Copy imageCopy
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, Sample, 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 imageCopy
MersenneTwister random = new MersenneTwister();
double variate1 = BinomialDistribution.GetRandomVariate(random, 10);
double variate2 = BinomialDistribution.GetRandomVariate(random, 10, 0.4);
Visual Basic  Copy imageCopy
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 MersenneTwister class to generate uniform random numbers.

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

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, 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 Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.