pwmRC {lmomco} | R Documentation

## Sample Probability-Weighted Moments for Right-Tail Censoring

### Description

Compute the sample Probability-Weighted Moments (PWMs) for right-tail censored data set—that is a data set censored from above. The censoring threshold is denoted as T. The data possess m values that are observed (noncensored, < T) out of a total of n samples. The ratio of m to n is defined as zeta = m/n, which will play an important role in parameter estimation. The zeta is interpreted as the probability mathrm{Pr}lbrace rbrace that x is less than the quantile at zeta nonexceedance probability: (mathrm{Pr}lbrace x < X(zeta) rbrace). Two types of PWMs are computed for right-tail censored situations. The “A”-type PWMs and “B”-type PWMs. The A-type PWMs are defined by

β^A_r = m^{-1}sum^m_{j=1} {j-1 choose r} x_{[j:n]}mbox{,}

noindent which are the PWMs of the uncensored sample of m observed values. The B-type PWMs are computed from the “complete” sample, in which the n-m censored values are replaced by the censoring threshold T. The B-type PWMs are defined by

β^B_r = n^{-1} biggl( sum^m_{j=1} {j-1 choose r} x_{[j:n]} + sum^n_{j=m+1} {j-1 choose r} T biggr) mbox{.}

The two previous expressions are used in the function. These PWMs are readily converted to L-moments by the usual methods (`pwm2lmom`). When there are more than a few censored values, the PWMs are readily computed by computing β^A_r and using the expression

β^B_r = Zβ^A_r + frac{1-Z}{r+1}Tmbox{,}

noindent where

Z = frac{m}{n}frac{{m-1 choose r}}{{n-1 choose r}}mbox{.}

The two expressions above are consulted when the `checkbetas=TRUE` argument is present. Both sequences of B-type are `cat`ed to the terminal. This provides a check on the implementation of the algorithm. The functions `Apwm2BpwmRC` and `Bpwm2ApwmRC` can be used to switch back and forth between the two PWM types given fitted parameters for a distribution in the lmomco package that supports right-tail censoring. Finally, the `RC` in the function name is to denote `R`ight-tail `C`ensoring.

### Usage

    pwmRC(x,threshold=NULL,nmom=5,sort=TRUE,checkbetas=FALSE)

### Arguments

`x` | A vector of data values.
`threshold` | The right-tail censoring (upper) threshold.
`nmom` | Number of PWMs to return.
`sort` | Does the data need sorting? Note that convention is the have a β_0, but this is placed in the first index `i=1` of the `betas` vector.
`checkbetas` | A cross relation between β^A_r and β^B_r exists—display the results of the secondary computation of the β^B_r. The two displayed vectors should be numerically equal.

### Details

There is some ambiguity if the threshold also numerically equals valid data in the data set. In the data for the examples below, which are taken from elsewhere, there are real observations at the censoring level. One can see how a hack is made to marginally decrease or increase the data or the threshold for the computations. This is needed because the code uses `sapply(x,function(v) { if(v >= T) return(T); return(v)})` to reset the data vector `x`. By operating on the data in this fashion one can toy with various levels of the threshold for experimental purposes; this seemed a more natural way for general implementation. The code sets n=`length(x)` and m=`n - length(x[x == T])`, which also seems natural. The β^A_r are computed by dispatching to `pwm`.

### Value

An R `list` is returned.

`Abetas` | The A-type PWMs. These should be same as `pwm()` returns if there is no censoring. Note that convention is the have a β_0, but this is placed in the first index `i=1` of the `betas` vector.
`Bbetas` | The B-type PWMs. These should be `NA` if there is no censoring. Note that convention is the have a β_0, but this is placed in the first index `i=1` of the `betas` vector.
`source` | Source of the PWMs: “pwmRC”
`threshold` | The upper censoring threshold.
`zeta` | The right censoring fraction: `numabovethreshold/samplesize`
`numabovethreshold` | Number of data points equal to or above the threshold.
`observedsize` | Number of real data points in the sample (below the threshold).
`samplesize` | Number of actual sample values.

### Author(s)

W.H. Asquith

### References

Greenwood, J.A., Landwehr, J.M., Matalas, N.C., and Wallis, J.R., 1979, Probability weighted moments—Definition and relation to parameters of several distributions expressable in inverse form: Water Resources Research, vol. 15, p. 1,049–1,054.

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, vol. 52, p. 105–124.

Hosking, J.R.M., 1995, The use of L-moments in the analysis of censored data, in Recent Advances in Life-Testing and Reliability, edited by N. Balakrishnan, chapter 29, CRC Press, Boca Raton, Fla., pp. 546–560.

### See Also

`lmoms`, `pwm2lmom`, `pwm`

### Examples

    # Data listed in Hosking (1995, table 29.2, p. 551)
    H <- c(3,4,5,6,6,7,8,8,9,9,9,10,10,11,11,11,13,13,13,13,13,
           17,19,19,25,29,33,42,42,51.9999,52,52,52)
    # 51.9999 was really 52, a real (noncensored) data point.
    z <-  pwmRC(H,threshold=52,checkbetas=TRUE)
    str(z)
    # Hosking(1995) reports that A-type L-moments for this sample are
    # lamA1=15.7 and lamAL-CV=.389, and lamAL-skew=.393
    pwm2lmom(z$Abetas)
    # My version of R reports 15.666, 0.3959, and 0.4030

    # See p. 553 of Hosking (1995)
    # Data listed in Hosking (1995, table 29.3, p. 553)
    D <- c(-2.982, -2.849, -2.546, -2.350, -1.983, -1.492, -1.443,
           -1.394, -1.386, -1.269, -1.195, -1.174, -0.854, -0.620,
           -0.576, -0.548, -0.247, -0.195, -0.056, -0.013,  0.006,
            0.033,  0.037,  0.046,  0.084,  0.221,  0.245,  0.296)
    D <- c(D,rep(.2960001,40-28)) # 28 values, but Hosking mentions 40 values in total
    z <-  pwmRC(D,.2960001)
    # Hosking reports B-type L-moments for this sample are
    # lamB1 = -.516 and lamB2 = 0.523
    pwm2lmom(z$Bbetas)
    # My version of R reports -.5162 and 0.5218

[Package lmomco version 0.92 Index]