PLACKETTcop | R Documentation |
The Plackett copula (Nelsen, 2006, pp. 89–92) is
\mathbf{C}_\Theta(u,v) = \mathbf{PL}(u,v) = \frac{[1+(\Theta-1)(u+v)]-\sqrt{[1+(\Theta-1)(u+v)]^2 - 4uv\Theta(\Theta-1)}}{2(\Theta - 1)}\mbox{.}
The Plackett copula (\mathbf{PL}(u,v)
) is comprehensive because as \Theta \rightarrow 0
the copula becomes \mathbf{W}(u,v)
(see W
, countermonotonicity), as \Theta \rightarrow \infty
the copula becomes \mathbf{M}(u,v)
(see M
, comonotonicity) and for \Theta = 1
the copula is \mathbf{\Pi}(u,v)
(see P
, independence).
Nelsen (2006, p. 90) shows that
\Theta = \frac{H(x,y)[1 - F(x) - G(y) + H(x,y)]}{[F(x) - H(x,y)][G(y) - H(x,y)]}\mbox{,}
where F(x)
and G(y)
are cumulative distribution function for random variables X
and Y
, respectively, and H(x,y)
is the joint distribution function. Only Plackett copulas have a constant \Theta
for any pair \{x,y\}
. Hence, Plackett copulas are also known as constant global cross ratio or contingency-type distributions. The copula therefore is intimately tied to contingency tables and in particular the bivariate Plackett defined herein is tied to a 2\times2
contingency table. Consider the 2\times 2
contingency table shown at the end of this section, then \Theta
is defined as
\Theta = \frac{a/c}{b/d} = \frac{\frac{a}{a+c}/\frac{c}{a+c}}{\frac{b}{b+d}/\frac{d}{b+d}}\mbox{\ and\ }\Theta = \frac{a/b}{c/d} = \frac{\frac{a}{a+b}/\frac{b}{a+b}}{\frac{c}{c+d}/\frac{d}{c+d}}\mbox{,}
where it is obvious that \Theta = ad/bc
and a
, b
, c
, and d
can be replaced by proporations for a sample of size n
by a/n
, b/n
, c/n
, and d/n
, respectively. Finally, this copula has been widely used in modeling and as an alternative to bivariate distributions and has respective lower- and upper-tail dependency parameters of \lambda^L = 0
and \lambda^U = 0
(taildepCOP
).
{-}{-} | Low | High | Sums |
Low | a | b | a+b |
High | c | d | c+d |
Sums | a+c | b+d | {-}{-}
|
PLACKETTcop(u, v, para=NULL, ...)
PLcop(u, v, para=NULL, ...)
u |
Nonexceedance probability |
v |
Nonexceedance probability |
para |
A vector (single element) of parameters—the |
... |
Additional arguments to pass. |
Value(s) for the copula are returned.
The Plackett copula was the first (2008) copula implemented in copBasic as part of initial development of the code base for instructional purposes. Thus, this particular copula has a separate parameter estimation function in PLACKETTpar
as a historical vestige of a class project.
W.H. Asquith
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
PLACKETTpar
, PLpar
, PLACKETTsim
, W
, M
, densityCOP
PLACKETTcop(0.4, 0.6, para=1)
P(0.4, 0.6) # independence copula, same two values because Theta == 1
PLcop(0.4, 0.6, para=10.25) # joint probability through positive association
## Not run:
# Joe (2014, p. 164) shows the closed form copula density of the Plackett.
"dPLACKETTcop" <- function(u,v,para) {
eta <- para - 1; A <- para*(1 + eta*(u+v-2*u*v))
B <- ((1 + eta*(u+v))^2 - 4*para*eta*u*v)^(3/2); return(A/B)
}
u <- 0.08; v <- 0.67 # Two probabilities to make numerical evaluations.
del <- 0.0001 # a 'small' differential value of probability
u1 <- u; u2 <- u+del; v1 <- v; v2 <- v+del
# Density following (Nelsen, 2006, p. 10)
dCrect <- (PLcop(u2, v2, para=10.25) - PLcop(u2, v1, para=10.25) -
PLcop(u1, v2, para=10.25) + PLcop(u1, v1, para=10.25)) / del^2
dCanal <- dPLACKETTcop(u, v, para=10.25)
dCfunc <- densityCOP(u, v, para=10.25, cop=PLcop, deluv = del)
R <- round(c(dCrect, dCanal, dCfunc), digits=6)
message("Density: ", R[1], "(manual), ", R[2], "(analytical), ", R[3], "(function)");
# Density: 0.255377(manual), 0.255373(analytical), 0.255377(function)
# Comparison of partial derivatives
dUr <- (PLcop(u2, v2, para=10.25) - PLcop(u1, v2, para=10.25)) / del
dVr <- (PLcop(u2, v2, para=10.25) - PLcop(u2, v1, para=10.25)) / del
dU <- derCOP( u, v, cop=PLcop, para=10.25)
dV <- derCOP2(u, v, cop=PLcop, para=10.25)
R <- round(c(dU, dV, dUr, dVr), digits=6)
message("Partial derivatives dU=", R[1], " and dUr=", R[3], "\n",
" dV=", R[2], " and dVr=", R[4]) #
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.