Learn R Programming

lmomco (version 0.88)

quawei: Quantile Function of the Weibull Distribution

Description

This function computes the quantiles of the Weibull distribution given parameters ($\zeta$, $\beta$, and $\delta$) of the distribution computed by parwei. The quantile function of the distribution 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 this package. The relation between the Generalized Extreme Value distribution parameters ($\xi$, $\alpha$, and $\kappa$) is

$$\kappa = 1/\delta \mbox{,}$$

$$\alpha = \beta/\delta \mbox{, and}$$

$$\xi = \zeta - \beta \mbox{.}$$

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 is used -quagev((1-f),para).

Usage

quawei(f, para)

Arguments

f
Nonexceedance probability ($0 \le F \le 1$).
para
The parameters from parwei or similar.

Value

  • Quantile value for nonexceedance probability $F$.

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, parwei

Examples

Run this code
# Evaluate Weibull deployed here and within R (qweibull)
  lmr <- lmom.ub(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