SED navigation bar go to SED home page go to Dataplot home page go to NIST home page SED Home Page SED Staff SED Projects SED Products and Publications Search SED Pages
Dataplot Vol 2 Vol 1


    Let Subcommand
    Compute Kappenman's R statistic for distinguishing between a lognormal and a Weibull distribution.
    The lognormal and Weibull distributions are frequently used in reliability applications. In many cases, both distributions may provide a reasonable distributional model. However, these distributions exhibit different behaviour for the percentiles in both the lower and upper tails of the distribution. For this reason, it is useful to be able to distinguish between these models. In some cases, particularly for smaller samples, this can be difficult.

    The Kappenman's R statistic provides a test for distinguishing the lognormal model from the Weibull model. The test statistic is defined as

      \[ r = \frac{A_1 - A_2}{A_2 - A_1} \]


      A1 = the average of the lower 5% of the ordered logarithms of the data
      A3 = the average of the upper 5% of the ordered logarithms of the data
      A2 = the average of the ordered logarithms of the data after trimming the lower 20% and upper 20% of the data

    This test statistic is compared to the value 0.7477. If the test statistic is greater than this value, we choose the lognormal distribution. Otherwise we choose the Weibull distribution.

    The references listed below provide the justification for this statistic.

Syntax 1:
    LET <a> = KAPPENMAN R <y>
                            <SUBSET/EXCEPT/FOR qualification>
    where <y> is the response variable;
                <a> is a parameter where the computed statistic is saved;
    and where the <SUBSET/EXCEPT/FOR qualification> is optional.
Syntax 2:
                            <SUBSET/EXCEPT/FOR qualification>
    where <y> is the response variable;
                <a> is a parameter where the computed statistic is saved;
    and where the <SUBSET/EXCEPT/FOR qualification> is optional.

    This command returns the cutoff value for Kappenman's statistic. Currently, this always returns 0.7477.

    This statistic currently requires a minimum sample size of 20.
    The DISTRIBUTIONAL LIKELIHOOD RATIO TEST provides an alternative test for the lognormal and Weibull distributions.

    Kappenman's R is formulated as a selection problem with no preference for either the lognormal or the Weibull. On the other hand, the likelihood ratio test is formulated as a hypothesis test and tends to favor the distribution that is given as the null hypothesis.

    Neither test says anything about whether the lognormal or Weibull provides an adequate distributional model. They just answer the question about which of the two models is better. For that reason, whichever model is selected should still be examined for model adequacy (e.g., goodness of fit tests and probability plots).

    Dataplot statistics can be used in a number of commands. For details, enter

Related Commands: References:
    Kappenman (1988), "A Simple Method for Choosing Between the Lognormal and Weibull Models," Statistics & Probability Letters", Vol. 7, No. 2, pp. 123-126.

    McCool (2012), "Using the Weibull Distribution: Reliability, Modeling, and Inference," Wiley, pp. 207-210.

    Dumonceaux and Antle (1973), "Discrimination Between the Log-Normal and Weibull Distributions," Technometrics, Vol. 15, No. 4, pp. 923-926.

    Distributional Modeling
Implementation Date:
Program 1:
    . Step 1:   Create the data for the example on page 925 of the
    .           Dumonceaux and Antle Technometrics paper
    serial read y
     17.88  28.92  33.00  41.52  42.12  45.60
     48.48  51.84  51.96  54.12  55.56  67.80
     68.64  68.64  68.88  84.12  93.12  98.64
    105.12 105.84 127.92 128.04 173.40
    end of data
    . Step 2:   Perform Test
    set write decimals 4
    let r = kappenman r y
    let r = round(r,4)
    print "Kappenman R = ^r (cutoff = 0.7477)"
    The following output is generated
    Kappenman R = 0.7811 (cutoff = 0.7477)
Program 2:
    . Step 1:   Read data from p. 209 of McCool.
    serial read y
    1.4171126 2.8473605 3.1387760 3.6917256 3.9947116 4.5138741
    2.4294320 2.8856396 3.1792441 3.7922064 4.2446643 4.615145
    2.5617789 3.0469363 3.3558955 3.8552721 4.2881964 4.9614991
    2.6524817 3.0654405 3.5946731 3.8881352 4.2953750 5.5373569
    2.8297682 3.1045878 3.6295689 3.9605876 4.4814342 5.7385071
    end of data
    let y = exp(y)
    let kappr = kappenman r y
    let kapcv = kappenman r cutoff y
    let kappr = round(kappr,4)
    print "Kappenman R = ^r (cutoff = ^kapcv)"
    The following output is generated
    Kappenman R = 1.109 (cutoff = 0.7477)

Privacy Policy/Security Notice
Disclaimer | FOIA

NIST is an agency of the U.S. Commerce Department.

Date created: 01/31/2015
Last updated: 01/31/2015

Please email comments on this WWW page to