Learn R Programming

copBasic (version 1.7.1)

giniCOP: The Gini's Gamma of a Copula

Description

Compute the measure of association known as Gini's Gamma $\gamma_\mathbf{C}$ (Nelsen, 2006, pp. 180--182), which is defined as $$\gamma_\mathbf{C} = Q(\mathbf{C},\mathbf{M}) + Q(\mathbf{C},\mathbf{W})\mbox{,}$$

where $\mathbf{C}(u,v)$ is the copula, $\mathbf{M}(u,v)$ is the M function, and $\mathbf{W}(u,v)$ is the W function. The function $Q(a,b)$ is a concordance function (Nelsen, 2006, p. 158), which is implemented by a specially formed call to tauCOP. Nelsen also reports that Gini's Gamma measures a concordance relation of distance between $\mathbf{C}(u,v)$ and monotone dependence, as represented by the copulas $\mathbf{M}(u,v)$ and $\mathbf{W}(u,v)$.

A simpler method of computation and the default for giniCOP is to compute Gini's $\gamma_\mathbf{C}$ by

$$\gamma_\mathbf{C} = 4\biggl[\int_\mathcal{I} \mathbf{C}(u,u)\,\mathrm{d}u + \int_\mathcal{I} \mathbf{C}(u,1-u)\,\mathrm{d}u\biggr] - 2\mbox{,}$$ or in terms of the primary $\delta(t)$ and secondary $\delta^\star(t)$ diagonals (see diagCOP) by $$\gamma_\mathbf{C} = 4\biggl[\int_\mathcal{I} \mathbf{\delta}(t)\,\mathrm{d}t + \int_\mathcal{I} \mathbf{\delta^\star }(t)\,\mathrm{d}t\biggr] - 2\mbox{.}$$

This simpler method is more readily implemented because the single unnested integration are readily deployed (and fast) and accommodated using the integrate() function of R. The $\gamma_\mathbf{C}$ is based on integration of the primary diagonal and the secondary diagonal of the copula (see diagCOP).

Usage

giniCOP(cop=NULL, para=NULL, by.concordance=FALSE, ...)

Arguments

cop
A copula function;
para
Vector of parameters or other data structure, if needed, to pass to the copula;
by.concordance
Instead of using the single integrals (Nelsen, 2006, pp. 181--182) to compute $\gamma_\mathbf{C}$, use the concordance function method implemented through tauCOP; and
...
Additional arguments to pass, which are dispatched to the copula function cop and possibly tauCOP if by.concordance=TRUE, such as delta used by that function.

Value

  • The value for $\gamma_\mathbf{C}$ is returned.

References

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

See Also

blomCOP, rhoCOP, tauCOP

Examples

Run this code
giniCOP(cop=PSP)
giniCOP(cop=PSP, by.concordance=TRUE)
n <- 9000; set.seed(56)
para <- list(cop1=PLACKETTcop, cop2=PLACKETTcop, para1=1.45, para2=21.9,
             alpha=0.41, beta=0.08)
D <- simCOP(n=n, cop=composite2COP, para=para, cex=0.5, col=rgb(0,0,0,0.2), pch=16)
tauCOP(cop=composite2COP, para=para)  # 0.3806909
cor(D$U, D$V, method="kendall")       # 0.3789918
blomCOP(cop=composite2COP, para=para) # 0.4037908
giniCOP(cop=composite2COP, para=para) # 0.4334687
GINI <- sum(abs(rank(D$U)+rank(D$V)-n-1)) - sum(abs(rank(D$U)-rank(D$V)))
print(GINI/as.integer(n^2/2))         # 0.4287894
rhoCOP(cop=composite2COP, para=para)  # 0.5257662
cor(D$U, D$V, method="spearman")      # 0.5236753
lmomco::lcomoms2(D)$T2      # 1.0000000 0.5239816
                            # 0.5251972 1.0000000

Run the code above in your browser using DataLab