The lognormal distribution is used to model variables whose logarithm has a The Normal Distribution. More generally, the lognormal distribution can be applied to
variables that are positive and have some very large values. Examples of variables that can be modeled with a
lognormal distribution include:
the concentration of air pollutants;
the down time of faulty equipment;
the concentration of minerals in deposits.
The lognormal distribution is closely related to the The Normal Distribution. The
logarithm of a variable with a lognormal distribution has a normal distribution. We will refer to this transformed
distribution as the associated normal distribution in the rest of this section.
The lognormal distribution has a location parameter and a scale parameter, usually denoted by the Greek letters
μ and σ. They correspond to the mean and the standard deviation of the associated normal distribution. The
probability density function is:
The lognormal distribution is implemented by the
LognormalDistribution
class. It has two constructors. The first constructor takes two arguments.
The first argument is the location parameter, and corresponds to
the mean of the associated normal distribution. The second argument is the scale parameter and
corresponds to the standard deviation of the associated normal distribution.
The following constructs the lognormal distribution with location parameter 6.8 and scale parameter 4.1:
var lognormal = new LognormalDistribution(6.8, 4.1);
Dim lognormal = New LognormalDistribution(6.8, 4.1)
No code example is currently available or this language may not be supported.
let lognormal = LognormalDistribution(6.8, 4.1)
The LognormalDistribution class has two specific properties, LocationParameter and ScaleParameter, which return the
location and scale parameters of the distribution.
If a variable is assumed to have a lognormal distribution, then the order and scale parameters of the distribution
can be estimated using the method of maximum likelihood or the method of matching moments. This is done by estimating
the parameters of the normal distribution for a logarithmic transformation of the variable. The second constructor
performs this calculation. It takes one argument: a VectorT whose distribution is to be estimated.
Note that parameter estimation says nothing about how well the estimated distribution fits the variable's
distribution. Use one of the goodness-of-fit tests to verify the appropriateness of the choice of distribution.
LognormalDistribution 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.
var random = new MersenneTwister();
double sample = LognormalDistribution.Sample(random, 6.8, 4.1);
Dim random = New MersenneTwister()
Dim sample = LognormalDistribution.Sample(random, 6.8, 4.1)
No code example is currently available or this language may not be supported.
let random = MersenneTwister()
let sample = LognormalDistribution.Sample(random, 6.8, 4.1)
The above example uses the MersenneTwister to
generate uniform random numbers.
For details of the properties and methods common to all continuous distribution classes, see the topic on
continuous distributions.