pwMoment: Estimate Probability-Weighted Moments

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/pwMoment.R


Estimate the 1jk'th probability-weighted moment from a random sample, where either j = 0, k = 0, or both.


  pwMoment(x, j = 0, k = 0, method = "unbiased", 
    plot.pos.cons = c(a = 0.35, b = 0), na.rm = FALSE)



numeric vector of observations.

j, k

non-negative integers specifying the order of the moment.


character string specifying what method to use to compute the probability-weighted moment. The possible values are "unbiased" (method based on the U-statistic; the default), or "plotting.position" (method based on the plotting position formula). See the DETAILS section for more information.


numeric vector of length 2 specifying the constants used in the formula for the plotting positions when method="plotting.position". The default value is plot.pos.cons=c(a=0.35, b=0). If this vector has a names attribute with the value c("a","b") or c("b","a"), then the elements will be matched by name in the formula for computing the plotting positions. Otherwise, the first element is mapped to the name "a" and the second element to the name "b". See the DETAILS section for more information. This argument is ignored if method="ubiased".


logical scalar indicating whether to remove missing values from x. If na.rm=FALSE (the default) and x contains missing values, then a missing value (NA) is returned. If na.rm=TRUE, missing values are removed from x prior to computing the probability-weighted moment.


The definition of a probability-weighted moment, introduced by Greenwood et al. (1979), is as follows. Let X denote a random variable with cdf F, and let x(p) denote the p'th quantile of the distribution. Then the ijk'th probability-weighted moment is given by:

M(i, j, k) = E[X^i F^j (1 - F)^k] = \int^1_0 [x(F)]^i F^j (1 - F)^k \, dF

where i, j, and k are real numbers. Note that if i is a nonnegative integer, then M(i, 0, 0) is the conventional i'th moment about the origin.

Greenwood et al. (1979) state that in the special case where i, j, and k are nonnegative integers:

M(i, j, k) = B(j + 1, k + 1) E[X^i_{j+1, j+k+1}]

where B(a, b) denotes the beta function evaluated at a and b, and

E[X^i_{j+1, j+k+1}]

denotes the i'th moment about the origin of the (j + 1)'th order statistic for a sample of size (j + k + 1). In particular,

M(1, 0, k) = \frac{1}{k+1} E[X_{1, k+1}]

M(1, j, 0) = \frac{1}{j+1} E[X_{j+1, j+1}]


E[X_{1, k+1}]

denotes the expected value of the first order statistic (i.e., the minimum) in a sample of size (k + 1), and

E[X_{j+1, j+1}]

denotes the expected value of the (j+1)'th order statistic (i.e., the maximum) in a sample of size (j+1).

Unbiased Estimators (method="unbiased")
Landwehr et al. (1979) show that, given a random sample of n values from some arbitrary distribution, an unbiased, distribution-free, and parameter-free estimator of M(1, 0, k) is given by:

\hat{M}(1, 0, k) = \frac{1}{n} ∑^{n-k}_{i=1} x_{i,n} \frac{{n-i \choose k}}{{n-1 \choose k}}

where the quantity x_{i,n} denotes the i'th order statistic in the random sample of size n. Hosking et al. (1985) note that this estimator is closely related to U-statistics (Hoeffding, 1948; Lehmann, 1975, pp. 362-371). Hosking et al. (1985) note that an unbiased, distribution-free, and parameter-free estimator of M(1, j, 0) is given by:

\hat{M}(1, j, 0) = \frac{1}{n} ∑^n_{i=j+1} x_{i,n} \frac{{i-1 \choose j}}{{n-1 \choose j}}

Plotting-Position Estimators (method="plotting.position")
Hosking et al. (1985) propose alternative estimators of M(1, 0, k) and M(1, j, 0) based on plotting positions:

\hat{M}(1, 0, k) = \frac{1}{n} ∑^n_{i=1} (1 - p_{i,n})^k x_{i,n}

\hat{M}(1, j, 0) = \frac{1}{n} ∑^n_{i=1} p_{i,n}^j x_{i,n}


p_{i,n} = \hat{F}(x_{i,n})

denotes the plotting position of the i'th order statistic in the random sample of size n, that is, a distribution-free estimate of the cdf of X evaluated at the i'th order statistic. Typically, plotting positions have the form:

