qua.regressCOP2 {copBasic}R Documentation

Perform Quantile Regression using a Copula by Numerical Derivative Method for U with respect to V

Description

Perform quantile regression (Nelsen, 2006, pp. 217–218) using a copula by numerical derivatives of the copula (derCOPinv2). If XX and YY are random variables having quantile functions x(F)x(F) and y(G)y(G) and letting x=x~(y)x=\tilde{x}(y) denote a solution to Pr[XxY=y]=F\mathrm{Pr}[X \le x\mid Y = y] = F, where FF is a nonexceedance probability. Then the curve x=x~(y)x=\tilde{x}(y) is the quantile regression curve of UU or XX with respect to VV or YY, respectively. If F=1/2F=1/2, then median regression is performed (med.regressCOP2). Using copulas, the quantile regression is expressed as

Pr[XxY=y]=Pr[UF(x)V=F]=Pr[UuV=F]=δC(u,v)δv\mbox,\mathrm{Pr}[X \le x\mid Y = y] = \mathrm{Pr}[U \le F(x) \mid V = F] = \mathrm{Pr}[U \le u\mid V = F] = \frac{\delta \mathbf{C}(u,v)}{\delta v}\mbox{,}

where v=G(y)v = G(y) and u=F(x)u = F(x). The general algorithm is

  1. Set δC(u,v)/δv=F\delta \mathbf{C}(u,v)/\delta v = F,

  2. Solve the regression curve u=u~(v)u = \tilde{u}(v) (provided by derCOPinv2), and

  3. Replace uu by x(u)x(u) and vv by y(v)y(v).

The last step is optional as step two produces the regression in probability space, which might be desired, and step 3 actually transforms the probability regressions into the quantiles of the respective random variables.

Usage

qua.regressCOP2(f=0.5, v=seq(0.01,0.99, by=0.01), cop=NULL, para=NULL, ...)

Arguments

f

A single value of nonexceedance probability FF to perform regression at and defaults to median regression F=1/2F=1/2;

v

Nonexceedance probability vv in the YY direction;

cop

A copula function;

para

Vector of parameters or other data structure, if needed, to pass to the copula; and

...

Additional arguments to pass.

Value

An R data.frame of the regressed probabilities of UU and V=vV=v is returned.

Author(s)

W.H. Asquith

References

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

See Also

med.regressCOP2, derCOPinv2

Examples

## Not run: 
# Use a positively associated Plackett copula and perform quantile regression
theta <- 0.10
R <- qua.regressCOP2(cop=PLACKETTcop, para=theta) # 50th percentile regression
plot(R$U,R$V, type="l", lwd=6, xlim=c(0,1), ylim=c(0,1), col=8)
lines((1+(theta-1)*R$V)/(theta+1),R$V, col=4, lwd=1) # theoretical for Plackett,
# compare the theoretical form to that in qua.regressCOP---just switch terms around
# because of symmetry
R <- qua.regressCOP2(f=0.90, cop=PLACKETTcop, para=theta) # 90th-percentile regression
lines(R$U,R$V, col=2, lwd=2)
R <- qua.regressCOP2(f=0.10, cop=PLACKETTcop, para=theta) # 10th-percentile regression
lines(R$U,R$V, col=2, lty=2)
mtext("Quantile Regression U wrt V for Plackett copula")#
## End(Not run)

[Package copBasic version 2.2.4 Index]