kfuncCOP {copBasic}R 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 (FKF_K) (Joe, 2014, pp. 419–422) is the cumulative distribution function (CDF) of the vector U=(U1,U2,)\mathbf{U} = (U_1, U_2, \ldots) or U=(u,v)\mathbf{U} = (u,v) (bivariate) where U\mathbf{U} is distributed as the copula: UC(u,v)\mathbf{U} \sim \mathbf{C}(u,v). Letting ZZ be the random variable for C(u,v):Z=C(u,v)\mathbf{C}(u,v): Z = \mathbf{C}(u,v), the Kendall Function is defined as

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

where FKF_K is the nonexceedance probability of the joint probability zz stemming from the C\mathbf{C}. Note, unlike its univariate counterpart, FK(z)F_K(z) is rarely uniformly distributed (Nelsen et al., 2001, p. 278). The inverse FK(1)(z)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 ZZ is the joint probability and FK(z)F_K(z) is the Kendall Function.

Joe (2014) and others as cited list various special cases of FK(z)F_K(z), inequalities, and some useful identities suitable for validation study:
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For M(u,v)\mathbf{M}(u,v) (see M): FK(z)=zF_K(z) = z for all 0<z<10 < z < 1 for all d2d \ge 2 dimensions;
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For W(u,v)\mathbf{W}(u,v) (see W): FK(z)=1F_K(z) = 1 for all 0<z<10 < z < 1 for d=2d = 2 (bivariate only);
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For Π(u,v)\mathbf{\Pi}(u,v) (see P): FK(z)=zzlogzF_K(z) = z - z \log z for 0<z<10 < z < 1 for d=2d = 2 (bivariate only);
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For any C\mathbf{C}: zFK(z)z \le F_K(z) for 0<z<10 < z < 1; and
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For any C\mathbf{C}: E[Z]=101FK(t)dtz\mathrm{E}[Z] = 1 - \int_0^1 F_K(t)\,\mathrm{d}t \ge z (Nelsen, 2001, p. 281) — Z expectation, not FKF_K!
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For any C\mathbf{C}: τC=3401FK(t)dt\tau_\mathbf{C} = 3 - 4\int_0^1 F_K(t)\,\mathrm{d}t (Nelsen, 2006, p. 163; see tauCOP [Examples]).
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}For any C\mathbf{C}: FK(t)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 (τC\tau_\mathbf{C}) all have the same FK(t)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 FK(z)=z(1τC)zlog(z)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 FK(z)F_K(z) as z0+z \rightarrow 0^{+}, whereas strength of upper-tail dependence affects FK(z)F_K(z) as z1z \rightarrow 1^{-}. (A demonstration of tail dependence dependence is made in section Note.) Also compared to comonotonicity copula [M\mathbf{M}] there are no countermonotonicity copula (Wd>2\mathbf{W}_{d > 2}) for dimensions greater the bivariate (Joe, 2014, p. 214)

Joe (2014) does not explicitly list an expression of FK(z)F_K(z) that is computable directly for any C(u,v)\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 C(u,v)\mathbf{C}(u,v). Considerable numerical experiments and derivations involving the Π(u,v)\mathbf{\Pi}(u,v) copula and results for KC(z)K_\mathbf{C}(z) shown later, indicate that the correct Kendall form for any C(u,v)\mathbf{C}(u,v) is

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

where t=C(1)(u,z)t = \mathbf{C}^{(-1)}(u,z) for 0z10 \le z \le 1, tt can be computed by the COPinv function, and the partial derivative δC(u,t)/δu\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 C(u,v)\mathbf{C}(u,v) by Salvadori et al. (2007, eq. 3.49, p. 148) is for Kendall Measure (KCK_\mathbf{C}) of a copula:

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

where t=C(1)(u,z)t = \mathbf{C}^{(-1)}(u,z) for 0z10 \le z \le 1. Those authors report that KC(z)K_\mathbf{C}(z) is the CDF of a random variable ZZ whose distribution is C(u,v)\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 KC(z)K_\mathbf{C}(z) represents a fundamental tool for calculating the return period of extreme events.” The complement of KC(z)K_\mathbf{C}(z) is KC(z)=1KC(z)\overline{K}_\mathbf{C}(z) = 1 - K_\mathbf{C}(z), and the KC(z)\overline{K}_\mathbf{C}(z) inverse