p_{i,n} = \frac{i-a}{n+b}

where b > -a > -1. For this form of plotting position, the plotting-position estimators are asymptotically equivalent to the U-statistic estimators.


A numeric scalar–the value of the 1jk'th probability-weighted moment as defined by Greenwood et al. (1979).


Greenwood et al. (1979) introduced the concept of probability-weighted moments as a tool to derive estimates of distribution parameters for distributions that can be (perhaps only be) expressed in inverse form. The term “inverse form” simply means that instead of characterizing the distribution by the formula for its cumulative distribution function (cdf), the distribution is characterized by the formula for the p'th quantile (0 ≤ p ≤ 1).

For distributions that can only be expressed in inverse form, moment estimates of their parameters are not available, and maximum likelihood estimates are not easy to compute. Greenwood et al. (1979) show that in these cases, it is often possible to derive expressions for the distribution parameters in terms of probability-weighted moments. Thus, for these cases the distribution parameters can be estimated based on the sample probability-weighted moments, which are fairly easy to compute. Furthermore, for distributions whose parameters can be expressed as functions of conventional moments, the method of probability-weighted moments provides an alternative to method of moments and maximum likelihood estimators.

Landwehr et al. (1979) use the method of probability-weighted moments to estimate the parameters of the Type I Extreme Value (Gumbel) distribution.

Hosking et al. (1985) use the method of probability-weighted moments to estimate the parameters of the generalized extreme value distribution.

Hosking (1990) and Hosking and Wallis (1995) show the relationship between probabiity-weighted moments and L-moments.

Hosking and Wallis (1995) recommend using the unbiased estimators of probability-weighted moments for almost all applications.


Steven P. Millard (


Greenwood, J.A., J.M. Landwehr, N.C. Matalas, and J.R. Wallis. (1979). Probability Weighted Moments: Definition and Relation to Parameters of Several Distributions Expressible in Inverse Form. Water Resources Research 15(5), 1049–1054.

Hoeffding, W. (1948). A Class of Statistics with Asymptotically Normal Distribution. Annals of Mathematical Statistics 19, 293–325.

Hosking, J.R.M. (1990). L-Moments: Analysis and Estimation of Distributions Using Linear Combinations of Order Statistics. Journal of the Royal Statistical Society, Series B 52(1), 105–124.

Hosking, J.R.M., and J.R. Wallis (1995). A Comparison of Unbiased and Plotting-Position Estimators of L Moments. Water Resources Research 31(8), 2019–2025.

Hosking, J.R.M., J.R. Wallis, and E.F. Wood. (1985). Estimation of the Generalized Extreme-Value Distribution by the Method of Probability-Weighted Moments. Technometrics 27(3), 251–261.

Landwehr, J.M., N.C. Matalas, and J.R. Wallis. (1979). Probability Weighted Moments Compared With Some Traditional Techniques in Estimating Gumbel Parameters and Quantiles. Water Resources Research 15(5), 1055–1064.

Lehmann, E.L. (1975). Nonparametrics: Statistical Methods Based on Ranks. Holden-Day, Oakland, CA, pp.362-371.

See Also

eevd, egevd, lMoment.


  # Generate 20 observations from a generalized extreme value distribution 
  # with parameters location=10, scale=2, and shape=.25, then compute the 
  # 0'th, 1'st and 2'nd probability-weighted moments. 
  # (Note: the call to set.seed simply allows you to reproduce this example.)

  dat <- rgevd(20, location = 10, scale = 2, shape = 0.25) 

  #[1] 10.59556
  pwMoment(dat, 1) 
  #[1] 5.798481
  pwMoment(dat, 2) 
  #[1] 4.060574
  pwMoment(dat, k = 1) 
  #[1] 4.797081
  pwMoment(dat, k = 2) 
  #[1] 3.059173
  pwMoment(dat, 1, method = "plotting.position") 
  # [1] 5.852913
  pwMoment(dat, 1, method = "plotting.position", 
    plot.pos = c(.325, 1)) 
  #[1] 5.586817 


  # Clean Up

EnvStats documentation built on May 20, 2017, 12:28 a.m.

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