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 Geometric Distribution
Collapse image Expand Image Copy image CopyHover image
         




The Geometric Distribution

The geometric distribution is a special case of the negative binomial distribution. It models the number of failures before the first success 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 geometric distribution has one parameter, p, that specifies the probability of success.

Examples of the geometric distribution are:

  • The number of successive hits by a baseball player (assuming the probability of a hit is constant) has a geometric distribution with parameter p = 1 - (batting average).
  • The number of attempts made by a player to hit a target has a geometric distribution.

The geometric distribution is implemented by the GeometricDistribution class. It has one constructor which has one parameter: the probability of success of a trial. The probability must be between 0 and 1. The following constructs a geometric distribution with probability of success 0.4:

C#  Copy imageCopy
GeometricDistribution geometric = new GeometricDistribution(0.4);
Visual Basic  Copy imageCopy
Dim geometric As GeometricDistribution = New GeometricDistribution(0.4)

The GeometricDistribution class has one specific property, ProbabilityOfSuccess, which returns the probabiltiy of success of a trial.

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

C#  Copy imageCopy
MersenneTwister random = new MersenneTwister();
double variate = GeometricDistribution.GetRandomVariate(random, 0.4);
Visual Basic  Copy imageCopy
Dim random As MersenneTwister = New MersenneTwister()
Dim variate As Double = GeometricDistribution.GetRandomVariate(random, 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.