kfuncCOP: The Kendall (Distribution) Function of a Copula

kfuncCOPR Documentation

The Kendall (Distribution) Function of a Copula

Description

To begin, there are at least three terms in the literature for what appear as the same function supported by the kfuncCOP function. The Kendall Function also is known as Kendall Distribution Function (Nelsen, 2006, p. 163) and Kendall Measure (Salvadori et al., 2007, p. 148). Each of these is dealt with in sequel to set the manner of the rather lengthy documentation for this function.

KENDALL FUNCTION—The Kendall Function (F_K) (Joe, 2014, pp. 419–422) is the cumulative distribution function (CDF) of the vector \mathbf{U} = (U_1, U_2, \ldots) or \mathbf{U} = (u,v) (bivariate) where \mathbf{U} is distributed as the copula: \mathbf{U} \sim \mathbf{C}(u,v). Letting Z be the random variable for \mathbf{C}(u,v): Z = \mathbf{C}(u,v), the Kendall Function is defined as

F_K(z; \mathbf{C}) = \mathrm{Pr}[Z \le z; \mathbf{U} \sim \mathbf{C}(u,v)]\mbox{,}

where F_K is the nonexceedance probability of the joint probability z stemming from the \mathbf{C}. Note, unlike its univariate counterpart, F_K(z) is rarely uniformly distributed (Nelsen et al., 2001, p. 278). The inverse F_K^{(-1)}(z) is implemented by the kfuncCOPinv function, which could be used for simulation of the correct joint probability using a single unformly distributed \sim U(0,1) random variable. A reminder is needed that Z is the joint probability and F_K(z) is the Kendall Function.

Joe (2014) and others as cited list various special cases of F_K(z), inequalities, and some useful identities suitable for validation study:
\mbox{}\quad\bullet\quad\mbox{}For \mathbf{M}(u,v) (see M): F_K(z) = z for all 0 < z < 1 for all d \ge 2 dimensions;
\mbox{}\quad\bullet\quad\mbox{}For \mathbf{W}(u,v) (see W): F_K(z) = 1 for all 0 < z < 1 for d = 2 (bivariate only);
\mbox{}\quad\bullet\quad\mbox{}For \mathbf{\Pi}(u,v) (see P): F_K(z) = z - z \log z for 0 < z < 1 for d = 2 (bivariate only);
\mbox{}\quad\bullet\quad\mbox{}For any \mathbf{C}: z \le F_K(z) for 0 < z < 1; and
\mbox{}\quad\bullet\quad\mbox{}For any \mathbf{C}: \mathrm{E}[Z] = 1 - \int_0^1 F_K(t)\,\mathrm{d}t \ge z (Nelsen, 2001, p. 281) — Z expectation, not F_K!
\mbox{}\quad\bullet\quad\mbox{}For any \mathbf{C}: \tau_\mathbf{C} = 3 - 4\int_0^1 F_K(t)\,\mathrm{d}t (Nelsen, 2006, p. 163; see tauCOP [Examples]).
\mbox{}\quad\bullet\quad\mbox{}For any \mathbf{C}: F_K(t) does not uniquely determine the copula.

The last item is from Durante and Sempi (2015, p. 118), and later discussion herein will concern an example of theirs. By coincidence within a few days before receipt of the Durante and Sempi book, experiments using kfuncCOP suggested that numerically the Galambos (GLcop), Gumbel–Hougaard (GHcop), and Hüsler–Reiss (HRcop) extreme value copulas for the same Kendall Tau (\tau_\mathbf{C}) all have the same F_K(t). Therefore, do all EV-copulas have the same Kendall Function? Well in fact, they do and Durante and Sempi (2015, p. 207) show that F_K(z) = z - (1 - \tau_\mathbf{C})z \log(z) for an EV-copula.

Joe (2014, p. 420) also indicates that strength of lower-tail dependence (taildepCOP) affects F_K(z) as z \rightarrow 0^{+}, whereas strength of upper-tail dependence affects F_K(z) as z \rightarrow 1^{-}. (A demonstration of tail dependence dependence is made in section Note.) Also compared to comonotonicity copula [\mathbf{M}] there are no countermonotonicity copula (\mathbf{W}_{d > 2}) for dimensions greater the bivariate (Joe, 2014, p. 214)

