LOGNORM4: Extracting Parameters of Lognormal Distributions from Minimal Information

Green diamond bar

21 November 2006: See also the Lognormal Fitting Utility Program: Extracting Parameters of Lognormal Distributions from a Column of Uncensored or Left-Censored Data software page.

LOGNORM4.EXE (PNL-SA-22137) is a copyrighted, freeware, 16-bit DOS PC application that extracts the parameters of a lognormal distribution from minimal summary data. LOGNORM4 runs under Microsoft MS-DOS, Microsoft Windows 95, 98, 2000, ME, and XP. You need only 2 of any of the following parameters to extract the parameters of a lognormal distribution from summary statistics: mean, median, mode, standard deviation, variance, geometric standard deviation, a percentile of the distribution, and another percentile of the distribution. LOGNORM4 does not provide goodness-of-fit measures since it does not use an entire data set. LOGNORM4 will also do some other utility functions, including generate a data set from a given set of parameters.

LOGNORM4 is documented in a 1403 kbyte file provided here under the U.S. Government's non-exclusive use copyright agreement (Strom, D.J.; Stansbury, P.S. Determining Parameters of Lognormal Distributions from Minimal Information. PNNL-SA-32215. American Industrial Hygiene Association Journal 61 (Nov-Dec):877-880; 2000.)

Download LOGNORM4.EXE now. Save it in some convenient directory. Run it from the DOS prompt or double-click it from Windows Explorer. It will run in a DOS window. Under Windows, when the program finishes, you have to close the window manually by clicking the X in the upper right hand corner.

For example, suppose you had only summary information about a dataset, that its mean value was 2 and its median value was 1. Suppose further that you suspected that this data set was lognormally distributed. Suppose you wanted to use this data set in a risk analysis project that required an analytic expression for the distribution of this parameter.

LORNORM4 gives you exactly what you need for this task. LOGNORM4 creats a print file and a .CSV ("comma-separated-values" or "commas-and-quotes" format that imports directly into spreadsheet programs). What follows is the output if you select a file name of, say, PNNL, with input parameters mean = 2 and median = 1:

LOGNORM4 ver. 2001-02-14 in Microsoft QuickBasic 4.5 by Daniel J. Strom.
Run on 05-06-2005 at 09:37:25 with output .\PNNL9909.CSV and .\PNNL9909.OUT
Radiological Science and Engineering
Pacific Northwest National Laboratory
P.O. Box 999
Battelle Boulevard
Richland Washington 99352 USA (509) 375-2626 strom@pnl.gov
This is FREEWARE. It may not be sold.

This software was prepared by Battelle as an account of sponsored research activities. Neither Sponsor nor Battelle nor any person acting on behalf of either

MAKES ANY WARRANTY OR REPRESENTATION EXPRESS or IMPLIED with respect to the accuracy completeness or usefulness of the information contained in this software or that the use of any information apparatus process or composition disclosed in this software may not infringe privately owned rights; or

Assumes any liabilities with respect to the use of or damages resulting from the use of any information apparatus process or composition disclosed in this software.

Reference herein to any specific commercial product process or service by trade name trademark manufacturer or otherwise does not necessarily constitute or imply endorsement recommendation or favoring by Sponsor or Battelle.

You enter any two parameters (or pairs of parameters) sufficient to define a lognormal distribution and this program calculates the other parameters. The cumulative density function of the standard normal distribution is calculated v. the standard normal deviate z. You are asked to choose values or pairs of values that uniquely determine a lognormal distribution. From these the distribution parameters [mean median mode geometric standard deviation (GSD) mu (= ln(median)) sigma (=ln(GSD)) standard deviation (SD) coefficient of variation (CV) variance skewness and kurtosis] are calculated.

You can then use the resultant distribution
1) to determine percentiles quantiles or z-values for values you supply or
2) to determine values for percentiles quantiles or z-values you supply.
For example if you supply the geometric mean (that is the median) and the GSD of a lognormal distribution this program calculates the arithmetic mean (the same as the average and the expectation value). See Aitchison & Brown The Lognormal Distribution Cambridge U. Press 1957 p.8 .

This program uses one or more of the following relationships for lognormals:
sigma = SQR(2 * LOG(mean / median)) = SQR(2 * LOG(mean / mode) / 3)
sigma = SQR(LOG(median / mode)) = LOG(value1 / median) / z1
sigma = SQR(LOG(CV ^ 2 + 1)) = LOG(GSD); GSD = EXP(sigma)
sigma = LOG(value1 / value2) / (z1 - z2); sigma = SQR(mu - LOG(mode))
SQR(EXP(sigma^2)-1)*EXP(sigma^2/2) = SD/median; !must be solved numerically!
median = mean * EXP(-sigma ^ 2 / 2) = mode * EXP(sigma ^ 2)
mu = LOG(median) = LOG(mean) - sigma ^ 2 /2 = LOG(mode) + sigma ^ 2
mu = LOG(value1) + LOG(value2 / value1) * (0-z1) / (z2-z1); median = EXP(mu)
mu = LOG(value1) - sigma * z1 = LOG(mode) + LOG(CV ^ 2 + 1)
mode ^ 2 * SD ^ 2 - median ^ 4 + median ^ 3 * mode = 0 !numerically solved
SD ^ 2 / value1 ^ 2 = EXP(-2 * z1 * sigma + sigma ^ 2) * (EXP(sigma ^ 2) - 1)
[Note: Solve numerically; eqn. may yield 1 or 3 values of sigma for z1 > 1]
mean = median * EXP(sigma ^ 2 / 2); lnmean = LOG(mean)
mode = EXP(mu - sigma ^ 2) = median * EXP(-sigma ^ 2); lnmode = LOG(mode)
CV = SQR(EXP(sigma ^ 2) - 1); CV = SD / mean; SD = CV * mean
variance = SD ^ 2 = EXP(2 * mu + sigma ^ 2) * (EXP(sigma ^ 2) - 1)
skewness = CV^3 + 3 * CV; kurtosis = CV^8 + 6 * CV^6 + 15 * CV^4 + 16 * CV^2
zmode = -sigma; zmean = sigma / 2; zmedian = 0
value = EXP(mu + zvalue * sigma); zvalue = (LOG(value) - mu) / sigma
If mean < value then sigma = z1 + SQR(z1 ^ 2 + 2 * LOG(mean / value))
If mean > value then sigma = z1 - SQR(z1 ^ 2 + 2 * LOG(mean / value))
If mode > value then sigma = (-z1 + SQR(z1 ^ 2 - 4 * LOG(mode / value))) / 2
If mode < value then sigma = (-z1 - SQR(z1 ^ 2 - 4 * LOG(mode / value))) / 2

