# EMPIRgridderinv: Derivative Inverses of the Grid of the Bivariate Emprical... In copBasic: General Bivariate Copula Theory and Many Utility Functions

## Description

Generate a gridded representation of the inverse of the derivatives of the bivariate empirical copula of V with respect to U. This function is the empirical analog to `derCOPinv`.

## Usage

 `1` ```EMPIRgridderinv(empgrid=NULL, kumaraswamy=FALSE, ...) ```

## Arguments

 `empgrid` The grid from `EMPIRgrid`; `kumaraswamy` A logical to trigger Kumaraswamy smoothing of the conditional quantile function; and `...` Additional arguments to pass.

## Value

The gridded values of the inverse of the derivative of V with respect U.

## Author(s)

W.H. Asquith

`EMPIRcop`, `EMPIRcopdf`, `EMPIRgrid`, `EMPIRgridder2`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94``` ```## Not run: uv <- simCOP(n=10000, cop=PSP, ploton=FALSE, points=FALSE) fakeU <- lmomco::pp(uv[,1], sort=FALSE) fakeV <- lmomco::pp(uv[,2], sort=FALSE) uv <- data.frame(U=fakeU, V=fakeV) uv.grid <- EMPIRgrid(para=uv, deluv=.1) # CPU hungry uv.inv1 <- EMPIRgridderinv(empgrid=uv.grid) uv.inv2 <- EMPIRgridderinv2(empgrid=uv.grid) plot(uv, pch=16, col=rgb(0,0,0,.1), xlim=c(0,1), ylim=c(0,1), xlab="U, NONEXCEEDANCE PROBABILITY", ylab="V, NONEXCEEDANCE PROBABILITY") lines(qua.regressCOP(f=0.5, cop=PSP), col=2) lines(qua.regressCOP(f=0.2, cop=PSP), col=2) lines(qua.regressCOP(f=0.7, cop=PSP), col=2) lines(qua.regressCOP(f=0.1, cop=PSP), col=2) lines(qua.regressCOP(f=0.9, cop=PSP), col=2) med.wrtu <- EMPIRqua.regress(f=0.5, empinv=uv.inv1) lines(med.wrtu, col=2, lwd=4) qua.wrtu <- EMPIRqua.regress(f=0.2, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=2) qua.wrtu <- EMPIRqua.regress(f=0.7, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=2) qua.wrtu <- EMPIRqua.regress(f=0.1, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=4) qua.wrtu <- EMPIRqua.regress(f=0.9, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=4) lines(qua.regressCOP2(f=0.5, cop=PSP), col=4) lines(qua.regressCOP2(f=0.2, cop=PSP), col=4) lines(qua.regressCOP2(f=0.7, cop=PSP), col=4) lines(qua.regressCOP2(f=0.1, cop=PSP), col=4) lines(qua.regressCOP2(f=0.9, cop=PSP), col=4) med.wrtv <- EMPIRqua.regress2(f=0.5, empinv=uv.inv2) lines(med.wrtv, col=4, lwd=4) qua.wrtv <- EMPIRqua.regress2(f=0.2, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=2) qua.wrtv <- EMPIRqua.regress2(f=0.7, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=2) qua.wrtv <- EMPIRqua.regress2(f=0.1, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=4) qua.wrtv <- EMPIRqua.regress2(f=0.9, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=4)# ## End(Not run) ## Not run: # Now try a much more complex shape para <- list(alpha=0.15, beta=0.65, cop1=PLACKETTcop, cop2=PLACKETTcop, para1=0.005, para2=1000) uv <- simCOP(n=30000, cop=composite2COP, para=para) fakeU <- lmomco::pp(uv[,1], sort=FALSE) fakeV <- lmomco::pp(uv[,2], sort=FALSE) uv <- data.frame(U=fakeU, V=fakeV) uv.grid <- EMPIRgrid(para=uv, deluv=0.05) # CPU hungry uv.inv1 <- EMPIRgridderinv(empgrid=uv.grid) uv.inv2 <- EMPIRgridderinv2(empgrid=uv.grid) plot(uv, pch=16, col=rgb(0,0,0,0.1), xlim=c(0,1), ylim=c(0,1), xlab="U, NONEXCEEDANCE PROBABILITY", ylab="V, NONEXCEEDANCE PROBABILITY") lines(qua.regressCOP(f=0.5, cop=composite2COP, para=para), col=2) lines(qua.regressCOP(f=0.2, cop=composite2COP, para=para), col=2) lines(qua.regressCOP(f=0.7, cop=composite2COP, para=para), col=2) lines(qua.regressCOP(f=0.1, cop=composite2COP, para=para), col=2) lines(qua.regressCOP(f=0.9, cop=composite2COP, para=para), col=2) med.wrtu <- EMPIRqua.regress(f=0.5, empinv=uv.inv1) lines(med.wrtu, col=2, lwd=4) qua.wrtu <- EMPIRqua.regress(f=0.2, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=2) qua.wrtu <- EMPIRqua.regress(f=0.7, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=2) qua.wrtu <- EMPIRqua.regress(f=0.1, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=4) qua.wrtu <- EMPIRqua.regress(f=0.9, empinv=uv.inv1) lines(qua.wrtu, col=2, lwd=2, lty=4) lines(qua.regressCOP2(f=0.5, cop=composite2COP, para=para), col=4) lines(qua.regressCOP2(f=0.2, cop=composite2COP, para=para), col=4) lines(qua.regressCOP2(f=0.7, cop=composite2COP, para=para), col=4) lines(qua.regressCOP2(f=0.1, cop=composite2COP, para=para), col=4) lines(qua.regressCOP2(f=0.9, cop=composite2COP, para=para), col=4) med.wrtv <- EMPIRqua.regress2(f=0.5, empinv=uv.inv2) lines(med.wrtv, col=4, lwd=4) qua.wrtv <- EMPIRqua.regress2(f=0.2, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=2) qua.wrtv <- EMPIRqua.regress2(f=0.7, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=2) qua.wrtv <- EMPIRqua.regress2(f=0.1, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=4) qua.wrtv <- EMPIRqua.regress2(f=0.9, empinv=uv.inv2) lines(qua.wrtv, col=4, lwd=2, lty=4)# ## End(Not run) ```