11KC(z)=1KC(z)=TKC\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 KC(t)K^\star_\mathbf{C}(t)) as

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

where ϕ(t)\phi(t) is a generator function of an Archimedean copula and ϕ(t+)\phi'(t^{+}) is a one-sided derivative (Nelsen, 2006, p. 125), and ϕ(t)\phi(t) is ϕ(C(u,v))=ϕ(u)+ϕ(v)\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 C(u,v)\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 FK(z)F_K(z), KC(z)K_\mathbf{C}(z), and KC(t)K^\star_\mathbf{C}(t), however, is obvious—research shows that there are no syntatic differences between FK(z)F_K(z) and KC(t)K_\mathbf{C}(t) and KC(z)K^\star_\mathbf{C}(z)—they all are the CDF of the joint probability ZZ of the copula. Consider now that Salvadori et al. show KCK_\mathbf{C} having the form aba - b and not a form a+ba + b as previously shown for FK(z)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 KC(z)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 zz;

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 vv or uu (default);

as.sample

A control on whether an optional R data.frame in para is used to compute the empirical F^K(z)\hat{F}_K(z). Let vector length of para be denoted mm and i=(1,,m)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,FK,m,1)(0, F^\sharp_{K,m}, 1) of length m+2m+2, then a vector of (0,zm,1)(0, z^\sharp_m, 1) again of length m+2m+2 where z=(i0.5)/mz^\sharp = (i-0.5)/m is created and linear interpolation by the approx() function in R for each of the zz values in z is used to estimate F^K(z)\hat{F}_K(z) (see source code). If as.sample="genest", then the F^K(z)\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 F^K\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 z0+z \rightarrow 0^{+}. The constructed behavior of kfuncCOP is to return FK(z0+)=0F_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 FK(z)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 FK(z)F_K(z) is returned.

Note

VALIDATION STUDY—A validation study using the Independence copula (Π=\mathbf{\Pi =} uvuv; P) with theoretical results of Joe (2014) and empiricism is readily performed using the expression for FK(z)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 M\mathbf{M} (M) or W\mathbf{W} (W) copulas will show that the special cases listed above are consistent with the empirical estimates. The case of W(u,v)\mathbf{W}(u,v) is degenerate at z=0z=0 so the empirical computation is in error for the smallest zz given because of interpolation. The M\mathbf{M} copula has FKF_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 Θ=1.17\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 Θ=0.04\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 FK(z)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 FK(z)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 N4212(Θ=1.1)\mathbf{N4212}(\Theta{=}1.1) copula (N4212cop) is higher on the left, which shows the impact of its larger lower-tail dependency (λGHL=0<λN4212L=0.535\lambda_\mathbf{GH}^L{=}0 < \lambda_\mathbf{N4212}^L{=}0.535), whereas the black curve for the GH(Θ=1.67)\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 (λN4212L=0<λGHU=0.484\lambda_\mathbf{N4212}^L{=}0 < \lambda_\mathbf{GH}^U{=}0.484). The blue curve for the PL(Θ=6.60)\mathbf{PL}(\Theta = 6.60) copula (PLACKETTcop) nearly overwrites on the left the GH\mathbf{GH} curve, which is a reflection of both copulae having zero lower-tail dependencies (λGHL=λPLL=0\lambda_\mathbf{GH}^L = \lambda_\mathbf{PL}^L = 0). Finally, as anticipated by λU\lambda^U, the curve on the right for the N4212\mathbf{N4212} is just slightly larger for the PL\mathbf{PL} because the λPLU=0<λN4212U=0.134\lambda_\mathrm{PL}^U{=}0 < \lambda_\mathbf{N4212}^U{=}0.134 (a small difference however), and again on the right, the N4212\mathbf{N4212} curve is considerably smaller than the GH\mathbf{GH} because λN4212U=0<λGHU=0.484\lambda_\mathbf{N4212}^U{=}0 < \lambda_\mathbf{GH}^U{=}0.484.

