ToleranceFactorGK computes (by the Gauss-Kronod quadrature) the exact tolerance factor k for the two-sided (optionally for the one-sided) p-content and (1-alpha)-confidence tolerance interval TI = [Xmean - k * S, Xmean + k * S], where Xmean = mean(X) and S = std(X), are based on X = [X_1,...,X_n], a random sample
of size n from the distribution N(mu,sig2) with unknown mean mu and variance sig2.
ToleranceFactor computes the exact tolerance factor k for the two-sided (optionally also for the one-sided) p-content and gamma-confidence tolerance interval
TI = [Xmean - k * S, Xmean + k * S],
where Xmean = mean(X), S = std(X), X = [X_1,...,X_n] is a random sample from the distribution N(mu,sig2) with unknown mean mu and variance sig2.
The value of the tolerance factor k is determined such that the tolerance intervals with the confidence gamma cover at least the fraction p ('coverage') of the distribution N(mu,sigma^2), i.e.
Prob[ Prob( Xmean - k * S < X < Xmean + k * S ) >= p ]= gamma,
for X ~ N(mu,sig2) which is independent with Xmean and S. For more details see e.g. Krishnamoorthy and Mathew (2009).
k = ToleranceFactorGK(n,coverage,confidence)
[k,int,z,fun,options] = ToleranceFactorGK(n,coverage,confidence,m,nu,d2,options)
ISO 16269-6 (2013). Statistical interpretation of data - Part 6: Determination of statistical tolerance intervals.
Krishnamoorthy K, Mathew T. (2009). Statistical Tolerance Regions: Theory, Applications, and Computation. John Wiley & Sons, Inc., Hoboken, New Jersey. ISBN: 978-0-470-38026-0, 512 pages.
Witkovsky V. (2013). On the exact tolerance intervals for univariate normal distribution. In: Proceedings of Computer Data Analysis & Modeling – CDAM-2013, Minsk, Belarus, September 10-14, 2013.
Institute of Mesaurement Science
Slovak Academy of Sciences
Dubravska cesta 9
@Pete: The presented result of ToleranceFactorGK(30,.95,.95) = 2.5549 (2.554892813277693) is in good agreement with the factor K = 2.555 from Table B2 in Krishnamoorthy & Mathew (2009, p. 368), as well as with the numerical output of R package tolerance:
K.factor(30, P = 0.95, side = 2, method = "EXACT", m = 50) = 2.554893.
The problem with many other sources is that they are based either on approximations or on not well documented method/algorithm.
Prima facie, this looks well written and well documented. It seems to give results that are highly correlated with, but slightly from, various websites (all of which agree with each other). For example:
ans = 2.5549
Whereas the following all give it as 2.549
The difference is small though, particularly at large N, and any fault may lie with the websites rather than this function (unsure). Any explanation for this difference would be much appreciated.
Thanks for posting
ToleranceFactorGK uses adaptive Gauss-Kronod quadrature. Moreover, allows computing tolerance factor for simultaneou tolerance intervals, based on sample from m populations with common sample size n.
Fisrst revision, 2009-05-17
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.