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.
COPinv(cop=NULL, u, t, para=NULL, silent=TRUE, ...)
Value(s) for \(v\) are returned.
A copula function;
Nonexceedance probability \(u\) in the \(X\) direction;
Nonexceedance probability level \(t\);
Vector of parameters or other data structures, if needed, to pass to the copula;
The argument of the same name given over to try()
wrapping the uniroot()
operation; and
Additional arguments to pass.
W.H. Asquith
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
COP
,
COPinv2
,
level.curvesCOP
,
level.curvesCOP2
COPinv(cop=N4212cop, para=2, u=0.5, t=0.2)
Run the code above in your browser using DataLab