uvlmoms: Bivariate Skewness after Joe (2014) or the Univariate...

uvlmomsR Documentation

Bivariate Skewness after Joe (2014) or the Univariate L-moments of Combined U and V

Description

Joe (2014, pp. 65–66) suggests two quantile-based measures of bivariate skewness defined for uniform random variables U and V combined as either \psi_{u+v-1} = u + v - 1 or \psi_{u-v} = u - v for which the \mathrm{E}[u] = \mathrm{E}[v] = 0. The bivariate skewness is the quantity \eta:

\eta(p; \psi) = \frac{x(1-p) - 2x(\frac{1}{2}) + x(p)}{x(1-p) - x(p)} \mbox{,}

where 0 < p < \frac{1}{2}, x(F) is the quantile function for nonexceedance probability F for either the quantities X = \psi_{u+v-1} or X = \psi_{u-v} using either the empirical quantile function or a fitted distribution. Joe (2014, p. 66) reports that p = 0.05 to “achieve some sensitivity to the tails.” How these might be related (intuitively) to L-coskew (see function lcomoms2() of the lmomco package) of the L-comoments or bivariate L-moments (bilmoms) is unknown, but see the Examples section of joeskewCOP.

Structurally the above definition for \eta based on quantiles is oft shown in comparative literature concerning L-moments. But why stop there? Why not compute the L-moments themselves to arbitrary order for \eta by either definition (the uvlmoms variation)? Why not fit a distribution to the computed L-moments for estimation of x(F)? Or simply compute “skewness” according to the definition above (the uvskew variation).

Usage

uvlmoms(u,v=NULL, umv=TRUE, p=NA,   type="gno", getlmoms=TRUE,  ...)

uvskew( u,v=NULL, umv=TRUE, p=0.05, type=6,     getlmoms=FALSE, ...)

Arguments

u

Nonexceedance probability u in the X direction;

v

Nonexceedance probability v in the Y direction and if NULL then u is treated as a two column R data.frame;

umv

A logical controlling the computation of \psi: \psi = u - v (umv = TRUE) or \psi = u + v - 1 (umv = FALSE). The "m" is to read “minus”;

p

A suggested p value is p = 0.05. If is.na(NA), then getlmoms is set to TRUE (see below);

type

The type argument is mutable, and is a syntax match to the canoncial use in package lmomco. Variation from that package however is permitted. Either type is an integer between 1 and 9 selecting one of the nine quantile algorithms described for the quantile function in R. The default 6 uses the Weibull plotting positions and differs from the R default of 7. Otherwise type must be a valid distribution abbreviation for the lmomco package as in the abbreviation list dist.list function of that package. The gno shown as a default for the generalized normal distribution (see distribution type "gno" in package lmomco);

getlmoms

A logical triggering whether the L-moments of either \psi_{u+v-1} or \psi_{u - v} are returned instead computing the above definition of “skewness;” and

...

Additional arguments to pass to the lmomco function lmoms, such as the number of L-moments nmoms.

Value

An R list of the univariate L-moments of \eta is returned (see documentation for lmoms in the lmomco package). Or the skewness of \eta can be either (1) based on the empirical distribution based on plotting positions by the quantile function in R using the type as described, or (2) based on the fitted quantile function for the parameters of a distribution for the lmomco package.

Author(s)

W.H. Asquith

References

Asquith, W.H., 2011, Distributional analysis with L-moment statistics using the R environment for statistical computing: Createspace Independent Publishing Platform, ISBN 978–146350841–8.

Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.

See Also

COP

Examples

## Not run: 
set.seed(234)
UV <- simCOP(n=100, cop=GHcop, para=1.5, graphics=FALSE)
lmr <- uvlmoms(UV); print(lmr) # L-kurtosis = 0.16568268
uvskew(UV, p=0.10)             # -0.1271723
uvskew(UV, p=0.10, type="gno") # -0.1467011
## End(Not run)

## Not run: 
pss <- seq(0.01,0.49, by=0.01)
ETA <- sapply(1:length(pss), function(i) uvskew(UV, p=pss[i], type=5, uvm1=FALSE) )
plot(pss, ETA, type="l", xlab="P FACTOR", ylab="BIVARIATE SKEWNESS") #
## End(Not run)

wasquith/copBasic documentation built on Dec. 13, 2024, 6:39 p.m.