ErlangDistribution Class

Represents an Erlang distribution.

Definition

Namespace: Numerics.NET.Statistics.Distributions
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.7
C#
[SerializableAttribute]
public class ErlangDistribution : GammaDistribution
Inheritance
Object  →  Distribution  →  ContinuousDistribution  →  GammaDistribution  →  ErlangDistribution

Remarks

The Erlang distribution characterizes the distribution of the time it takes for an event to occur n times when the probability per unit time of the event occurring is constant.

The Erlang distribution is a special case of the Gamma distribution with the first parameter being an integer.

When the order equals 1, the Erlang distribution reduces to the Exponential distribution.

The order parameter (an integer) represents the number of events, and the scale parameter (a double) represents the mean time between events.

Applications of the Erlang distribution include modeling the time between arrivals of customers in a queue, the time until a certain number of failures occur in a system, and other processes where events happen at a constant rate.

Example

This example demonstrates how to create an Erlang distribution with non-standard parameters and use its properties and methods.

C#
using System;  
using Numerics.NET.Statistics.Distributions;  

// Create an Erlang distribution with order 3 and scale 2.0  
var erlang = new ErlangDistribution(3, 2.0);  

// Distribution parameters  
Console.WriteLine($"Order: {erlang.ShapeParameter}");  
Console.WriteLine($"Scale: {erlang.ScaleParameter}");  

// Functions  
double pdf = erlang.ProbabilityDensityFunction(1.0);  
double cdf = erlang.DistributionFunction(1.0);  
Console.WriteLine($"PDF at x=1.0: {pdf}");  
Console.WriteLine($"CDF at x=1.0: {cdf}");  

// Moments  
double mean = erlang.Mean;  
double variance = erlang.Variance;  
Console.WriteLine($"Mean: {mean}");  
Console.WriteLine($"Variance: {variance}");  

// Other properties  
double entropy = erlang.Entropy;  
double mode = erlang.Mode;  
Console.WriteLine($"Entropy: {entropy}");  
Console.WriteLine($"Mode: {mode}");

Constructors

ErlangDistribution Constructs a new ErlangDistribution with the specified order and scale parameters.

Properties

Capabilities Gets a value that indicates the capabilities of the distribution class.
(Inherited from Distribution)
Entropy Gets the entropy of the distribution.
(Inherited from GammaDistribution)
InterQuartileRange Returns the inter-quartile range of this distribution.
(Inherited from ContinuousDistribution)
IsSymmetrical Gets whether the distribution is known to be symmetrical around the mean.
(Inherited from ContinuousDistribution)
IsUnimodal Gets whether the distribution has one or more modes.
(Inherited from ContinuousDistribution)
Kurtosis Gets the kurtosis of the distribution.
(Inherited from GammaDistribution)
LocationParameter Gets the location parameter for the distribution.
(Inherited from GammaDistribution)
Mean Gets the mean or expectation value of the distribution.
(Inherited from GammaDistribution)
Median Gets the median of the distribution.
(Inherited from ContinuousDistribution)
Mode Gets the mode of the distribution.
(Inherited from GammaDistribution)
NumberOfModes Gets the number of modes of the distribution.
(Inherited from ContinuousDistribution)
ScaleParameter Gets the scale parameter for the distribution.
(Inherited from GammaDistribution)
ShapeParameter Gets the shape parameter for the distribution.
(Inherited from GammaDistribution)
Skewness Gets the skewness of the distribution.
(Inherited from GammaDistribution)
StandardDeviation Gets the standard deviation of the distribution.
(Inherited from Distribution)
StatisticSymbol Gets the common symbol to describe a statistic from the distribution.
(Inherited from Distribution)
Support Gets the support of the distribution.
(Inherited from GammaDistribution)
Variance Gets the variance of the distribution.
(Inherited from GammaDistribution)

Methods