Durante and Sempi (2015, p. 118) provide an example of two copula (C1\mathbf{C}_1 and C2\mathbf{C}_2) having the same FK(z)=min(2z,1)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 C1\mathbf{C}_1 and C2\mathbf{C}_2 that are different from the two singular M\mathbf{M} and W\mathbf{W} copulas. The FK(z)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 FK(z)F_K(z) as a function of any C(u,v)\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 FK(z)F_K(z) based on C(u,t)/δu\mathbf{C}(u,t)/\delta u, to an usable form for any C(u,v)\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 FK(z)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 FK(z)F_K(z) is correct and once and for all as defined in this documentation FK(z)≢KC(z)F_K(z) \not\equiv K_\mathbf{C}(z). The secondary return period (TKT_K) is the expected interarrival time between events exceeding a TT-year joint probability either from UU, from VV, or both. Let us use the 100-year level (primary return period; T=100T = 100), the Gumbel–Hougaard copula (GHcop) FKGH(3.055)(z)F^{\mathbf{GH}(3.055)}_K(z) where the choice of Θ=3.055\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 FGH(Θ=3.055)K(z=0.99)F^\mathbf{GH}(\Theta{=}3.055)_K{(z{=}0.99)} demonstrates empirical results that closely approximate theory 149.61148.28149.61 \approx 148.28, and thus congruence is shown that the definition for FK(z)F_K(z) must be correct and that for KC(z)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 tt_\star be some critical joint exceedance probability level, FK(z)\overline{F}_K(z) be the complement of FK(z)F_K(z), those authors (p. 166) name super-critical events having FK(t)<1t\overline{F}_K(t_\star) < 1 - t_\star. Thus, the secondary return period (FK(t)1=TK\overline{F}_K(t_\star)^{-1} = T_K) must be greater than the primary return period (t1t_\star^{-1}), which is the case here (TK=148.3>T=100T_K{=}148.3 > T{=}100) (Salvadori et al., 2007, p. 166).

Salvadori et al. (2007) provide considerable discussion of TKT_K and some highlights are:
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}(p. 162) events equally or exceeding probability FK(11/t)F_K(1 - 1/t_\star) or having return intervals TK\ge T_K “represent [a] class of potentially dangerous events, the outliers, and [FKF_K can be used to] introduce an ad hoc return period for such destructive events.”
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}(p. 162) “primary return period [TT] ... only takes into account the fact that a prescribed critical event is expected to appear once in a given time interval [TT] ... FK(t)\overline{F}_K(t_\star) provides the exact probability that a potentially destructive event will happen at any given realization of ZZ ... and TKT_K gives the expected time for such an outlier to occur.”
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}(p. 164) “[TT] 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 [ZZ], and (2) how long it takes, on average, for a super-critical event to appear.”
\mbox\mbox\mbox{}\quad\bullet\quad\mbox{}(p. 164) “the function FK\overline{F}_K turns the difficult analysis of bivariate dynamics of XX and YY 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 KC(z)K_\mathbf{C}(z) as shown herein simply can not reproduce FK(z;Π)=zzlogzF_K(z; \mathbf{\Pi}) = z - z\log z for the Π\mathbf{\Pi} copula unless the “-” sign in the KC(z)K_\mathbf{C}(z) equation is changed to a “++” to become the FK(z)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 FK(z)F_K(z) computation for any C(u,v)\mathbf{C}(u,v).

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

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

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

substitution can now proceed:

FK(z;Π)=z+z1δδuΠ(u,t)du=z+z1zudu,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

FK(z;Π)=z+[zlog(u)]z1=z+z[log(1)log(z)]=zzlogz\mbox,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 FK(z)F_K(z) definition in order to stay consistent with the basic form and integration limits shown by Salvadori et al. (2007) for KC(z)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)

[Package copBasic version 2.2.4 Index]