Learn R Programming

copBasic (version 2.2.6)

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"), ...)

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.

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.

Author

W.H. Asquith

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
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