Categories &

Functions List

Function Reference: copulastat

statistics: r = copulastat (family, param)
statistics: r = copulastat (…, "type", type)

Rank correlation for a copula family.

r = copulastat (family, param) returns Kendall’s rank correlation r corresponding to a copula of the family family with linear or copula parameter param.

family is the copula family name. It can be "Gaussian" for the Gaussian family, "t" for the Student’s t family, "Clayton" for the Clayton family, "Gumbel" for the Gumbel-Hougaard family, "Frank" for the Frank family, "AMH" for the Ali-Mikhail-Haq family, or "FGM" for the Farlie-Gumbel-Morgenstern family. The last two are Octave extensions that MATLAB does not provide, and are treated as bivariate. Neither reaches the whole range of either rank correlation: the Ali-Mikhail-Haq family covers a Kendall’s tau in [(5-8*log (2))/3, 1/3] and the Farlie-Gumbel-Morgenstern family one in [-2/9, 2/9].

For the Gaussian and Student’s t families, param is a linear correlation coefficient rho in the range [-1,1], or a p-by-p correlation matrix, in which case r has the same size and each element is computed elementwise. For the Clayton, Gumbel-Hougaard, and Frank families, param is the scalar copula parameter.

r = copulastat (…, "type", type) selects the measure of rank correlation. type can be "Kendall" (the default) for Kendall’s tau, or "Spearman" for Spearman’s rho.

The relationships are closed form for the Gaussian and Student’s t families (r = 2 \arcsin(\rho) / \pi for Kendall’s tau and r = 6 \arcsin(\rho/2) / \pi for Spearman’s rho) and for the Kendall’s tau of the Archimedean families. Spearman’s rho of the Archimedean families has no closed form and is computed by accurate numerical integration of the copula.

Note: MATLAB returns the Archimedean Spearman’s rho by interpolating an internal precomputed table, whose values deviate from the true relationship by up to about 10^{-4}. This implementation returns the mathematically exact value instead, so results for copulastat (family, param, "type", "Spearman") with an Archimedean family may differ from MATLAB at that level.

See also: copulaparam, copulafit, copulacdf, copulapdf, copularnd

Source Code: copulastat

Kendall's tau and Spearman's rho of a Gaussian copula with correlation 0.5

 tau = copulastat ("Gaussian", 0.5)
tau = 0.3333
 rho = copulastat ("Gaussian", 0.5, "type", "Spearman")
rho = 0.4826

Kendall's tau of a Clayton copula as its parameter grows

 alpha = [0.5, 1, 2, 5];
 tau = arrayfun (@(a) copulastat ("Clayton", a), alpha)
tau =

   0.2000   0.3333   0.5000   0.7143