There are 16 methods of specifying a lognormal distribution. You can specify...
1. the mean and median (or their natural logs)
2. the mean and mode (or their natural logs)
3. the median and mode (or their natural logs)
4. the median (or its natural log) and the GSD or sigma = ln(GSD)
5. the mean (or its natural log) and the GSD or sigma = ln(GSD)
6. the mode (or its natural log) and the GSD or sigma = ln(GSD)
7. a value & its %ile OR quantile OR std norm deviate & GSD or sigma=ln(GSD)
8. the median & a value with its percentile OR quantile OR std normal deviate
9. the mean & a value with its percentile OR quantile OR std normal deviate
10. the mode & a value with its percentile OR quantile OR std normal deviate
11. the median & [arithmetic] standard deviation OR coefficient of variation
12. the mean & [arithmetic] standard deviation OR coefficient of variation
13. the mode & [arithmetic] standard deviation OR coefficient of variation
14. a value & its %ile OR quantile OR std norm deviate & [arithmetic] SD or CV
15. a pair of values and their percentiles OR quantiles OR std normal deviates
16. a file created by LOGNORML containing mu & sigma & etc.

LOGNORM4 test 1999-09-20

You chose the mean and median (or their natural logs) which results in a distribution with these parameters:
GSD sigma SD CV variance skewness kurtosis
3.245956 1.17741 3.464102 1.732051 12 10.3923 426

PS0toD is Eq(6) & S0toD is Eq(4) from Strom DJ. Health Phys 51(4):437-445 1986.
Dbar0toD = the average dose among persons receiving doses <= D
Dbar0toD = S0toD / (N * PS0toD)
Parameter Value ln(Value) %ile Quantile z-Value PS0toD S0toD No. Dbar0toD
mean 2 0.6931472 72.19693 0.7219693 0.588705 0.2780307 0.5560613 0.7219693 0.7702008
median 1 0 50 0.5 0 0.1195182 0.2390364 0.5 0.4780729
mode 0.25 -1.386294 11.95182 0.1195182 -1.17741 9.27E-03 1.85E-02 0.1195182 0.1550654
z 9.01E-03 -4.70964 3.17E-03 3.17E-05 -4 1.15E-07 2.31E-07 3.17E-05 7.29E-03
z 2.92E-02 -3.53223 0.1349898 1.35E-03 -3 1.47E-05 2.95E-05 1.35E-03 2.18E-02
z 9.49E-02 -2.35482 2.275013 2.28E-02 -2 7.43E-04 1.49E-03 2.28E-02 6.53E-02
z 0.3080756 -1.17741 15.86553 0.1586553 -1 1.47E-02 2.95E-02 0.1586553 0.1856323
z 3.245956 1.17741 84.13447 0.8413447 1 0.4295938 0.8591877 0.8413447 1.021208
z 10.53623 2.35482 97.72498 0.9772499 2 0.7946272 1.589254 0.9772499 1.626252
z 34.20015 3.53223 99.86501 0.9986501 3 0.9658159 1.931632 0.9986501 1.934243
z 111.0122 4.70964 99.99683 0.9999683 4 0.9976179 1.995236 0.9999683 1.995299
percentile 1.25E-02 -4.378827 0.01 0.0001 -3.719033 4.88E-07 9.76E-07 0.0001 9.76E-03
percentile 2.63E-02 -3.638475 0.1 0.001 -3.090236 9.88E-06 1.98E-05 0.001 1.98E-02
percentile 6.46E-02 -2.739097 1 0.01 -2.326375 2.29E-04 4.59E-04 0.01 4.59E-02
percentile 0.1441802 -1.936691 5 0.05 -1.644874 2.38E-03 4.77E-03 0.05 9.54E-02
percentile 0.2211483 -1.508922 10 0.1 -1.28156 6.97E-03 1.39E-02 0.1 0.1393407
percentile 4.521852 1.508922 90 0.9 1.28156 0.5414743 1.082949 0.9 1.203276
percentile 6.935764 1.936691 95 0.95 1.644874 0.6799145 1.359829 0.95 1.431399
percentile 15.47301 2.739097 99 0.99 2.326375 0.8747137 1.749427 0.99 1.767098
percentile 38.03395 3.638479 99.9 0.999 3.09024 0.9721138 1.944228 0.999 1.946174
percentile 79.74052 4.378778 99.99 0.9999 3.718992 0.9944821 1.988964 0.9999 1.989163

A record of this session can be found in .\PNNL9909.CSV and .\PNNL9909.OUT

Green diamond bar

Pacific Northwest National Laboratory  

Return to: QECC Home Page
Jump to Dan Strom Homepage

Classic Out-of-Print Reference Material for Radiation Protection and Low-Level Radioactivity Counting Contact: Dan Strom
Read about:
Security & Privacy Revised: 21 November 2006