Joe (2014) does not explicitly list an expression of F_K(z) that is computable directly for any \mathbf{C}(u,v), and Nelsen (2006, p. 163) only lists a form (see later in documentation) for Archimedean copulas. Salvadori et al. (2007, eq. 3.47, p. 147) also list the Archimedean form; however, Salvadori et al. (2007, eq. 3.49, p. 148) also list a form computable directly for any \mathbf{C}(u,v). Considerable numerical experiments and derivations involving the \mathbf{\Pi}(u,v) copula and results for K_\mathbf{C}(z) shown later, indicate that the correct Kendall form for any \mathbf{C}(u,v) is

F_K(z) \equiv z + \int_z^1 \frac{\delta\mathbf{C}(u,t)}{\delta u}\,\mathrm{d}u\mbox{,}

where t = \mathbf{C}^{(-1)}(u,z) for 0 \le z \le 1, t can be computed by the COPinv function, and the partial derivative \delta\mathbf{C}(u,t)/\delta u can be computed by the derCOP function. It is a curiosity that this form is not in Joe (2014), Nelsen et al. (2001, 2003), or Nelsen (2006), but actually in Salvadori et al. (2007).

KENDALL MEASURE—The actual expression for any \mathbf{C}(u,v) by Salvadori et al. (2007, eq. 3.49, p. 148) is for Kendall Measure (K_\mathbf{C}) of a copula:

K_\mathbf{C}(z) = z - \int_z^1 \frac{\delta\mathbf{C}(u,t)}{\delta u}\,\mathrm{d}u\mbox{,}

where t = \mathbf{C}^{(-1)}(u,z) for 0 \le z \le 1. Those authors report that K_\mathbf{C}(z) is the CDF of a random variable Z whose distribution is \mathbf{C}(u,v). This is clearly appears to be the same meaning as Joe (2014) and Nelsen (2006). The minus “-” in the above equation is very important.

Salvadori et al. (2007, p. 148) report that “the function K_\mathbf{C}(z) represents a fundamental tool for calculating the return period of extreme events.” The complement of K_\mathbf{C}(z) is \overline{K}_\mathbf{C}(z) = 1 - K_\mathbf{C}(z), and the \overline{K}_\mathbf{C}(z) inverse

\frac{1}{1 - K_\mathbf{C}(z)} = \frac{1}{\overline{K}_\mathbf{C}(z)} = T_{\mathrm{KC}}

is referred to as a secondary return period (Salvadori et al., 2007, pp. 161–170).

KENDALL DISTRIBUTION FUNCTION—Nelsen (2006, p. 163) defines the Kendall Distribution Function (say K^\star_\mathbf{C}(t)) as

