IGLib
1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
|
Represents an exponential distribution. More...
Public Member Functions | |||
ExponentialDistribution (double mu) | |||
Initializes a new exponential distribution with the given mean. More... | |||
ExponentialDistribution () | |||
Initializes a new standard exponential distribution. More... | |||
override double | ProbabilityDensity (double x) | ||
Returns the probability density at the given point.
| |||
override double | LeftProbability (double x) | ||
Returns the cumulative probability to the left of (below) the given point.
| |||
override double | RightProbability (double x) | ||
Return the cumulative probability to the right of (above) the given point.
| |||
override double | InverseLeftProbability (double P) | ||
Returns the point at which the cumulative distribution function attains a given value.
| |||
override double | InverseRightProbability (double Q) | ||
Returns the point at which the right probability function attains the given value. More... | |||
override double | Moment (int r) | ||
Computes a raw moment of the distribution.
| |||
override double | MomentAboutMean (int r) | ||
Computes a central moment of the distribution.
| |||
override double | Cumulant (int r) | ||
Computes a cumulant of the distribution.
| |||
![]() | |||
virtual double | ExpectationValue (Func< double, double > f) | ||
Computes the expectation value of the given function. More... | |||
virtual double | GetRandomValue (Random rng) | ||
Returns a random value. More... | |||
Static Public Member Functions | |
static FitResult | FitToSample (Sample sample) |
Computes the exponential distribution that best fits the given sample. More... | |
Properties | |
override double | Mean [get] |
override double | StandardDeviation [get] |
override double | Median [get] |
override double | Skewness [get] |
override double | ExcessKurtosis [get] |
override Interval | Support [get] |
![]() | |
virtual double | Median [get] |
Gets the median of the distribution. More... | |
virtual Interval | Support [get] |
Gets the interval over which the distribution is nonvanishing. More... | |
![]() | |
virtual double | Mean [get] |
Gets the mean of the distribution. More... | |
virtual double | Variance [get] |
Gets the variance of the distribution. More... | |
virtual double | StandardDeviation [get] |
Gets the standard deviation of the distribution. More... | |
virtual double | Skewness [get] |
Gets the skewness of the distribution. More... | |
virtual double | ExcessKurtosis [get] |
Gets the excess kurtosis of the distribution. More... | |
Private Member Functions | |
double[] IParameterizedDistribution. | GetParameters () |
Gets the parameter values of the distribution. More... | |
void IParameterizedDistribution. | SetParameters (IList< double > parameters) |
Sets the parameter values of the distribution. More... | |
double IParameterizedDistribution. | Likelihood (double x) |
Gets the likelihood of a value, given the current parameters. More... | |
Private Attributes | |
double | mu |
Represents an exponential distribution.
An exponential distribution falls off exponentially in the range from zero to infinity. It is a one-parameter distribution, determined entirely by its rate of fall-off.
The exponential distribution describes the distribution of decay times of radioactive particles.
An exponential distribution with mean one is called a standard exponential distribution. Any exponential distribution can be converted to a standard exponential by reparameterizing the data into "fractions of the mean," i.e. z = x / μ.
Processes resulting in events that are exponentially distributed in time are said to be "ageless" because the hazard function of the exponential distribution is constant. The Weibull distribution (WeibullDistribution) is a generalization of the exponential distribution which the hazard function changes (typically by increasing) with time.
|
inline |
Initializes a new exponential distribution with the given mean.
mu | The mean, which must be positive. |
|
inline |
Initializes a new standard exponential distribution.
|
inlinevirtual |
Returns the probability density at the given point.
x | The reference point. |
Implements Meta.Numerics.Statistics.Distributions.Distribution.
|
inlinevirtual |
Returns the cumulative probability to the left of (below) the given point.
x | The reference point. |
Reimplemented from Meta.Numerics.Statistics.Distributions.Distribution.
References Meta.Numerics.MoreMath.ExpMinusOne().
|
inlinevirtual |
Return the cumulative probability to the right of (above) the given point.
x | The reference point. |
Reimplemented from Meta.Numerics.Statistics.Distributions.Distribution.
|
inlinevirtual |
Returns the point at which the cumulative distribution function attains a given value.
P | The left cumulative probability P, which must lie between 0 and 1. |
Reimplemented from Meta.Numerics.Statistics.Distributions.Distribution.
References Meta.Numerics.MoreMath.LogOnePlus().
|
inlinevirtual |
Returns the point at which the right probability function attains the given value.
Q | The right cumulative probability, which must lie between 0 and 1. |
Reimplemented from Meta.Numerics.Statistics.Distributions.Distribution.
|
inlinevirtual |
Computes a raw moment of the distribution.
r | The order of the moment to compute. |
Reimplemented from Meta.Numerics.Statistics.Distributions.Distribution.
References Meta.Numerics.Functions.AdvancedIntegerMath.Factorial(), and Meta.Numerics.MoreMath.Pow().
|
inlinevirtual |
Computes a central moment of the distribution.
r | The order of the moment to compute. |
Reimplemented from Meta.Numerics.Statistics.Distributions.Distribution.
References Meta.Numerics.Functions.AdvancedIntegerMath.Factorial(), and Meta.Numerics.MoreMath.Pow().
|
inlinevirtual |
Computes a cumulant of the distribution.
r | The index of the cumulant to compute. |
Reimplemented from Meta.Numerics.Statistics.Distributions.UnivariateDistribution.
References Meta.Numerics.Functions.AdvancedIntegerMath.Factorial(), and Meta.Numerics.MoreMath.Pow().
|
inlineprivate |
Gets the parameter values of the distribution.
Implements Meta.Numerics.Statistics.Distributions.IParameterizedDistribution.
|
inlineprivate |
Sets the parameter values of the distribution.
parameters | A list of parameter values. |
Implements Meta.Numerics.Statistics.Distributions.IParameterizedDistribution.
|
inlineprivate |
Gets the likelihood of a value, given the current parameters.
x | The value. |
Implements Meta.Numerics.Statistics.Distributions.IParameterizedDistribution.
|
inlinestatic |
Computes the exponential distribution that best fits the given sample.
sample | The sample to fit. |
The returned fit parameter is μ (the Mean). This is the same parameter that is required by the ExponentialDistribution(double) constructor to specify a new exponential distribution.
ArgumentNullException | sample is null. |
InsufficientDataException | sample contains fewer than two values. |
InvalidOperationException | sample contains non-positive values. |
References Meta.Numerics.Statistics.Sample.Count.
Referenced by Test.SampleTest.ExponentialFit(), Test.SampleTest.ExponentialFitUncertainty(), Test.SampleTest.NormalFit(), and Test.SampleTest.SampleFitChiSquaredTest().
|
private |
|
get |
Referenced by Test.SampleTest.ExponentialFit().
|
get |
|
get |
|
get |
|
get |
|
get |