Cauchy Distribution Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.1.0
[SerializableAttribute]
public class CauchyDistribution : ContinuousDistribution
- Inheritance
- Object → Distribution → ContinuousDistribution → CauchyDistribution
Remarks
The Cauchy distribution looks similar to the Normal distribution, but has a much heavier tail. It has some unusual properties. The mean is undefined, and the variance is infinite.
The Cauchy distribution is sometimes called the Lorentz distribution.
The scale parameter is a positive real number that determines how spread out the distribution is around the origin. Because the Cauchy has very heavy tails, it is often used in physics to describe resonance behavior. It can also be viewed as the ratio of two independent standard normal variables. This distribution can be more robust than the Normal distribution in contexts where outliers or large fluctuations occur more frequently.
Example
This example shows how to create a CauchyDistribution object with a scale parameter of 2.5. It then demonstrates usage of several properties and methods of both CauchyDistribution and the ContinuousDistribution base class. The code uses top-level statements introduced in C# 9.
using System;
using Numerics.NET.Statistics.Distributions;
// Distribution parameters
var dist = new CauchyDistribution(2.5);
Console.WriteLine($"ScaleParameter: {dist.ScaleParameter}");
// Functions
double cdfValue = dist.DistributionFunction(1.2);
double pdfValue = dist.ProbabilityDensityFunction(1.2);
double invCdf = dist.InverseDistributionFunction(0.8);
Console.WriteLine($"Cdf(1.2) = {cdfValue}");
Console.WriteLine($"Pdf(1.2) = {pdfValue}");
Console.WriteLine($"InverseCdf(0.8) = {invCdf}");
// Moments
double mean = dist.Mean;
double median = dist.Median;
Console.WriteLine($"Mean = {mean}");
Console.WriteLine($"Median = {median}");
// Other properties
double sample = dist.Sample(new Random());
Console.WriteLine($"Sample = {sample}");
Constructors
Cauchy | Constructs a new CauchyDistribution object. |
Properties
Capabilities |
Gets a value that indicates the capabilities of the distribution class.
(Inherited from Distribution) |
Entropy |
Gets the entropy of the distribution.
(Overrides Distribution.Entropy) |
Inter |
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.
(Overrides Distribution.Kurtosis) |
Mean |
Gets the mean or expectation value of the distribution.
(Overrides Distribution.Mean) |
Median |
Gets the median of the distribution.
(Overrides ContinuousDistribution.Median) |
Mode |
Gets the mode of the distribution.
(Overrides ContinuousDistribution.Mode) |
Number |
Gets the number of modes of the distribution.
(Inherited from ContinuousDistribution) |
Scale | Gets the scale parameter for the distribution. |
Skewness |
Gets the skewness of the distribution.
(Overrides Distribution.Skewness) |
Standard |
Gets the standard deviation of the distribution.
(Inherited from Distribution) |
Statistic |
Gets the common symbol to describe a statistic
from the distribution.
(Inherited from Distribution) |
Support |
Gets the support of the distribution.
(Inherited from ContinuousDistribution) |
Variance |
Gets the variance of the distribution.
(Overrides Distribution.Variance) |
Methods
Cdf |
Evaluates the cumulative distribution function
(CDF) of this distribution for the specified value.
(Inherited from ContinuousDistribution) |
Distribution |
Evaluates the cumulative distribution function
(CDF) of this distribution for the specified value.
(Overrides ContinuousDistribution.DistributionFunction(Double)) |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
Get |
Returns an array that contains all the modes of the distribution.
(Inherited from ContinuousDistribution) |
Get |
Returns the expectation value of a function.
(Inherited from ContinuousDistribution) |
Get |
Returns the un-normalized expectation value of a function over the specified interval.
(Inherited from ContinuousDistribution) |
Get |
Gets a vector containing a histogram of the expected number of samples
for a given total number of samples.
(Inherited from ContinuousDistribution) |
Get |
Gets a vector containing a histogram of the expected number of samples
for a given total number of samples.
(Inherited from ContinuousDistribution) |
Get |
Gets a vector whose bins contain the expected number of samples
for a given total number of samples.
(Inherited from ContinuousDistribution) |
Get | Serves as the default hash function. (Inherited from Object) |
Get |
Returns a sequence of random samples from the distribution.
(Inherited from ContinuousDistribution) |
Get |
Returns a sequence of random samples from the distribution.
(Inherited from ContinuousDistribution) |
Get |
Returns a sequence of random samples of the specified length from the distribution.
(Inherited from ContinuousDistribution) |
Get | Gets the Type of the current instance. (Inherited from Object) |
Hazard |
Returns the probability of failure at the specified value.
(Inherited from ContinuousDistribution) |
Inverse |
Returns the inverse of the DistributionFunction(Double).
(Inherited from ContinuousDistribution) |
Inverse |
Returns the inverse of the DistributionFunction(Double).
(Overrides ContinuousDistribution.InverseDistributionFunction(Double)) |
Left |
Returns the probability that a sample from the distribution
is less than the specified value.
(Inherited from ContinuousDistribution) |
Log |
Returns the logarithm of the probability density function
(PDF) of this distribution for the specified value.
(Inherited from ContinuousDistribution) |
Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
Moment |
Returns the value of the moment function of the specified order.
(Overrides ContinuousDistribution.MomentFunction(Int32, Double)) |
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) |
Probability |
Returns the value of the probability density function
(PDF) of this distribution for the specified value.
(Overrides ContinuousDistribution.ProbabilityDensityFunction(Double)) |
Right |
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( |
Returns a vector of random samples from the distribution.
(Inherited from ContinuousDistribution) |
Sample( |
Returns a random sample from the distribution.
(Overrides ContinuousDistribution.Sample(Random)) |
Sample( |
Returns a vector of random samples from the distribution.
(Inherited from ContinuousDistribution) |
Sample( | Returns a single random sample from a Cauchy distribution with the specified scale parameter. |
Sample |
Fills a list with random numbers from the distribution.
(Inherited from ContinuousDistribution) |
Sample |
Fills a list with random numbers from the distribution.
(Inherited from ContinuousDistribution) |
Sample |
Fills a span with random numbers from the distribution.
(Inherited from ContinuousDistribution) |
Sample |
Fills part of a list with random numbers from the distribution.
(Inherited from ContinuousDistribution) |
Survivor |
Evaluates the survivor distribution function
(SDF) of this distribution for the specified value.
(Inherited from ContinuousDistribution) |
ToString | Returns a string that represents the current object. (Inherited from Object) |
Two |
Returns the probability that a sample from the distribution deviates from the mean more than
the specified value.
(Inherited from ContinuousDistribution) |