Learn R Programming

lmomco (version 2.4.14)

quawei: Quantile Function of the Weibull Distribution

Description

This function computes the quantiles of the Weibull distribution given parameters (\(\zeta\), \(\beta\), and \(\delta\)) computed by parwei. The quantile function is $$x(F) = \beta[- \log(1-F)]^{1/\delta} - \zeta \mbox{,}$$ where \(x(F)\) is the quantile for nonexceedance probability \(F\), \(\zeta\) is a location parameter, \(\beta\) is a scale parameter, and \(\delta\) is a shape parameter.

The Weibull distribution is a reverse Generalized Extreme Value distribution. As result, the Generalized Extreme Value algorithms are used for implementation of the Weibull in lmomco. The relations between the Generalized Extreme Value distribution parameters (\(\xi\), \(\alpha\), \(\kappa\)) are \(\kappa\)) is \(\kappa = 1/\delta\), \(\alpha = \beta/\delta\), and \(\xi = \zeta - \beta\). These relations are taken from Hosking and Wallis (1997).

In R, the quantile function of the Weibull distribution is qweibull. Given a Weibull parameter object p, the R syntax is qweibull(f, p$para[3], scale=p$para[2]) - p$para[1]. For the current implementation for this package, the reversed Generalized Extreme Value distribution quagev is used and the implementation is -quagev((1-f),para).

Usage

quawei(f, para, paracheck=TRUE)

Value

Quantile value for nonexceedance probability \(F\).

Arguments

f

Nonexceedance probability (\(0 \le F \le 1\)).

para

The parameters from parwei or vec2par.

paracheck

A logical controlling whether the parameters are checked for validity. Overriding of this check might be extremely important and needed for use of the quantile function in the context of TL-moments with nonzero trimming.

Author

W.H. Asquith

References

Hosking, J.R.M., and Wallis, J.R., 1997, Regional frequency analysis---An approach based on L-moments: Cambridge University Press.

See Also

cdfwei, pdfwei, lmomwei, parwei

Examples

Run this code
  # Evaluate Weibull deployed here and within R (qweibull)
  lmr <- lmoms(c(123,34,4,654,37,78))
  WEI <- parwei(lmr)
  Q1  <- quawei(0.5,WEI)
  Q2  <- qweibull(0.5,shape=WEI$para[3],scale=WEI$para[2])-WEI$para[1]
  if(Q1 == Q2) EQUAL <- TRUE

  # The Weibull is a reversed generalized extreme value
  Q <- sort(rlmomco(34,WEI)) # generate Weibull sample
  lm1 <- lmoms(Q)    # regular L-moments
  lm2 <- lmoms(-Q)   # L-moment of negated (reversed) data
  WEI <- parwei(lm1) # parameters of Weibull
  GEV <- pargev(lm2) # parameters of GEV
  F <- nonexceeds()  # Get a vector of nonexceedance probs
  plot(pp(Q),Q)
  lines(F,quawei(F,WEI))
  lines(F,-quagev(1-F,GEV),col=2) # line over laps previous

Run the code above in your browser using DataLab