copBasic (version 2.2.4)

COPinv: The Inverse of a Copula for V with respect to U

Description

Compute the inverse of a copula for \(V\) with respect to \(U\) given \(t\) or $$t = \mathbf{C}(u{=}U,v) \rightarrow \mathbf{C}^{(-1)}(u{=}U, t) = v\mbox{,}$$ and solving for \(v\). Nelsen (2006, p. 12) does not so name this function as an “inverse.” The COPinv function is internally used by level.curvesCOP and level.curvesCOP2. A common misapplication that will puzzle the user (including the developer after long breaks from package use) is that the following call and error message are often seen, if silent=FALSE:


  COPinv(0.2, 0.25, cop=PSP)
  # Error in uniroot(func, interval = c(lo, 1), u = u, LHS = t, cop = cop,  :
  #  f() values at end points not of opposite sign
  # [1] NA

This is a harmless error in the sense that COPinv is functioning properly. One can not invert a copula for \(u < t\) and for \(u = t\) the \(v = 1\) because of fundamental copula properties.

Usage

COPinv(cop=NULL, u, t, para=NULL, silent=TRUE, ...)

Value

Value(s) for \(v\) are returned.

Arguments

cop

A copula function;

u

Nonexceedance probability \(u\) in the \(X\) direction;

t

Nonexceedance probability level \(t\);

para

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

silent

The argument of the same name given over to try() wrapping the uniroot() operation; and

...

Additional arguments to pass.

Author

W.H. Asquith

References

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

See Also

COP, COPinv2, level.curvesCOP, level.curvesCOP2

Examples

Run this code
COPinv(cop=N4212cop, para=2, u=0.5, t=0.2)

Run the code above in your browser using DataLab