Dataplot Vol 1 Vol 2

# TOLERANCE LIMITS

Name:
TOLERANCE LIMITS
Type:
Analysis Command
Purpose:
Generates normal and non-parameteric tolerance intervals.
Description:
Tolerance intervals calculate a confidence interval that contains a fixed percentage (or proportion) of the data. This is related to, but distinct from, the confidence interval for the mean.

There are two numbers for the tolerance interval:

1. The coverage probability is the fixed percentage of the data to be covered.
2. The confidence level.

Tolerance limits are given by

$$\bar{X} \pm ks$$

with $$\bar{X}$$ and s denoting the sample mean and the sample standard deviation, respectively, and where k is determined so that one can state with (1-$$\alpha$$)% confidence that at least $$\phi$$% of the data fall within the given limits. The values for k, assuming a normal distribution, have been numerically tabulated.

This is commonly stated as something like "a 95% confidence interval for 90% coverage".

Dataplot computes the tolerance interval for three confidence levels (90%, 95%, and 99%) and five coverage percentages (50.0, 75.0, 90.0, 95.0, 99.9).

In addition, Dataplot computes non-parametric tolerance intervals. These may be preferred if the data are not adequately approximated by a normal distribution. In this case, the tables have been developed based on the smallest and largest data values in the sample.

Syntax 1:
TOLERANCE LIMITS <y>             <SUBSET/EXCEPT/FOR qualification>
where <y> is the response variable,
and where the <SUBSET/EXCEPT/FOR qualification> is optional.

This syntax generates both the normal and the non-parametric tolerance limits.

Syntax 2:
<NORMAL/LOGNORMAL/BOXCOX> TOLERANCE LIMITS <y>
<SUBSET/EXCEPT/FOR qualification>
where <y> is the response variable,
and where the <SUBSET/EXCEPT/FOR qualification> is optional.

This syntax generates only the normal tolerance limits.

If the keyword LOGNORMAL is present, the log of the data will be taken, then the normal tolerance limits will be computed, and then the computed normal lower and upper limits will be exponentiated to obtain the lognormal tolerance limits.

Similarly, if the keyword BOXCOX is present, a Box-Cox transformation to normality will be applied to the data before computing the normal tolerance limits. The computed lower and upper limits will then be transformed back to the original scale.

Syntax 3:
NONPARAMETRIC TOLERANCE LIMITS <y>
<SUBSET/EXCEPT/FOR qualification>
where <y> is the response variable,
and where the <SUBSET/EXCEPT/FOR qualification> is optional.

This syntax generates only the non-parametric tolerance limits.

Examples:
TOLERANCE LIMITS Y1
TOLERANCE LIMITS Y1 SUBSET TAG > 2
NORMAL TOLERANCE LIMITS Y1 SUBSET TAG > 2
NONPARAMETRIC TOLERANCE LIMITS Y1 SUBSET TAG > 2
Note:
Two-sided tolerance limits are used when symmetric coverage intervals from the mean are desired.

In reliability and lifetime applications, one-sided tolerance limits are more common. In these cases, we typically want coverage intervals that are greater than a given value (lower tolerance intervals) or smaller than a given value (upper tolerance intervals). These tolerance intervals are equivalent to one-sided confidence limits for percentiles of the specified distribution.

Dataplot can compute one-sided (or two-sided) confidence limits for percentiles for a number of distributions commonly used in reliability applications. For example, to compute lower one-sided tolerance limits for the 2-parameter Weibull distribution, you can do the following

set maximum likelihood percentiles default
set distributional percentile lower
weibull maximum likelihood y

set maximum likelihood percentiles default
set bootstrap distributional percentile lower
bootstrap weibull maximum likelihood plot y

Note:
The following statistics are also supported:

LET A = NORMAL TOLERANCE K FACTOR Y
LET A = NORMAL TOLERANCE ONE SIDED K FACTOR Y

LET A = NORMAL TOLERANCE LOWER LIMIT Y
LET A = NORMAL TOLERANCE UPPER LIMIT Y
LET A = NORMAL TOLERANCE ONE SIDED LOWER LIMIT Y
LET A = NORMAL TOLERANCE ONE SIDED UPPER LIMIT Y

The above commands are for the raw data case (i.e., a a single response variable).

LET A = SUMMARY NORMAL TOLERANCE K FACTOR MEAN SD N
LET A = SUMMARY NORMAL TOLERANCE ONE SIDED K FACTOR MEAN SD N

