eqzmnorm: Estimate Quantiles of a Zero-Modified Normal Distribution

Description

Estimate quantiles of a zero-modified normal distribution.

Usage

 `1` ``` eqzmnorm(x, p = 0.5, method = "mvue", digits = 0) ```

Arguments

 `x` a numeric vector of observations, or an object resulting from a call to an estimating function that assumes a zero-modified normal distribution (e.g., `ezmnorm`). If `x` is a numeric vector, missing (`NA`), undefined (`NaN`), and infinite (`Inf`, `-Inf`) values are allowed but will be removed. `p` numeric vector of probabilities for which quantiles will be estimated. All values of `p` must be between 0 and 1. The default value is `p=0.5`. `method` character string specifying the method of estimating the disribution parameters. Currently, the only possible value is `"mvue"` (minimum variance unbiased; the default). See the DETAILS section of the help file for `ezmnorm` for more information. `digits` an integer indicating the number of decimal places to round to when printing out the value of `100*p`. The default value is `digits=0`.

Details

The function `eqzmnorm` returns estimated quantiles as well as estimates of the distribution parameters.

Quantiles are estimated by 1) estimating the distribution parameters by calling `ezmnorm`, and then 2) calling the function `qzmnorm` and using the estimated values for the distribution parameters.

Value

If `x` is a numeric vector, `eqzmnorm` returns a list of class `"estimate"` containing the estimated quantile(s) and other information. See `estimate.object` for details.

If `x` is the result of calling an estimation function, `eqzmnorm` returns a list whose class is the same as `x`. The list contains the same components as `x`, as well as components called `quantiles` and `quantile.method`.

Note

The zero-modified normal distribution is sometimes used to model chemical concentrations for which some observations are reported as “Below Detection Limit”. See, for example USEPA (1992c, pp.27-34). In most cases, however, the zero-modified lognormal (delta) distribution will be more appropriate, since chemical concentrations are bounded below at 0 (e.g., Gilliom and Helsel, 1986; Owen and DeRouen, 1980).

Once you estimate the parameters of the zero-modified normal distribution, it is often useful to characterize the uncertainty in the estimate of the mean. This is done with a confidence interval.

One way to try to assess whether a zero-modified lognormal (delta), zero-modified normal, censored normal, or censored lognormal is the best model for the data is to construct both censored and detects-only probability plots (see `qqPlotCensored`).

Author(s)

Steven P. Millard (EnvStats@ProbStatInfo.com)

References

Aitchison, J. (1955). On the Distribution of a Positive Random Variable Having a Discrete Probability Mass at the Origin. Journal of the American Statistical Association 50, 901–908.

Gilliom, R.J., and D.R. Helsel. (1986). Estimation of Distributional Parameters for Censored Trace Level Water Quality Data: 1. Estimation Techniques. Water Resources Research 22, 135–146.

Owen, W., and T. DeRouen. (1980). Estimation of the Mean for Lognormal Data Containing Zeros and Left-Censored Values, with Applications to the Measurement of Worker Exposure to Air Contaminants. Biometrics 36, 707–719.

USEPA (1992c). Statistical Analysis of Ground-Water Monitoring Data at RCRA Facilities: Addendum to Interim Final Guidance. Office of Solid Waste, Permits and State Programs Division, US Environmental Protection Agency, Washington, D.C.

ZeroModifiedNormal, Normal, `ezmlnorm`, ZeroModifiedLognormal, `estimate.object`.

Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43``` ``` # Generate 100 observations from a zero-modified normal distribution # with mean=4, sd=2, and p.zero=0.5, then estimate the parameters and # the 80th and 90th percentiles. # (Note: the call to set.seed simply allows you to reproduce this example.) set.seed(250) dat <- rzmnorm(100, mean = 4, sd = 2, p.zero = 0.5) eqzmnorm(dat, p = c(0.8, 0.9)) #Results of Distribution Parameter Estimation #-------------------------------------------- # #Assumed Distribution: Zero-Modified Normal # #Estimated Parameter(s): mean = 4.037732 # sd = 1.917004 # p.zero = 0.450000 # mean.zmnorm = 2.220753 # sd.zmnorm = 2.465829 # #Estimation Method: mvue # #Estimated Quantile(s): 80'th %ile = 4.706298 # 90'th %ile = 5.779250 # #Quantile Estimation Method: Quantile(s) Based on # mvue Estimators # #Data: dat # #Sample Size: 100 #---------- # Compare the estimated quantiles with the true quantiles qzmnorm(mean = 4, sd = 2, p.zero = 0.5, p = c(0.8, 0.9)) #[1] 4.506694 5.683242 #---------- # Clean up rm(dat) ```

Search within the EnvStats package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.