Cdf Evaluates the cumulative distribution function (CDF) of this distribution for the specified value.
(Inherited from ContinuousDistribution)
DistributionFunction Evaluates the cumulative distribution function (CDF) of this distribution for the specified value.
(Inherited from GammaDistribution)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetAllModes Returns an array that contains all the modes of the distribution.
(Inherited from ContinuousDistribution)
GetExpectationValue(Func<Double, Double>) Returns the expectation value of a function.
(Inherited from ContinuousDistribution)
GetExpectationValue(Func<Double, Double>, Double, Double) Returns the un-normalized expectation value of a function over the specified interval.
(Inherited from ContinuousDistribution)
GetExpectedHistogram(Double[], Double) Gets a vector containing a histogram of the expected number of samples for a given total number of samples.
(Inherited from ContinuousDistribution)
GetExpectedHistogram(IntervalIndex<Double>, Double) Gets a vector containing a histogram of the expected number of samples for a given total number of samples.
(Inherited from ContinuousDistribution)
GetExpectedHistogram(Double, Double, Int32, Double) Gets a vector whose bins contain the expected number of samples for a given total number of samples.
(Inherited from ContinuousDistribution)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetRandomSequence() Returns a sequence of random samples from the distribution.
(Inherited from ContinuousDistribution)
GetRandomSequence(Random) Returns a sequence of random samples from the distribution.
(Inherited from ContinuousDistribution)
GetRandomSequence(Random, Int32) Returns a sequence of random samples of the specified length from the distribution.
(Inherited from ContinuousDistribution)
GetTypeGets the Type of the current instance.
(Inherited from Object)
HazardFunction Returns the probability of failure at the specified value.
(Inherited from ContinuousDistribution)
InverseCdf Returns the inverse of the DistributionFunction(Double).
(Inherited from ContinuousDistribution)
InverseDistributionFunction Returns the inverse of the DistributionFunction(Double).
(Inherited from GammaDistribution)
LeftTailProbability Returns the probability that a sample from the distribution is less than the specified value.
(Inherited from ContinuousDistribution)
LogProbabilityDensityFunction Returns the logarithm of the probability density function (PDF) of this distribution for the specified value.
(Inherited from GammaDistribution)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
MomentFunction Returns the value of the moment function of the specified order.
(Inherited from GammaDistribution)
Pdf Returns the value of the probability density function (PDF) of this distribution for the specified value.
(Inherited from ContinuousDistribution)
Probability Returns the probability that a sample taken from the distribution lies inside the specified interval.
(Inherited from ContinuousDistribution)
ProbabilityDensityFunction Returns the value of the probability density function (PDF) of this distribution for the specified value.
(Inherited from GammaDistribution)
RightTailProbability Returns the probability that a sample from the distribution is larger than the specified value.
(Inherited from ContinuousDistribution)
Sample() Returns a random sample from the distribution.
(Inherited from ContinuousDistribution)
Sample(Int32) Returns a vector of random samples from the distribution.
(Inherited from ContinuousDistribution)
Sample(Random) Returns a random sample from the distribution.
(Inherited from GammaDistribution)
Sample(Int32, Random) Returns a vector of random samples from the distribution.
(Inherited from ContinuousDistribution)
SampleInto(Random, IList<Double>) Fills a list with random numbers from the distribution.
(Inherited from ContinuousDistribution)
SampleInto(Random, Double[]) Fills a list with random numbers from the distribution.
(Inherited from ContinuousDistribution)
SampleInto(Random, Span<Double>) Fills a span with random numbers from the distribution.
(Inherited from ContinuousDistribution)
SampleInto(Random, IList<Double>, Int32, Int32) Fills part of a list with random numbers from the distribution.
(Inherited from ContinuousDistribution)
SurvivorDistributionFunction Evaluates the survivor distribution function (SDF) of this distribution for the specified value.
(Inherited from GammaDistribution)
ToStringReturns a string that represents the current object.
(Inherited from GammaDistribution)
TwoTailedProbability Returns the probability that a sample from the distribution deviates from the mean more than the specified value.
(Inherited from ContinuousDistribution)

See Also