LET A = SUMMARY NORMAL TOLERANCE LOWER LIMIT MEAN SD N
LET A = SUMMARY NORMAL TOLERANCE UPPER LIMIT MEAN SD N
LET A = SUMMARY NORMAL TOLERANCE ONE SIDED LOWER LIMIT ...
MEAN SD N
LET A = SUMMARY NORMAL TOLERANCE ONE SIDED UPPER LIMIT ...
MEAN SD N

The above commands are for the summary data case. The three arguments can be either parameters or variables. If a variable rather than a parameter is given, the first element of the variable is extracted. The three values denote the mean, standard deviation, and sample size of the original data.

To specify the coverage and confidence, enter the commands

LET ALPHA = <value>
LET GAMMA = <value>

where ALPHA specifies the confidence level and GAMMA specifies the coverage level. The defaults values are 0.95 for both the confidence and the coverage.

In addition to the above LET command, built-in statistics are supported for about 20+ different commands (enter HELP STATISTICS for details).

Note:
A number of approaches have been proposed for computing the k factor for tolerance limits.

For two-sided intervals, the Wald-Wolfowitz method provides the basic approach. However, this method is computationally expensive. Weisberg and Beatty (1960) published tables based on this method. Gardiner and Hull (1966) proposed an approximation that replaced an integration with algebraic formulas. Howe (1969) proposed a simpler approximation for the tolerance limits that is considered to be more accurate than the Weisberg and Beatty method. Guenther (1977) proposed a correction term for Howe's method.

Howe's approximation is

$$k_2 = z_{(1+\gamma)/2} \sqrt{\frac{\nu \left(1 + \frac{1}{N}\right) }{\chi^2_{1-\alpha,\nu}}}$$

where

 $$z$$ = the normal percent point function $$\gamma$$ = the coverage factor $$\alpha$$ = the confidence factor $$\chi^2$$ = the chi-square percent point function $$\nu$$ = the degrees of freedom

The degrees of freedom parameter is N - 1 by default. However, if the standard deviation is based on historical data rather than the current data set, then an independent value for the degrees of freedom may be given. In Dataplot, you can specify the degrees of freedom by entering the command

SET TOLERANCE LIMITS DEGREES OF FREEDOM <value>

If this command is not given, N - 1 will be used.

The Guenther correction is

$$k_2^{*} = wk_2$$

where

$$w = \sqrt{ 1 + \frac{N -3 - \chi^2_{N-1,1 - \alpha} } {2(N+1)^2}}$$

The details for the Gardinar method can be found in the Gardiner paper.

Dataplot supports both the Gardiner method and the Howe method. The default for the 2018/05 version is the Howe method. Prior versions use the Gardiner method.

To specify the method in Dataplot, enter the command

SET TOLERANCE LIMIT METHOD <HOWE/GARDINER>

BEATTY and WALD AND WOLFOWITZ can be used as synonyms for GARDINER.

To specify whether the Guenther correction will be applied to Howe's method, enter the command

SET GUENTHER CORRECTION <ON/OFF>

The default is OFF.

Dataplot supports two methods for one-sided intervals.

The first method uses the formula

$$k_1 = \frac{ t_{\alpha, \, N-1, \, \delta} }{ \sqrt{N} }$$

where t is the non-central t distribution with non-centrality parameter

$$\delta = z_{\gamma} \sqrt{N}$$

The non-central t distribution can lose accuracy as N gets large. The second method only uses the percent point function for the normal distribution and has the formula

$$k_1 = \frac{ z_{\gamma} + \sqrt{z_{\gamma}^2 - ab}} {a}$$

where

$$a = 1 - \frac{z_{\alpha}^2}{2(N-1)}$$

$$b = z_{\gamma}^2 - \frac{ z_{\alpha}^2}{N}$$

To specify the one-sided method, enter

SET TOLERANCE LIMIT ONE SIDED METHOD ...
<NONCENTRAL T/NORMAL/DEFAULT>

The default is to use the non-central t based approximation for N ≤ 100 and to use the normal based approximation for N > 100.

Default:
None
Synonyms:
None
Related Commands:
 CONFIDENCE LIMITS = Generate the confidence limits for the mean. PREDICTION LIMITS = Generate prediction limits for the mean. MAXIMUM LIKELIHOOD = Generate maximum likelihood estimates for a distributional fit. T-TEST = Perform a t-test.
Reference:
Wilks (1941), "Determination of Sample Sizes for Setting Tolerance Limits", Annals of Mathematical Statistics, Vol. 12, No. 1, pp. 91-96.

