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

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

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 ψ_{u+v-1} = u + v - 1 or ψ_{u-v} = u - v for which the \mathrm{E}[u] = \mathrm{E}[v] = 0. The bivariate skewness is the quantity η:

η(p; ψ) = \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 = ψ_{u+v-1} or X = ψ_{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 η 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 η 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

1
2
3
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 ψ: ψ = u - v (umv = TRUE) or ψ = 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 R's 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 ψ_{u+v-1} or ψ_{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 η is returned (see documentation for lmoms in the lmomco package). Or the skewness of η 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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## 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 Nov. 20, 2019, 5:12 a.m.