copBasic (version 2.1.5)

jointCOP: Compute Equal Marginal Probabilities Given a Single Joint AND or OR Probability for a Copula

Description

Given a single joint probability denoted as \(t\) for a copula \(\mathbf{C}(u,v)\) numerically solve for bivariate marginal probabilities \(U\) and \(V\) such that they are also equal to each other (\(u = v = w\)). For the case of a joint and probability, the primary diagonal of the copula (Nelsen, 2006, pp. 12 and 16) is solved for by a simple dispatch to the diagCOPatf function instead. Symbolically the solution is $$\mathrm{Pr}[U \le v,\ V \le v] = t = \mathbf{C}(w,w)\mbox{.}$$

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; duCOP) is used where symbolicaly 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{,}$$ or $$\mathrm{Pr}[U \le v \mathrm{\ or\ } V \le v] = t = 2w - \mathbf{C}(w,w)\mbox{.}$$

The function for type="or" tests \(\tilde{\mathbf{C}}(0,0)\) and if it returns NA or NaN then the lower limit for the rooting is treated as .Machine$double.eps instead of 0 (zero).

Usage

jointCOP(t, cop=NULL, para=NULL, type=c("and", "or"), ...)

Arguments

t

The joint probability level \(t\);

cop

A copula function;

para

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

type

The type of joint probability is to be computed; and

...

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

Value

A vector of the equal \(u\) and \(v\) probabilties for the given type at the joint probability level of \(t\). The vector includes the \(t\) as the third element.

References

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

See Also

diagCOPatf, duCOP, joint.curvesCOP, level.curvesCOP

Examples

Run this code
# NOT RUN {
jointCOP(0.50, cop=GHcop, para=1.5, type="and") # 0.6461941  0.6461941  0.5000000
jointCOP(2/3,  cop=GHcop, para=1.5, type="or" ) # 0.4994036  0.4994036  0.6666667

# See extended code listings and discussion in the Note section
# }

Run the code above in your browser using DataLab