Compute the inverse of a copula for \(U\) with respect to \(V\) given \(t\) or
$$t = \mathbf{C}(u,v{=}V) \rightarrow \mathbf{C}^{(-1)}(v{=}V, t) = u\mbox{,}$$
and solving for \(u\). Nelsen (2006, p. 12) does not so name this function as an “inverse.” The COPinv2
function is internally used by level.curvesCOP2
. 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:
COPinv2(.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 COPinv2
is functioning properly. One can not invert a copula for \(v < t\) and for \(v = t\) the \(u = 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.
COPinv2(cop=NULL, v, t, para=NULL, ...)
A copula function;
Nonexceedance probability \(v\) in the \(Y\) direction;
Nonexceedance probability in \(t\);
Vector of parameters or other data structures, if needed, to pass to the copula; and
Additional arguments to pass to the copula.
Value(s) for \(u\) are returned.
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
# NOT RUN {
# See those for COPinv as they are the same by analogy.
# }
Run the code above in your browser using DataLab