joint.curvesCOP2: Compute Coordinates of the Marginal Probabilities given joint...

joint.curvesCOP2R Documentation

Compute Coordinates of the Marginal Probabilities given joint AND or OR Probability

Description

Compute the coordinates of the bivariate marginal probabilities for variables U and V given selected probabilities levels t for a copula \mathbf{C}(u,v) for u with respect to v. For the case of a joint and probability, symbolically the solution is

\mathrm{Pr}[U \le v,\ V \le v] = t = \mathbf{C}(u,v)\mbox{,}

where V \mapsto [t_i, t_{j}, t_{j+1}, \cdots, 1; \Delta] (an irregular sequence of v values from the ith value of t_i provided through to unity) and thus

t_i \mapsto \mathbf{C}(u, v=V)\mbox{,}

and solving for the sequence of u. The index j is to indicate that a separate loop is involved and is distinct from i. The pairings \{u(t_i), v(t_i)\} for each t are packaged as an R data.frame. This operation is very similiar to the plotting capabilities in level.curvesCOP2 for level curves (Nelsen, 2006, pp. 12–13) but implemented in the function joint.curvesCOP2 for alternative utility.

For the case of a joint or probability, the dual of a copula (function) or \tilde{\mathbf{C}}(u,v) from a copula (Nelsen, 2006, pp. 33–34) is used and symbolically the solution is:

\mathrm{Pr}[U \le v \mathrm{\ or\ } V \le v] = t = \tilde{\mathbf{C}}(u,v) = u + v - \mathbf{C}(u,v)\mbox{,}

where V \mapsto [0, v_j, v_{j+1}, \cdots, t_i; \Delta] (an irregular sequence of v values from zero through to the ith value of t) and thus

t_i \mapsto \tilde{\mathbf{C}}(u, v=V)\mbox{,}

and solving for the sequence of u. The index j is to indicate that a separate loop is involved and is distinct from i. The pairings \{u(t_i), v(t_i)\} for each t are packaged as an R data.frame.

Usage

joint.curvesCOP2(cop=NULL, para=NULL, type=c("and", "or"),
                 probs=c(0.5, 0.8, 0.90, 0.96, 0.98, 0.99, 0.995, 0.998),
                 zero2small=TRUE, small=1E-6, divisor=100, delv=0.001, ...)

Arguments

cop

A copula function;

para

Vector of parameters or other data structure, if needed, to pass to the copula;

type

What type of joint probability is to be computed;

probs

The joint probabilities for which to compute the coordinates. The default values represent especially useful annual return period equivalents that are useful in hydrologic risk analyses;

zero2small

A logical controlling whether precise zero value for probability are converted to a small value and precise unity values for probability are converted to the value 1 - small; this logical is useful if transformation from probability space into standard normal variates or Gumbel reduced variates (GRV; see function prob2grv() in package lmomco) is later desired by the user for attendant graphics (see Examples section);

small

The value for small described for zero2small;

divisor

A divisor on a computation of a \Delta for incrementing through the v domain as part of the coordinate computation (see source code);

delv

A \Delta v for setup of the incrementing through the v domain as part of the coordinate computation (see source code); and

...

Additional arguments to pass to the duCOP function of copBasic or uniroot() function.

Value

An R list is returned with elements each of the given probs.

Author(s)

W.H. Asquith

References

Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.

See Also

diagCOPatf, duCOP, jointCOP, joint.curvesCOP, level.curvesCOP2

Examples

# See Note for joint.curvesCOP()
## Not run: 
# Approach the joint curves from both "with respect two" perspectives---results same.
JCvwrtu <- joint.curvesCOP( cop=PSP, prob=0.98)$"0.98"
JCuwrtv <- joint.curvesCOP2(cop=PSP, prob=0.98)$"0.98"; lim <- c(2,5)
plot(qnorm(JCvwrtu$U), qnorm(JCvwrtu$V), type="l", lwd=6, col=8, xlim=lim, ylim=lim,
     xlab="STANDARD NORMAL VARIATE OF U", ylab="STANDARD NORMAL VARIATE OF V")
lines(qnorm(JCuwrtv$U), qnorm(JCuwrtv$V), col=2, lwd=2)
mtext("98th Joint Percentile Level Curve for PSP Copula")#
## End(Not run)

wasquith/copBasic documentation built on Dec. 30, 2024, 9:58 a.m.