Weisberg and Beatty (1960), "Tables of Tolerance-Limit Factors for Normal Distributions", Technometrics, Vol. 2, pp. 483-500.

Gardiner and Hull (1966), "An Approximation to Two-Sided Tolerance Limits for Normal Populations", Technometrics, Vol. 8, No. 1, pp. 115-122.

Howe (1969), "Two-Sided Tolerance Limits for Normal Populations - Some Improvements", Journal of the American Statistical Association, Vol. 64, pp. 610-620.

Guenther (1977), "Sampling Inspection in Statistical Quality Control", Griffin's Statistical Monographs, Number 37, London.

Natrella (1966), "Experimental Statistics: NBS Handbook 91", National Institute of Standards and Technology (formerly National Bureau of Standards), pp. 2-13 - 2-15.

Hahn and Meeker (1991), "Statistical Intervals: A Guide for Practitioners", Wiley.

Applications:
Quality Control, Reliability
Implementation Date:
1998/12
2006/3: Allow only the normal or only the non-parametric limits to be generated
2014/06: Support for LOGNORMAL and BOXCOX tolerance limits
2018/05: Support for Howe method and Guenther correction for two-sided limits
2018/05: Support for normal based approximation for one-sided limits
2018/05: Some tweaks to the output format
Program:

SKIP 25
SET WRITE DECIMALS 4
TOLERANCE LIMITS Y

The following output is generated:
             Two-Sided Normal Tolerance Limits:
(XBAR +/- K*S)

Howe Method
Response Variable: Y

Summary Statistics:

Number of Observations:                  195
Degrees of Freedom:                      194
Sample Mean:                             9.2615
Sample Standard Deviation:               0.0228

Coverage = 90%
---------------------------------------------------------
Confidence              k          Lower          Upper
Value (%)         Factor          Limit          Limit
---------------------------------------------------------
50.0         1.6519         9.2238         9.2991
75.0         1.7102         9.2225         9.3004
90.0         1.7657         9.2212         9.3017
95.0         1.8003         9.2204         9.3025
99.0         1.8683         9.2189         9.3040
99.9         1.9498         9.2170         9.3059

Coverage = 95%
---------------------------------------------------------
Confidence              k          Lower          Upper
Value (%)         Factor          Limit          Limit
---------------------------------------------------------
50.0         1.9684         9.2166         9.3063
75.0         2.0378         9.2150         9.3079
90.0         2.1039         9.2135         9.3094
95.0         2.1452         9.2126         9.3103
99.0         2.2263         9.2107         9.3122
99.9         2.3233         9.2085         9.3144

Coverage = 99%
---------------------------------------------------------
Confidence              k          Lower          Upper
Value (%)         Factor          Limit          Limit
---------------------------------------------------------
50.0         2.5869         9.2025         9.3204
75.0         2.6782         9.2004         9.3225
90.0         2.7650         9.1984         9.3245
95.0         2.8192         9.1972         9.3257
99.0         2.9258         9.1948         9.3281
99.9         3.0533         9.1919         9.3310

Two-Sided Distribution-Free Tolerance Limits

Response Variable: Y

Summary Statistics:
Number of Observations:                  195
Sample Mean:                             9.2615
Sample Standard Deviation:               0.0228

Involving X(3) =    9.207325         Involving X(N-2) =    9.310506

---------------------------
Confidence       Coverage
Value (%)      Value (%)
---------------------------
100.00          50.00
100.00          75.00
99.99          90.00
92.80          95.00
36.18          97.50
1.43          99.00
0.05          99.50
0.00          99.90
0.00          99.95
0.00          99.99

Involving X(2) =    9.206343         Involving X(N-1) =    9.320067

---------------------------
Confidence       Coverage
Value (%)      Value (%)
---------------------------
100.00          50.00
100.00          75.00
100.00          90.00
98.91          95.00
72.05          97.50
13.30          99.00
1.72          99.50
0.01          99.90
0.00          99.95
0.00          99.99

Involving X(1) =    9.196848         Involving X(N) =    9.327973

---------------------------
Confidence       Coverage
Value (%)      Value (%)
---------------------------
100.00          50.00
100.00          75.00
100.00          90.00
99.95          95.00
95.69          97.50
58.16          99.00
25.50          99.50
1.66          99.90
0.44          99.95
0.02          99.99


Date created: 06/05/2001
Last updated: 12/11/2023