K^\star_\mathbf{C}(t) = t - \frac{\phi(t)}{\phi'(t^{+})}\mbox{,}

where \phi(t) is a generator function of an Archimedean copula and \phi'(t^{+}) is a one-sided derivative (Nelsen, 2006, p. 125), and \phi(t) is \phi(\mathbf{C}(u,v)) = \phi(u) + \phi(v). This same form is listed by Salvadori et al. (2007, eq. 3.47).

Nelsen (2006) does not seem to list a more general definition for any \mathbf{C}(u,v). Because there is considerable support for Archimedean copulas in R, copBasic has deliberately been kept from being yet another Archimedean-based package. This is made for more fundamental theory and pedogogic reasons without the algorithmic efficiency relative to the many convenient properties of Archimedean copulas.

The similarity of F_K(z), K_\mathbf{C}(z), and K^\star_\mathbf{C}(t), however, is obvious—research shows that there are no syntatic differences between F_K(z) and K_\mathbf{C}(t) and K^\star_\mathbf{C}(z)—they all are the CDF of the joint probability Z of the copula. Consider now that Salvadori et al. show K_\mathbf{C} having the form a - b and not a form a + b as previously shown for F_K(z). Which form is thus correct? The greater bulk of this documentation seeks to answer that question, and it must be concluded that Salvadori et al. (2007, eq. 3.49) definition for K_\mathbf{C}(z) has a typesetting error.

Usage

kfuncCOP(z, cop=NULL, para=NULL, wrtV=FALSE, as.sample=FALSE,
            verbose=FALSE, subdivisions=100L,
            rel.tol=.Machine$double.eps^0.25, abs.tol=rel.tol, ...)
kmeasCOP(z, cop=NULL, para=NULL, wrtV=FALSE, as.sample=FALSE,
            verbose=FALSE, subdivisions=100L,
            rel.tol=.Machine$double.eps^0.25, abs.tol=rel.tol, ...)

Arguments

z

The values for z;

cop

A copula function;

para

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

wrtV

A logical to toggle between with respect to v or u (default);

as.sample

A control on whether an optional R data.frame in para is used to compute the empirical \hat{F}_K(z). Let vector length of para be denoted m and i = (1,\ldots,m), if as.sample=TRUE, then for each of the probability pairs in para, the empirical copula (EMPIRcop) function with additional arguments ... is used to generate a vector (0, F^\sharp_{K,m}, 1) of length m+2, then a vector of (0, z^\sharp_m, 1) again of length m+2 where z^\sharp = (i-0.5)/m is created and linear interpolation by the approx() function in R for each of the z values in z is used to estimate \hat{F}_K(z) (see source code). If as.sample="genest", then the \hat{F}_K(z) is estimated without interpolation using a simple empirical copula basis and “pseudo-observations” after Genest et al. (2006, p. 339). The default \hat{F}_K (as.sample=TRUE) is the linear interpolation based on the default call of Weibull form of the empirical copula, but that can be confirmed by ctype="weibull" (see Note);

verbose

A logical supressing warnings from integrate() in R that are usually related to “integral divergence” for z \rightarrow 0^{+}. The constructed behavior of kfuncCOP is to return F_K(z \rightarrow 0^{+}) = 0 if numerical integration returns NULL, and such a construction is made to avoid “end points not of opposite sign” during F_K(z) inversion by kfuncCOPinv;

subdivisions

Argument of same name passed to integrate(),

rel.tol

Argument of same name passed to integrate(),

abs.tol

Argument of same name passed to integrate(), and

...

Additional arguments to pass.

Value

The value(s) for F_K(z) is returned.

Note

VALIDATION STUDY—A validation study using the Independence copula (\mathbf{\Pi =} uv; P) with theoretical results of Joe (2014) and empiricism is readily performed using the expression for F_K(z):

  Z <- sort(c(0.01, seq(0,1, by=0.05), 0.99))       # ** Joint probabilities **
  UV <- simCOP(n=4000, cop=P, graphics=FALSE);      kendF <- Z - Z*log(Z)
  emp.kendF  <- kfuncCOP(Z, para=UV, as.sample="genest") # emp. Kendall func
  theo.kendF <- kfuncCOP(Z, cop=P) # theo. Kendall func, numeric integration
  plot(Z, kendF, type="l", col=3, lwd=4, lty=2, xlim=c(0,1), ylim=c(0,1),
       xlab="COPULA(u,v) VALUE [JOINT PROBABILITY]",
       ylab="KENDALL FUNCTION, AS NONEXCEEDANCE PROBABILITY") # analytical
  points(Z,     kendF, col=3, lwd=1, lty=2, pch=16) # green (theo. values)
  points(Z, emp.kendF, col=4, lwd=2, cex=1.5)       # blue (empirical values)
  lines(Z, theo.kendF, col=2) # red (theoretical line by numerical integration)
  mtext("Kendall Functions: Independence Copula")

The figure so produced shows that the theoretical relation in Joe (2014) is correct because the empirical values from the simulated sample (Empirical Kendall Function; Nelsen et al., 2003) match other curves quite well. Rerunning the above code with either \mathbf{M} (M) or \mathbf{W} (W) copulas will show that the special cases listed above are consistent with the empirical estimates. The case of \mathbf{W}(u,v) is degenerate at z=0 so the empirical computation is in error for the smallest z given because of interpolation. The \mathbf{M} copula has F_K along the equal value line (1:1) line.

Now consider a more comprehensive demonstration using the N4212cop copula with some relatively weak dependence in \Theta = 1.17.

  Theta <- 1.17; print(rhoCOP(cop=N4212cop, para=Theta)) # Spearman Rho = 6/10
  Z <- sort(c(0.01, seq(0,1, by=0.05), 0.99))      # ** Joint probabilities **
  UV <- simCOP(n=16000,      cop=N4212cop,   para=Theta, graphics=TRUE)
  empir.kendF <- kfuncCOP(Z, as.sample=TRUE, para=UV, ctype="weibull")
  kwrtU       <- kfuncCOP(Z, cop=N4212cop,   para=Theta, wrtV=FALSE)
  kwrtV       <- kfuncCOP(Z, cop=N4212cop,   para=Theta, wrtV=TRUE )
  plot(Z, empir.kendF, type="p", col=2, lwd=7, lty=2, xlim=c(0,1),ylim=c(0,1),
       xlab="COPULA(u,v) VALUE [JOINT PROBABILITY]",
       ylab="KENDALL FUNCTION, AS NONEXCEEDANCE PROBABILITY")
  abline(0,1, lty=2, lwd=0.8); mtext("Kendall Functions: N4212(1.17) Copula")
  lines(Z, kwrtU, col=4, lwd=4, lty=2); lines(Z, kwrtV, col=3, lwd=1, lty=2)

The figure so produced again shows congruence between the two theoretical computations and the empirical curve. Now consider another comprehensive demonstration using the PLACKETTcop copula with some strong negative dependence in \Theta = 0.04.

  Theta <- 0.04
  Z <- sort(c(0.01, seq(0,1, by=0.05), 0.99))      # ** Joint probabilities **
  UV <- simCOP(n=2600,       cop=PLACKETTcop,   para=Theta, graphics=TRUE)
  empir.kendF <- kfuncCOP(Z, as.sample="hazen", para=UV)
  kwrtU       <- kfuncCOP(Z, cop=PLACKETTcop,   para=Theta, wrtV=FALSE)
  kwrtV       <- kfuncCOP(Z, cop=PLACKETTcop,   para=Theta, wrtV=TRUE )
  plot(Z, empir.kendF, type="p", col=2, lwd=7, lty=2, xlim=c(0,1),ylim=c(0,1),
       xlab="COPULA(u,v) VALUE [JOINT PROBABILITY]",
       ylab="KENDALL FUNCTION, AS NONEXCEEDANCE PROBABILITY")
  abline(0,1, lty=2, lwd=0.8); mtext("Kendall Function: Plackett Copula")
  lines(Z, kwrtU, col=4, lwd=4, lty=2); lines(Z, kwrtV, col=3, lwd=1, lty=2)

The figure so produced again shows congruence between the two theoretical computations and the empirical curve.

Another comparison of F_K(z) is useful and concerns lower- and upper-tail dependency parameters (taildepCOP) with a comparison of three different copula all having the same Kendall Tau. The following code computes and draws the respective F_K(z):

  # Given a Kendall Tau of 0.4 and the GHcop, N4212, and Plackett copulas
  # parameters respectively are:
  Phi <- 1.666667; Nu <- 1.111119; Mu <- 6.60344
  Z <- seq(0.005, 0.995, by=0.005) #  ** Joint probabilities **
  GHkenf    <- kfuncCOP(Z, cop=GHcop,       para=Phi, wrtV=FALSE)
  N4212kenf <- kfuncCOP(Z, cop=N4212cop,    para=Nu,  wrtV=FALSE)
  PLkenf    <- kfuncCOP(Z, cop=PLACKETTcop, para=Mu,  wrtV=FALSE)
  plot(qnorm(GHkenf), Z, type="l", col=1, lwd=2, xlim=c(-3,3), ylim=c(0,1),
       xlab="KENDALL FUNCTION, AS STANDARD NORMAL VARIATES",
       ylab="COPULA(u,v) VALUE, AS NONEXCEEDANCE PROBABILITY") # black curve
  lines(qnorm(N4212kenf), Z, col=2, lwd=2)                     # red   curve
  lines(qnorm(PLkenf),    Z, col=4, lwd=2)                     # blue  curve

The red curve for the \mathbf{N4212}(\Theta{=}1.1) copula (N4212cop) is higher on the left, which shows the impact of its larger lower-tail dependency (\lambda_\mathbf{GH}^L{=}0 < \lambda_\mathbf{N4212}^L{=}0.535), whereas the black curve for the \mathbf{GH}(\Theta{=}1.67) copula (GHcop) is similarly (about same magnitude) higher on the right, which shows the impact of its larger upper-tail dependency (\lambda_\mathbf{N4212}^L{=}0 < \lambda_\mathbf{GH}^U{=}0.484). The blue curve for the \mathbf{PL}(\Theta = 6.60) copula (PLACKETTcop) nearly overwrites on the left the \mathbf{GH} curve, which is a reflection of both copulae having zero lower-tail dependencies (\lambda_\mathbf{GH}^L = \lambda_\mathbf{PL}^L = 0). Finally, as anticipated by \lambda^U, the curve on the right for the \mathbf{N4212} is just slightly larger for the \mathbf{PL} because the \lambda_\mathrm{PL}^U{=}0 < \lambda_\mathbf{N4212}^U{=}0.134 (a small difference however), and again on the right, the \mathbf{N4212} curve is considerably smaller than the \mathbf{GH} because \lambda_\mathbf{N4212}^U{=}0 < \lambda_\mathbf{GH}^U{=}0.484.

Durante and Sempi (2015, p. 118) provide an example of two copula (\mathbf{C}_1 and \mathbf{C}_2) having the same F_K(z) = \mathrm{min}(2z, 1). Let us check that out:

  "C1" <- function(u,v, ...) {
      if (length(u) == 1) { u <- rep(u, length(v)) } else
      if (length(v) == 1) { v <- rep(v, length(u)) }
      sapply(1:length(u), function(i) {
            min(c(u[i], max(c(v[i]/2, u[i]+v[i]-1)))) })
  }
  "C2" <- function(u,v, ...) {
      if (length(u) == 1) { u <- rep(u, length(v)) } else
      if (length(v) == 1) { v <- rep(v, length(u)) }
      sapply(1:length(u), function(i) { g <- 1/2
       max(c(0, u[i]+v[i]-1, min(c(u[i], v[i]-g)), min(c(u[i]-g, v[i])))) })
  }
  DSkf <- function(t) sapply(t, function(z) min(c(2*z, 1)))
  zs <- seq(0,1, by=.01); plot(zs, DSkf(zs), col=2, cex=3) # red dots (theory)
  lines(zs, kfuncCOP(zs, cop=C1), lwd=4, col=7) # thick yellow line
  lines(zs, kfuncCOP(zs, cop=C2), lwd=1, col=1) # thin black line

The plot so produced shows indeed that the numerical operations by kfuncCOP solidly work on these two strictly singular copulas \mathbf{C}_1 and \mathbf{C}_2 that are different from the two singular \mathbf{M} and \mathbf{W} copulas. The F_K(z) curves exactly matching the theoretical curve provided by Durante and Sempi are produced.

CONVERSATIONAL ASIDE—Interestingly, Durante and Sempi (2015, pp. 115–121), like other authors of major works cited herein, do not list a general expression for the F_K(z) as a function of any \mathbf{C}(u,v). Those authors develop the idea of Kendall Function well and show results but for the author (Asquith) the jump based of Theorem 3.9.2 to an expression, such as shown above for F_K(z) based on \mathbf{C}(u,t)/\delta u, to an usable form for any \mathbf{C}(u,v) is difficult.

This is a fascinating topic because if the Kendall Function is a reasonably important component of copula theory, then why so much difficulty in finding a canonical reference? For this one piece, whereas so much of copBasic features are quite nomenclaturely clear in say Nelsen (2006) or Joe (2014) but somehow not for the Kendall Function.

Perhaps to the professional mathematicians, the descriptions (nomenclature) used in all but Salvadori et al. (2007) are clear to intended readers. But even Salvadori et al. seemingly show theirs in error—perhaps the author (Asquith) has missed something fundamental, but the validations shown in this documentation prove at least that kfuncCOP does what it is supposed to be doing but perhaps for the wrong reasoning. Lastly, Durante and Sempi have an error in their expression for Kendall Tau as a function of F_K(z) (see tauCOP).

SECONDARY RETURN PERIOD—As for “Kendall Measure” (after the lead of Salvadori et al. [2007, pp. 161–170]), the following code shows for purposes of discussing secondary return period that F_K(z) is correct and once and for all as defined in this documentation F_K(z) \not\equiv K_\mathbf{C}(z). The secondary return period (T_K) is the expected interarrival time between events exceeding a T-year joint probability either from U, from V, or both. Let us use the 100-year level (primary return period; T = 100), the Gumbel–Hougaard copula (GHcop) F^{\mathbf{GH}(3.055)}_K(z) where the choice of \Theta = 3.055 is made to match discussion in copBasic-package and Salvadori et al. (2007, table 3.3, p. 166).

  # Gumbel-Hougaard [Kendall Tau=0.67267 (Salvadori et al. [2007])]
  Tyear <- 100; ANEP <- 1-1/Tyear; nsim <- 30000; ix <- 1:nsim
  1/(1-kfuncCOP(ANEP, cop=GHcop, para=3.055)) # 148.28 years
  BarT <- sapply(1:20, function(i) {
                   UV <- simCOP(n=nsim, cop=GHcop, para=3.055, graphics=FALSE)
                   nsim/sum(GHcop(UV$U, UV$V, para=3.055) > ANEP) })
  message("# BarBarT=",               round(mean(BarT), digits=2),
          " years and StdDev(BarT)=", round(  sd(BarT), digits=2)," years")
  # BarBarT=149.61 years and StdDev(BarT)=11.12 years

The mean of 20 repeats of a large sample simulation run for F^\mathbf{GH}(\Theta{=}3.055)_K{(z{=}0.99)} demonstrates empirical results that closely approximate theory 149.61 \approx 148.28, and thus congruence is shown that the definition for F_K(z) must be correct and that for K_\mathbf{C}(z) is incorrect. The table 3.3 in Salvadori et al. (2007) lists the secondary return period as 148.3 years, which obviously matches the output of kfuncCOP and empirical results shown.

Some additional details on secondary return period from Salvadori et al. (2007). Letting t_\star be some critical joint exceedance probability level, \overline{F}_K(z) be the complement of F_K(z), those authors (p. 166) name super-critical events having \overline{F}_K(t_\star) < 1 - t_\star. Thus, the secondary return period (\overline{F}_K(t_\star)^{-1} = T_K) must be greater than the primary return period (t_\star^{-1}), which is the case here (T_K{=}148.3 > T{=}100) (Salvadori et al., 2007, p. 166).

Salvadori et al. (2007) provide considerable discussion of T_K and some highlights are:
\mbox{}\quad\bullet\quad\mbox{}(p. 162) events equally or exceeding probability F_K(1 - 1/t_\star) or having return intervals \ge T_K “represent [a] class of potentially dangerous events, the outliers, and [F_K can be used to] introduce an ad hoc return period for such destructive events.”
\mbox{}\quad\bullet\quad\mbox{}(p. 162) “primary return period [T] ... only takes into account the fact that a prescribed critical event is expected to appear once in a given time interval [T] ... \overline{F}_K(t_\star) provides the exact probability that a potentially destructive event will happen at any given realization of Z ... and T_K gives the expected time for such an outlier to occur.”
\mbox{}\quad\bullet\quad\mbox{}(p. 164) “[T] only predicts that a critical event is expected to appear once in a given time interval ... would be more important to be able to calculate (1) the probability that a super-critical [sic.] event will occur at any given realization of [Z], and (2) how long it takes, on average, for a super-critical event to appear.”
\mbox{}\quad\bullet\quad\mbox{}(p. 164) “the function \overline{F}_K turns the difficult analysis of bivariate dynamics of X and Y into a simpler one-dimensional problem.”

Author(s)

W.H. Asquith

Source

The comprehensive demonstrations are shown in the Note because of a sign convention and (or) probability convention incompatibility with the equation shown by Salvadori et al. (2007, p. 148). Initial source code development for copBasic was based on an hypothesis that the terms the “Kendall Function” and “Kendall Measure” might somehow have separate meanings—that the author must be blamed for misunderstanding the requisite nomenclature—this is evidently not true.

The K_\mathbf{C}(z) as shown herein simply can not reproduce F_K(z; \mathbf{\Pi}) = z - z\log z for the \mathbf{\Pi} copula unless the “-” sign in the K_\mathbf{C}(z) equation is changed to a “+” to become the F_K(z) definition as shown. The detective work needed for a valid function kmeasCOP was further complicated by fact that neither Durante and Sempi (2015), Joe (2014), Nelsen (2006), and others do not actually present a general equation for F_K(z) computation for any \mathbf{C}(u,v).

Because of the subtle differences evidently between “Kendall functions” (lower case), an explict derivation for F_K(z; \mathbf{\Pi}) is informative to confirm what is meant by the Kendall Function as defined by F_K(z). Starting with z = \mathbf{\Pi}(u,v) = uv, then

v(z) = t = \mathbf{\Pi}^{(-1)}(u, z) = z/u\mbox{,\ and}

\frac{\delta}{\delta u} \mathbf{\Pi}(u,t) = \frac{\delta }{\delta u} u\,v \rightarrow v = \frac{z}{u}\mbox{,}

substitution can now proceed:

F_K(z; \mathbf{\Pi}) = z + \int_z^1 \frac{\delta}{\delta u}\mathbf{\Pi}(u,t)\,\mathrm{d}u\, = z + \int_z^1 \frac{z}{u}\,\mathrm{d}u{,}

which simplfies to

F_K(z; \mathbf{\Pi}) = z + [z\log(u)]\bigg|^1_z = z + z[\log(1) - \log(z)] = z - z\log z\mbox{,}

which matches the special case shown by Joe (2014) for the independence copula (\mathbf{\Pi}; P). It is obvious thus that the “+” is needed in the F_K(z) definition in order to stay consistent with the basic form and integration limits shown by Salvadori et al. (2007) for K_\mathbf{C}(z).

References

Durante, F., and Sempi, C., 2015, Principles of copula theory: Boca Raton, CRC Press, 315 p.

Genest, C., Quessy, J.F., Rémillard, B., 2006, Goodness-of-fit procedures for copula models based on the probability integral transformation: Scandinavian Journal of Statistics, v. 33, no. 2, pp. 337–366.

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.

Nelsen, R.B., Quesada-Molina, J.J., Rodríguez-Lallena, J.A., Úbeda-Flores, M., 2001, Distribution functions of copulas—A class of bivariate probability integral transforms: Statistics and Probability Letters, v. 54, no. 3, pp. 277–282.

Nelsen, R.B., Quesada-Molina, J.J., Rodríguez-Lallena, J.A., Úbeda-Flores, M., 2003, Kendall distribution functions: Statistics and Probability Letters, v. 65, no. 3, pp. 263–268.

Salvadori, G., De Michele, C., Kottegoda, N.T., and Rosso, R., 2007, Extremes in nature—An approach using copulas: Dordrecht, Netherlands, Springer, Water Science and Technology Library 56, 292 p.

See Also

kfuncCOPinv, tauCOP, derCOP, derCOP2, derCOPinv, derCOPinv2

Examples

## Not run: 
# Salvadori et al. (2007, p. 148, fig. 3.5 [right])
zs <- c(0.0001, seq(0.01, 1, by=0.01), 0.9999)
plot(zs, kmeasCOP(zs, cop=GHcop, para=5), log="y", type="l", lwd=4,
     xlab="Z <= z", ylab="Kendall Function", xlim=c(0,1), ylim=c(0.001,1)) #
## End(Not run)

wasquith/copBasic documentation built on March 10, 2024, 11:24 a.m.