Extreme Optimization >
User's Guide >
Statistics Library >
Continuous Probability Distributions >
The Pareto Distribution
Extreme Optimization User's Guide
User's Guide
Up: Continuous Probability Distributions Next: The Rayleigh Distribution Previous: The Normal Distribution Contents
The 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:

The Pareto distribution is sometimes called the Bradford
distribution.
The Pareto distribution is implemented by the ParetoDistribution
class. It has one constructor with two parameters. The first
parameter is the location parameter, and corresponds to the mode of
the probability density function. The second parameter is the shape
parameter.
The following constructs the Pareto distribution with location
parameter 6.8 and scale parameter 1.8:
| C# | Copy Code |
ParetoDistribution pareto = new ParetoDistribution(6.8, 1.8); |
| Visual Basic | Copy Code |
Dim pareto As ParetoDistribution = 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,
GetRandomVariate, which generates a random variate
using a user-supplied uniform random number generator. The second
and third parameters are the location and scale parameters of the
distribution.
| C# | Copy Code |
MersenneTwister random = new MersenneTwister();
double variate = ParetoDistribution.GetRandomVariate(random, 6.8, 1.8); |
| Visual Basic | Copy Code |
Dim random As MersenneTwister = New MersenneTwister()
Dim variate As Double = ParetoDistribution.GetRandomVariate(random, 6.8, 1.8) |
The above example uses the Mersenne
Twister to generate uniform random numbers.
For details of the properties and methods common to all
continuous distribution classes, see the topic on ContinuousDistribution
class.
Up: Continuous Probability Distributions Next: The Rayleigh Distribution Previous: The Normal Distribution Contents
Copyright 2004-2008,
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 Visual Studio Logo are registered trademarks of Microsoft Corporation