Pareto Distribution

The Pareto distribution can be used to model variables that follow Pareto's 80-20 principle: 80% of resources are owned by 20% of the population, etc. Examples of variables that may follow a Pareto distribution include:

  • annual income within a population;

  • the frequency of words in long texts;

  • the size of sand particles;

  • the file sizes in network traffic.

The Pareto distribution has a location parameter which must be strictly greater than 0 and corresponds to the smallest possible value of the variable. It also has a scale parameter, also positive, that determines how fast the distribution drops off from the smallest value. The probability density function is:

Probability density of the Pareto distribution.

The Pareto distribution is sometimes called the Bradford distribution.

The Pareto distribution is implemented by the ParetoDistribution class. It has one constructor that takes two arguments. The first argument is the location parameter, and corresponds to the mode of the probability density function. The second argument is the shape parameter.

The following constructs the Pareto distribution with location parameter 6.8 and scale parameter 1.8:

C#
var pareto = new ParetoDistribution(6.8, 1.8);

The ParetoDistribution class has two specific properties, ShapeParameter and ScaleParameter, which return the shape parameter and the scale parameter of the distribution.

ParetoDistribution has one static (Shared in Visual Basic) method, Sample, which generates a random sample using a user-supplied uniform random number generator. The second and third parameters are the location and scale parameters of the distribution.

C#
var random = new Pcg32();
double sample = ParetoDistribution.Sample(random, 6.8, 1.8);

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

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