Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries 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
    • Data Analysis 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
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
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 Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Statistics Library User's Guide
    • Statistical Variables
    • Numerical Variables
    • Statistical Models
    • Regression Analysis
    • Analysis of Variance
    • Time Series Analysis
    • Multivariate Analysis
    • Continuous Distributions
    • Discrete Distributions
    • Multivariate Distributions
    • Kernel Density Estimation
    • Hypothesis Tests
    • Appendices
  • Continuous Distributions
    • Continuous Distributions
    • The Beta Distribution
    • The Cauchy Distribution
    • The Chi Square Distribution
    • The Erlang Distribution
    • The Exponential Distribution
    • The F Distribution
    • The Gamma Distribution
    • The Generalized Pareto Distribution
    • The Gumbel Distribution
    • The Laplace Distribution
    • The Logistic Distribution
    • Log-Logistic Distribution
    • The Lognormal Distribution
    • The Non-central Beta Distribution
    • The Non-central Chi Square Distribution
    • The Non-central F Distribution
    • The Non-central Student t distribution
    • The Normal Distribution
    • The Pareto Distribution
    • The Rayleigh Distribution
    • Student's t Distribution
    • The Transformed Beta Distribution
    • The Transformed Gamma Distribution
    • The Triangular Distribution
    • The Continuous Uniform Distribution
    • The Weibull Distribution
  • The Exponential Distribution

The Exponential Distribution

Extreme Optimization Numerical Libraries for .NET Professional

The exponential distribution can be used to model the time until an event occurs, or the time between two events. Examples of quantities that can be modeled using the exponential distribution are:

  • The time between phone calls in a call center.

  • The time until a machine fails.

The exponential distribution is related to the The Poisson Distribution. Where the Poisson distribution models the number of occurrences of an event in a specified time span, the exponential distribution models the time between these occurrences. The probability of an event is assumed to be constant.

The exponential distribution has one parameter, usually denoted by the Greek letter (mu). When the time until failure is being modeled, specifies the mean time to failure. When the time between events is being modeled, then specifies the mean time between two occurrences. This parameter acts as a scale parameter of the distribution.

The exponential distribution is a special case of the The Erlang Distribution with shape parameter 1.

The probability density function (PDF) of the exponential distribution is:

Probability density of the exponential distribution.

The exponential distribution is implemented by the ExponentialDistribution class. It has two constructors. The first constructor has one parameter: the scale parameter of the distribution. The following constructs an exponential distribution with waiting time (scale parameter) 7.6:

C#
VB
C++
F#
Copy
var exponential = new ExponentialDistribution(7.6);
Dim exponential = New ExponentialDistribution(7.6)

No code example is currently available or this language may not be supported.

let exponential = ExponentialDistribution(7.6)

If a variable is assumed to have an exponential distribution, then the parameter of the distribution can be estimated using the method of maximum likelihood, which gives the same results as the method of matching moments. The second constructor performs this calculation. It takes one argument: a VectorT whose distribution is to be estimated.

Note that parameter estimation says nothing about how well the estimated distribution fits the variable's distribution. Use one of the goodness-of-fit tests to verify the appropriateness of the choice of distribution.

The ExponentialDistribution class has one specific property, ScaleParameter, which returns the scale parameter of the distribution. This parameter commonly corresponds to the average waiting time until an event occurs.

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

C#
VB
C++
F#
Copy
var random = new MersenneTwister();
double sample = ExponentialDistribution.Sample(random, 7.6);
Dim random = New MersenneTwister()
Dim sample = ExponentialDistribution.Sample(random, 7.6)

No code example is currently available or this language may not be supported.

let random = MersenneTwister()
let sample = ExponentialDistribution.Sample(random, 7.6)

The above example uses the MersenneTwister to generate uniform random numbers.

For details of the properties and methods common to all continuous distribution classes, see the topic on continuous distributions..

See Also

Other Resources

The Poisson Distribution

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, 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.