copBasic (version 2.1.5)

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. A common misapplication that will puzzle the user (including the author after long breaks from use) is that the following call and error message are often seen:

  COPinv(.2, .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. Also because of fundamental theory being involved, the author perceives that it is better to not silently trap the error but let errors cascade up the chain in a user's application. This might represent suboptimal design and suggestions for improvement are invited.

Usage

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

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

...

Additional arguments to pass.

Value

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

References

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

See Also

COP, COPinv2, level.curvesCOP

Examples

Run this code
# NOT RUN {
COPinv(cop=N4212cop, para=2, u=0.5, t=0.2)
# }

Run the code above in your browser using DataLab