tolIntLnorm.Rd
Estimate the mean and standard deviation on the log-scale for a lognormal distribution, or estimate the mean and coefficient of variation for a lognormal distribution (alternative parameterization), and construct a \(\beta\)-content or \(\beta\)-expectation tolerance interval.
tolIntLnorm(x, coverage = 0.95, cov.type = "content", ti.type = "two-sided",
conf.level = 0.95, method = "exact")
tolIntLnormAlt(x, coverage = 0.95, cov.type = "content", ti.type = "two-sided",
conf.level = 0.95, method = "exact", est.method = "mvue")
For tolIntLnorm
, x
can be a numeric vector of positive observations,
or an object resulting from a call to an estimating function that assumes a
lognormal distribution (i.e., elnorm
or elnormCensored
).
You cannot supply objects resulting from a call to estimating functions that
use the alternative parameterization such as elnormAlt
or
elnormAltCensored
.
For tolIntLnormAlt
, a numeric vector of positive observations.
If x
is a numeric vector,
missing (NA
), undefined (NaN
), and infinite (Inf
, -Inf
)
values are allowed but will be removed.
a scalar between 0 and 1 indicating the desired coverage of the tolerance interval.
The default value is coverage=0.95
. If cov.type="expectation"
,
this argument is ignored.
character string specifying the coverage type for the tolerance interval.
The possible values are "content"
(\(\beta\)-content; the default), and
"expectation"
(\(\beta\)-expectation). See the DETAILS section for more
information.
character string indicating what kind of tolerance interval to compute.
The possible values are "two-sided"
(the default), "lower"
, and
"upper"
.
a scalar between 0 and 1 indicating the confidence level associated with the
tolerance interval. The default value is conf.level=0.95
.
for the case of a two-sided tolerance interval, a character string specifying the
method for constructing the tolerance interval. This argument is ignored if
ti.type="lower"
or ti.type="upper"
. The possible values are "exact"
(the default) and "wald.wolfowitz"
(the Wald-Wolfowitz
approximation). See the DETAILS section in this help file and the DETAILS section
in the help file for tolIntNorm
for more information.
for tolIntLnormAlt
, a character string specifying the method of estimating
the mean and coefficient of variation. This argument has no effect on the
method of constructing the tolerance interval. Possible values are
"mvue"
(minimum variance unbiased; the default),
"qmle"
(quasi maximum likelihood), "mle"
(maximum likelihood),
"mme"
(method of moments), and "mmue"
(method of moments based on the unbiased estimate of variance). See the DETAILS
section of elnormAlt
for more information on these estimation methods.
The function tolIntLnorm
returns a tolerance interval as well as
estimates of the meanlog and sdlog parameters.
The function tolIntLnormAlt
returns a tolerance interval as well as
estimates of the mean and coefficient of variation.
A tolerance interval for a lognormal distribution is constructed by taking the
natural logarithm of the observations and constructing a tolerance interval
based on the normal (Gaussian) distribution by calling tolIntNorm
.
These tolerance limits are then exponentiated to produce a tolerance interval on
the original scale of the data.
If x
is a numeric vector, a list of class
"estimate"
containing the estimated parameters, a component called
interval
containing the tolerance interval information, and other
information. See estimate.object
for details.
If x
is the result of calling an estimation function, a list whose
class is the same as x
. The list contains the same
components as x
. If x
already has a component called
interval
, this component is replaced with the tolerance interval
information.
Berthouex, P.M., and L.C. Brown. (2002). Statistics for Environmental Engineers. Lewis Publishers, Boca Raton.
Draper, N., and H. Smith. (1998). Applied Regression Analysis. Third Edition. John Wiley and Sons, New York.
Ellison, B.E. (1964). On Two-Sided Tolerance Intervals for a Normal Distribution. Annals of Mathematical Statistics 35, 762-772.
Gibbons, R.D., D.K. Bhaumik, and S. Aryal. (2009). Statistical Methods for Groundwater Monitoring, Second Edition. John Wiley & Sons, Hoboken.
Guttman, I. (1970). Statistical Tolerance Regions: Classical and Bayesian. Hafner Publishing Co., Darien, CT.
Hahn, G.J. (1970b). Statistical Intervals for a Normal Population, Part I: Tables, Examples and Applications. Journal of Quality Technology 2(3), 115-125.
Hahn, G.J. (1970c). Statistical Intervals for a Normal Population, Part II: Formulas, Assumptions, Some Derivations. Journal of Quality Technology 2(4), 195-206.
Hahn, G.J., and W.Q. Meeker. (1991). Statistical Intervals: A Guide for Practitioners. John Wiley and Sons, New York.
Krishnamoorthy K., and T. Mathew. (2009). Statistical Tolerance Regions: Theory, Applications, and Computation. John Wiley and Sons, Hoboken.
Millard, S.P., and N.K. Neerchal. (2001). Environmental Statistics with S-PLUS. CRC Press, Boca Raton.
Odeh, R.E., and D.B. Owen. (1980). Tables for Normal Tolerance Limits, Sampling Plans, and Screening. Marcel Dekker, New York.
Owen, D.B. (1962). Handbook of Statistical Tables. Addison-Wesley, Reading, MA.
Singh, A., R. Maichle, and N. Armbya. (2010a). ProUCL Version 4.1.00 User Guide (Draft). EPA/600/R-07/041, May 2010. Office of Research and Development, U.S. Environmental Protection Agency, Washington, D.C.
Singh, A., N. Armbya, and A. Singh. (2010b). ProUCL Version 4.1.00 Technical Guide (Draft). EPA/600/R-07/041, May 2010. Office of Research and Development, U.S. Environmental Protection Agency, Washington, D.C.
USEPA. (2009). Statistical Analysis of Groundwater Monitoring Data at RCRA Facilities, Unified Guidance. EPA 530/R-09-007, March 2009. Office of Resource Conservation and Recovery Program Implementation and Information Division. U.S. Environmental Protection Agency, Washington, D.C.
USEPA. (2010). Errata Sheet - March 2009 Unified Guidance. EPA 530/R-09-007a, August 9, 2010. Office of Resource Conservation and Recovery, Program Information and Implementation Division. U.S. Environmental Protection Agency, Washington, D.C.
Wald, A., and J. Wolfowitz. (1946). Tolerance Limits for a Normal Distribution. Annals of Mathematical Statistics 17, 208-215.
Tolerance intervals have long been applied to quality control and life testing problems (Hahn, 1970b,c; Hahn and Meeker, 1991; Krishnamoorthy and Mathew, 2009). References that discuss tolerance intervals in the context of environmental monitoring include: Berthouex and Brown (2002, Chapter 21), Gibbons et al. (2009), Millard and Neerchal (2001, Chapter 6), Singh et al. (2010b), and USEPA (2009).
# Generate 20 observations from a lognormal distribution with parameters
# meanlog=0 and sdlog=1. Use tolIntLnorm to estimate
# the mean and standard deviation of the log of the true distribution, and
# construct a two-sided 90% beta-content tolerance interval with associated
# confidence level 95%.
# (Note: the call to set.seed simply allows you to reproduce this example.)
set.seed(250)
dat <- rlnorm(20)
tolIntLnorm(dat, coverage = 0.9)
#>
#> Results of Distribution Parameter Estimation
#> --------------------------------------------
#>
#> Assumed Distribution: Lognormal
#>
#> Estimated Parameter(s): meanlog = -0.06941976
#> sdlog = 0.59011300
#>
#> Estimation Method: mvue
#>
#> Data: dat
#>
#> Sample Size: 20
#>
#> Tolerance Interval Coverage: 90%
#>
#> Coverage Type: content
#>
#> Tolerance Interval Method: Exact
#>
#> Tolerance Interval Type: two-sided
#>
#> Confidence Level: 95%
#>
#> Tolerance Interval: LTL = 0.237457
#> UTL = 3.665369
#>
#Results of Distribution Parameter Estimation
#--------------------------------------------
#
#Assumed Distribution: Lognormal
#
#Estimated Parameter(s): meanlog = -0.06941976
# sdlog = 0.59011300
#
#Estimation Method: mvue
#
#Data: dat
#
#Sample Size: 20
#
#Tolerance Interval Coverage: 90%
#
#Coverage Type: content
#
#Tolerance Interval Method: Exact
#
#Tolerance Interval Type: two-sided
#
#Confidence Level: 95%
#
#Tolerance Interval: LTL = 0.237457
# UTL = 3.665369
# The exact two-sided interval that contains 90% of this distribution
# is given by: [0.193, 5.18].
qlnorm(p = c(0.05, 0.95))
#> [1] 0.1930408 5.1802516
#[1] 0.1930408 5.1802516
# Clean up
rm(dat)
#==========
# Example 17-3 of USEPA (2009, p. 17-17) shows how to construct a
# beta-content upper tolerance limit with 95% coverage and 95%
# confidence using chrysene data and assuming a lognormal distribution.
# The data for this example are stored in EPA.09.Ex.17.3.chrysene.df,
# which contains chrysene concentration data (ppb) found in water
# samples obtained from two background wells (Wells 1 and 2) and
# three compliance wells (Wells 3, 4, and 5). The tolerance limit
# is based on the data from the background wells.
head(EPA.09.Ex.17.3.chrysene.df)
#> Month Well Well.type Chrysene.ppb
#> 1 1 Well.1 Background 19.7
#> 2 2 Well.1 Background 39.2
#> 3 3 Well.1 Background 7.8
#> 4 4 Well.1 Background 12.8
#> 5 1 Well.2 Background 10.2
#> 6 2 Well.2 Background 7.2
# Month Well Well.type Chrysene.ppb
#1 1 Well.1 Background 19.7
#2 2 Well.1 Background 39.2
#3 3 Well.1 Background 7.8
#4 4 Well.1 Background 12.8
#5 1 Well.2 Background 10.2
#6 2 Well.2 Background 7.2
longToWide(EPA.09.Ex.17.3.chrysene.df, "Chrysene.ppb", "Month", "Well")
#> Well.1 Well.2 Well.3 Well.4 Well.5
#> 1 19.7 10.2 68.0 26.8 47.0
#> 2 39.2 7.2 48.9 17.7 30.5
#> 3 7.8 16.1 30.1 31.9 15.0
#> 4 12.8 5.7 38.1 22.2 23.4
# Well.1 Well.2 Well.3 Well.4 Well.5
#1 19.7 10.2 68.0 26.8 47.0
#2 39.2 7.2 48.9 17.7 30.5
#3 7.8 16.1 30.1 31.9 15.0
#4 12.8 5.7 38.1 22.2 23.4
with(EPA.09.Ex.17.3.chrysene.df,
tolIntLnorm(Chrysene.ppb[Well.type == "Background"],
ti.type = "upper", coverage = 0.95, conf.level = 0.95))
#>
#> Results of Distribution Parameter Estimation
#> --------------------------------------------
#>
#> Assumed Distribution: Lognormal
#>
#> Estimated Parameter(s): meanlog = 2.5085773
#> sdlog = 0.6279479
#>
#> Estimation Method: mvue
#>
#> Data: Chrysene.ppb[Well.type == "Background"]
#>
#> Sample Size: 8
#>
#> Tolerance Interval Coverage: 95%
#>
#> Coverage Type: content
#>
#> Tolerance Interval Method: Exact
#>
#> Tolerance Interval Type: upper
#>
#> Confidence Level: 95%
#>
#> Tolerance Interval: LTL = 0.0000
#> UTL = 90.9247
#>
#Results of Distribution Parameter Estimation
#--------------------------------------------
#
#Assumed Distribution: Lognormal
#
#Estimated Parameter(s): meanlog = 2.5085773
# sdlog = 0.6279479
#
#Estimation Method: mvue
#
#Data: Chrysene.ppb[Well.type == "Background"]
#
#Sample Size: 8
#
#Tolerance Interval Coverage: 95%
#
#Coverage Type: content
#
#Tolerance Interval Method: Exact
#
#Tolerance Interval Type: upper
#
#Confidence Level: 95%
#
#Tolerance Interval: LTL = 0.0000
# UTL = 90.9247
#----------
# Repeat the above example, but estimate the mean and
# coefficient of variation on the original scale
#-----------------------------------------------
with(EPA.09.Ex.17.3.chrysene.df,
tolIntLnormAlt(Chrysene.ppb[Well.type == "Background"],
ti.type = "upper", coverage = 0.95, conf.level = 0.95))
#>
#> Results of Distribution Parameter Estimation
#> --------------------------------------------
#>
#> Assumed Distribution: Lognormal
#>
#> Estimated Parameter(s): mean = 14.5547353
#> cv = 0.6390825
#>
#> Estimation Method: mvue
#>
#> Data: Chrysene.ppb[Well.type == "Background"]
#>
#> Sample Size: 8
#>
#> Tolerance Interval Coverage: 95%
#>
#> Coverage Type: content
#>
#> Tolerance Interval Method: Exact
#>
#> Tolerance Interval Type: upper
#>
#> Confidence Level: 95%
#>
#> Tolerance Interval: LTL = 0.0000
#> UTL = 90.9247
#>
#Results of Distribution Parameter Estimation
#--------------------------------------------
#
#Assumed Distribution: Lognormal
#
#Estimated Parameter(s): mean = 14.5547353
# cv = 0.6390825
#
#Estimation Method: mvue
#
#Data: Chrysene.ppb[Well.type == "Background"]
#
#Sample Size: 8
#
#Tolerance Interval Coverage: 95%
#
#Coverage Type: content
#
#Tolerance Interval Method: Exact
#
#Tolerance Interval Type: upper
#
#Confidence Level: 95%
#
#Tolerance Interval: LTL = 0.0000
# UTL = 90.9247