Last chance! 50% off unlimited learning
Sale ends in
Compute the inverse of a numerical partial derivative for
derCOPinv(cop=NULL, u, t, trace=FALSE,
delu=.Machine$double.eps^0.50, para=NULL, ...)
A copula function;
A single nonexceedance probability
A single nonexceedance probability level
A logical controlling a message
on whether the signs on the uniroot
are the same---this is helpful in exploring the numerical derivative limits of a given implementation of a copula.
The
Vector of parameters or other data structures, if needed, to pass to cop
; and
Additional arguments to pass to the copula.
Value(s) for the derivative inverse are returned.
Durante, F., 2007, Families of copulas, Appendix C, in Salvadori, G., De Michele, C., Kottegoda, N.T., and Rosso, R., 2007, Extremes in Nature---An approach using copulas: Springer, 289 p.
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
Johnson, M.E., 1987, Multivariate statistical simulation: New York, John Wiley, 230 p.
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
# NOT RUN {
u <- runif(1); t <- runif(1)
derCOPinv(u,t, cop=W) # perfect negative dependence
derCOPinv(u,t, cop=P) # independence
derCOPinv(u,t, cop=M) # perfect positive dependence
derCOPinv(u,t, cop=PSP) # a parameterless copula example
# }
# NOT RUN {
# Simulate 500 values from product (independent) copula
plot(NA,NA, type="n", xlim=c(0,1), ylim=c(0,1), xlab="U", ylab="V")
for(i in 1:500) {
u <- runif(1); t <- runif(1)
points(u,derCOPinv(cop=P,u,t), cex=0.5, pch=16) # black dots
}
# Now simulate 500 from the Nelsen 4.2.12 copula.
for(i in 1:500) {
u <- runif(1); t <- runif(1)
points(u,derCOPinv(cop=N4212cop,para=9.3,u,t), cex=2, pch=16, col=2) # red dots
} #
# }
Run the code above in your browser using DataLab