Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Statistics Library User's Guide
    • Statistical Variables
    • Numerical Variables
    • Statistical Models
    • Regression Analysis
    • Analysis of Variance
    • Time Series Analysis
    • Multivariate Analysis
    • Continuous Distributions
    • Discrete Distributions
    • Multivariate Distributions
    • Kernel Density Estimation
    • Hypothesis Tests
    • Appendices
  • Continuous Distributions
    • Continuous Distributions
    • The Beta Distribution
    • The Cauchy Distribution
    • The Chi Square Distribution
    • The Erlang Distribution
    • The Exponential Distribution
    • The F Distribution
    • The Gamma Distribution
    • The Generalized Pareto Distribution
    • The Gumbel Distribution
    • The Laplace Distribution
    • The Logistic Distribution
    • Log-Logistic Distribution
    • The Lognormal Distribution
    • The Non-central Beta Distribution
    • The Non-central Chi Square Distribution
    • The Non-central F Distribution
    • The Non-central Student t distribution
    • The Normal Distribution
    • The Pareto Distribution
    • The Rayleigh Distribution
    • Student's t Distribution
    • The Transformed Beta Distribution
    • The Transformed Gamma Distribution
    • The Triangular Distribution
    • The Continuous Uniform Distribution
    • The Weibull Distribution
  • The Lognormal Distribution

The Lognormal Distribution

Extreme Optimization Numerical Libraries for .NET Professional

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:

Probability density of the lognormal distribution.

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:

C#
VB
C++
F#
Copy
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.

C#
VB
C++
F#
Copy
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.

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, 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 Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.