Kendall rank correlation coefficient#Tau-c

{{short description|Statistic for rank correlation}}

{{Redirect|Tau-a|the astronomical radio source|Taurus A}}

{{redirect-distinguish|Tau coefficient|Tau distribution}}

In statistics, the Kendall rank correlation coefficient, commonly referred to as Kendall's τ coefficient (after the Greek letter τ, tau), is a statistic used to measure the ordinal association between two measured quantities. A τ test is a non-parametric hypothesis test for statistical dependence based on the τ coefficient. It is a measure of rank correlation: the similarity of the orderings of the data when ranked by each of the quantities. It is named after Maurice Kendall, who developed it in 1938,{{cite journal

|last=Kendall |first=M. G.

|year=1938

|title=A New Measure of Rank Correlation

|journal=Biometrika

|volume=30 |issue=1–2 |pages=81–89

|doi=10.1093/biomet/30.1-2.81

|jstor = 2332226}} though Gustav Fechner had proposed a similar measure in the context of time series in 1897.{{cite journal

|last=Kruskal |first=W. H. |author-link=William Kruskal

|year=1958

|title=Ordinal Measures of Association

|journal=Journal of the American Statistical Association

|volume=53 |issue=284 |pages=814–861

|mr=100941 | jstor = 2281954

|doi=10.2307/2281954

}}

Intuitively, the Kendall correlation between two variables will be high when observations have a similar (or identical for a correlation of 1) rank (i.e. relative position label of the observations within the variable: 1st, 2nd, 3rd, etc.) between the two variables, and low when observations have a dissimilar (or fully different for a correlation of −1) rank between the two variables.

Both Kendall's \tau and Spearman's \rho can be formulated as special cases of a more general correlation coefficient. Its notions of concordance and discordance also appear in other areas of statistics, like the Rand index in cluster analysis.

Definition

File:Concordant Points Kendall Correlation.svg

Let (x_1,y_1), ..., (x_n,y_n) be a set of observations of the joint random variables X and Y, such that all the values of (x_i) and (y_i) are unique. (See the section #Accounting for ties for ways of handling non-unique values.) Any pair of observations (x_i,y_i) and (x_j,y_j), where i < j, are said to be concordant if the sort order of (x_i,x_j) and (y_i,y_j) agrees: that is, if either both x_i>x_j and y_i>y_j holds or both x_i and y_i; otherwise they are said to be discordant.

In the absence of ties, the Kendall τ coefficient is defined as:

: \tau = \frac{(\text{number of concordant pairs}) - (\text{number of discordant pairs})}{

(\text{number of pairs}) } = 1- \frac{2 (\text{number of discordant pairs})}{

{n \choose 2} } .{{SpringerEOM |title=Kendall tau metric |id=K/k130020 |first=R.B. |last=Nelsen}}

for i < j < n where {n \choose 2} = {n (n-1) \over 2} is the binomial coefficient for the number of ways to choose two items from n items.

The number of discordant pairs is equal to the inversion number that permutes the y-sequence into the same order as the x-sequence.

=Properties=

The denominator is the total number of pair combinations, so the coefficient must be in the range −1 ≤ τ ≤ 1.

  • If the agreement between the two rankings is perfect (i.e., the two rankings are the same) the coefficient has value 1.
  • If the disagreement between the two rankings is perfect (i.e., one ranking is the reverse of the other) the coefficient has value −1.
  • If X and Y are independent random variables and not constant, then the expectation of the coefficient is zero.
  • An explicit expression for Kendall's rank coefficient is \tau= \frac{2}{n(n-1)}\sum_{i.

Hypothesis test

The Kendall rank coefficient is often used as a test statistic in a statistical hypothesis test to establish whether two variables may be regarded as statistically dependent. This test is non-parametric, as it does not rely on any assumptions on the distributions of X or Y or the distribution of (X,Y).

Under the null hypothesis of independence of X and Y, the sampling distribution of τ has an expected value of zero. The precise distribution cannot be characterized in terms of common distributions, but may be calculated exactly for small samples; for larger samples, it is common to use an approximation to the normal distribution, with mean zero and variance 2(2n+5)/9n (n-1).{{SpringerEOM |title=Kendall coefficient of rank correlation |id=K/k055200 |first=A.V. |last=Prokhorov}}

Theorem. If the samples are independent, then the variance of \tau_A is given by Var[\tau_A] = 2(2n+5)/9n (n-1).

{{hidden begin|style=width:100%|ta1=center|border=1px #aaa solid|title=Proof}}

{{Math proof|title=Proof
Valz & McLeod (1990;{{Cite journal |last1=Valz |first1=Paul D. |last2=McLeod |first2=A. Ian |date=February 1990 |title=A Simplified Derivation of the Variance of Kendall's Rank Correlation Coefficient |url=http://www.tandfonline.com/doi/abs/10.1080/00031305.1990.10475691 |journal=The American Statistician |language=en |volume=44 |issue=1 |pages=39–40 |doi=10.1080/00031305.1990.10475691 |issn=0003-1305}} 1995{{Cite journal |last1=Valz |first1=Paul D. |last2=McLeod |first2=A. Ian |last3=Thompson |first3=Mary E. |date=February 1995 |title=Cumulant Generating Function and Tail Probability Approximations for Kendall's Score with Tied Rankings |journal=The Annals of Statistics |volume=23 |issue=1 |pages=144–160 |doi=10.1214/aos/1176324460 |issn=0090-5364 |doi-access=free}})|proof=

WLOG, we reorder the data pairs, so that x_1 < x_2 < \cdots < x_n. By assumption of independence, the order of y_1, ..., y_n is a permutation sampled uniformly at random from S_n, the permutation group on 1:n.

For each permutation, its unique l inversion code is l_0l_1\cdots l_{n-1} such that each l_i is in the range 0:i. Sampling a permutation uniformly is equivalent to sampling a l-inversion code uniformly, which is equivalent to sampling each l_i uniformly and independently.

Then we have \begin{aligned}

E[\tau_A^2] &= E\left[\left(1-\frac{4\sum_i l_i}{n(n-1)}\right)^2\right] \\

&= 1 - \frac{8}{n(n-1)}\sum_i E[l_i] + \frac{16}{n^2(n-1)^2}\sum_{ij} E[l_il_j] \\

&= 1 - \frac{8}{n(n-1)}\sum_i E[l_i] + \frac{16}{n^2(n-1)^2} \left(\sum_{ij} E[l_i]E[l_j] + \sum_i V[l_i] \right) \\

&= 1 - \frac{8}{n(n-1)}\sum_i E[l_i] +\frac{16}{n^2(n-1)^2} \sum_{ij} E[l_i]E[l_j] + \frac{16}{n^2(n-1)^2} \left( \sum_i V[l_i] \right) \\

&=\left(1-\frac{4\sum_i E[l_i]}{n(n-1)}\right)^2 + \frac{16}{n^2(n-1)^2} \left( \sum_i V[l_i] \right)

\end{aligned}

The first term is just E[\tau_A]^2 = 0. The second term can be calculated by noting that l_i is a uniform random variable on 0:i, so E[l_i] = \frac i2 and E[l_i^2] = \frac{0^2+\cdots + i^2}{i+1} = \frac{i(2i+1)}6, then using the sum of squares formula again.

}}

{{hidden end}}

{{Math theorem

| name = Asymptotic normality

| note =

| math_statement = At the n\to \infty limit, z_A = \frac{\tau_A}{\sqrt{Var[\tau_A]}} = {n_C - n_D \over \sqrt{n(n-1)(2n+5)/18} } converges in distribution to the standard normal distribution.

}}

{{Math proof|title=Proof|proof=

Use a result from A class of statistics with asymptotically normal distribution Hoeffding (1948).{{Citation |last=Hoeffding |first=Wassily |title=A Class of Statistics with Asymptotically Normal Distribution |date=1992 |work=Breakthroughs in Statistics: Foundations and Basic Theory |pages=308–334 |editor-last=Kotz |editor-first=Samuel |url=https://doi.org/10.1007/978-1-4612-0919-5_20 |access-date=2024-01-19 |series=Springer Series in Statistics |place=New York, NY |publisher=Springer |language=en |doi=10.1007/978-1-4612-0919-5_20 |isbn=978-1-4612-0919-5 |editor2-last=Johnson |editor2-first=Norman L.}}

}}

Case of standard normal distributions

If (x_1, y_1), (x_2, y_2), ..., (x_n, y_n) are IID samples from the same jointly normal distribution with a known Pearson correlation coefficient r, then the expectation of Kendall rank correlation has a closed-form formula.{{Cite journal |last=Kendall |first=M. G. |date=1949 |title=Rank and Product-Moment Correlation |url=https://www.jstor.org/stable/2332540 |journal=Biometrika |volume=36 |issue=1/2 |pages=177–193 |doi=10.2307/2332540 |jstor=2332540 |pmid=18132091 |issn=0006-3444}}

{{Math theorem|name=Greiner's equality|note=|math_statement=

If X, Y are jointly normal, with correlation r, then r = \sin{\left(\frac\pi 2 E[\tau_A]\right)}

}}The name is credited to Richard Greiner (1909)Richard Greiner, (1909), Ueber das Fehlersystem der Kollektiv-maßlehre, Zeitschrift für Mathematik und Physik, Band 57, B. G. Teubner, Leipzig, pages 121-158, 225-260, 337-373. by P. A. P. Moran.{{Cite journal |last=Moran |first=P. A. P. |date=1948 |title=Rank Correlation and Product-Moment Correlation |url=https://www.jstor.org/stable/2332641 |journal=Biometrika |volume=35 |issue=1/2 |pages=203–206 |doi=10.2307/2332641 |jstor=2332641 |pmid=18867425 |issn=0006-3444}}{{hidden begin|style=width:100%|ta1=center|border=1px #aaa solid|title=Proof}}

{{Math proof|title=Proof{{Cite journal |last=Berger |first=Daniel |date=2016 |title=A Proof of Greiner's Equality |url=https://www.ssrn.com/abstract=2830471 |journal=SSRN Electronic Journal |language=en |doi=10.2139/ssrn.2830471 |issn=1556-5068}}|proof=

Define the following quantities.

  • A^+ := \{(\Delta x, \Delta y) : \Delta x \Delta y > 0\}
  • \Delta_{i,j} := (x_i - x_j , y_i - y_j) is a point in \R^2.

In the notation, we see that the number of concordant pairs, n_C, is equal to the number of \Delta_{i, j} that fall in the subset A^+. That is, n_C = \sum_{1 \leq i < j \leq n} 1_{\Delta_{i,j} \in A^+} .

Thus, E[\tau_A] = \frac{4}{n(n-1)}E[n_C] - 1 = \frac{4}{n(n-1)}\sum_{1 \leq i < j \leq n} Pr(\Delta_{i,j} \in A^+) - 1

Since each (x_i, y_i) is an IID sample of the jointly normal distribution, the pairing does not matter, so each term in the summation is exactly the same, and so E[\tau_A] = 2 Pr(\Delta_{1,2} \in A^+) - 1 and it remains to calculate the probability. We perform this by repeated affine transforms.

First normalize X, Y by subtracting the mean and dividing the standard deviation. This does not change \tau_A. This gives us

\begin{bmatrix} x \\ y \end{bmatrix}

=\begin{bmatrix} 1 & r \\ r & 1 \end{bmatrix}^{1/2}

\begin{bmatrix} z \\ w \end{bmatrix}

where (Z, W) is sampled from the standard normal distribution on \R^2.

Thus, \Delta_{1,2} = \sqrt 2\begin{bmatrix} 1 & r \\ r & 1 \end{bmatrix}^{1/2}

\begin{bmatrix} (z_1-z_2)/\sqrt{2} \\ (w_1-w_2)/\sqrt{2} \end{bmatrix} where the vector \begin{bmatrix} (z_1-z_2)/\sqrt{2} \\ (w_1-w_2)/\sqrt{2} \end{bmatrix} is still distributed as the standard normal distribution on \R^2. It remains to perform some unenlightening tedious matrix exponentiations and trigonometry, which can be skipped over.

Thus, \Delta_{1,2} \in A^+ iff \begin{bmatrix} (z_1-z_2)/\sqrt{2} \\ (w_1-w_2)/\sqrt{2} \end{bmatrix} \in \frac{1}{\sqrt 2}\begin{bmatrix} 1 & r \\ r & 1 \end{bmatrix}^{-1/2} A^+ = \frac{1}{2\sqrt 2}

\begin{bmatrix}

\frac{1}{\sqrt{1+r}}+ \frac{1}{\sqrt{1-r}} & \frac{1}{\sqrt{1+r}} - \frac{1}{\sqrt{1-r}} \\

\frac{1}{\sqrt{1+r}} - \frac{1}{\sqrt{1-r}} & \frac{1}{\sqrt{1+r}} + \frac{1}{\sqrt{1-r}}

\end{bmatrix}A^+ where the subset on the right is a “squashed” version of two quadrants. Since the standard normal distribution is rotationally symmetric, we need only calculate the angle spanned by each squashed quadrant.

The first quadrant is the sector bounded by the two rays (1, 0), (0, 1). It is transformed to the sector bounded by the two rays (\frac{1}{\sqrt{1+r}}+ \frac{1}{\sqrt{1-r}}, \frac{1}{\sqrt{1+r}} - \frac{1}{\sqrt{1-r}}) and (\frac{1}{\sqrt{1+r}} - \frac{1}{\sqrt{1-r}}, \frac{1}{\sqrt{1+r}}+ \frac{1}{\sqrt{1-r}}). They respectively make angle \theta with the horizontal and vertical axis, where \theta = \arctan\frac{\frac{1}{\sqrt{1+r}} - \frac{1}{\sqrt{1-r}}}{\frac{1}{\sqrt{1+r}}+ \frac{1}{\sqrt{1-r}}}

Together, the two transformed quadrants span an angle of \pi + 4\theta, so Pr(\Delta_{1,2} \in A^+) = \frac{\pi + 4\theta}{2\pi} and therefore

\sin{\left(\frac\pi 2 E[\tau_A]\right)} = \sin(2\theta) = r

}}

{{hidden end}}

Accounting for ties

A pair \{ (x_{i},y_{i}),(x_{j},y_{j}) \} is said to be tied if and only if x_{i} = x_{j} or y_{i} = y_{j} ; a tied pair is neither concordant nor discordant. When tied pairs arise in the data, the coefficient may be modified in a number of ways to keep it in the range [−1, 1]:

=Tau-a=

The Tau statistic defined by Kendall in 1938 was retrospectively renamed Tau-a. It represents the strength of positive or negative association of two quantitative or ordinal variables without any adjustment for ties. It is defined as:

: \tau_A = \frac{n_c-n_d}{n_0}

where nc, nd and n0 are defined as in the next section.

When ties are present, n_c + n_d < n_0 and, the coefficient can never be equal to +1 or −1. Even a perfect equality of the two variables (X=Y) leads to a Tau-a < 1.

=Tau-b=

The Tau-b statistic, unlike Tau-a, makes adjustments for ties.

This Tau-b was first described by Kendall in 1945 under the name Tau-w{{cite journal |last1=Kendall |first1=M. G.|title=The Treatment of Ties in Ranking Problems |journal=Biometrika |date=1945 |volume=33 |issue=3 |pages=239–251 |doi=10.2307/2332303 |pmid=21006841 |url=http://www.jstor.org/stable/2332303 |access-date=12 November 2024}} as an extension of the original Tau statistic supporting ties.

Values of Tau-b range from −1 (100% negative association, or perfect disagreement) to +1 (100% positive association, or perfect agreement). In case of the absence of association, Tau-b is equal to zero.

The Kendall Tau-b coefficient is defined as :

: \tau_B = \frac{n_c-n_d}{\sqrt{(n_0-n_1)(n_0-n_2)}}

where

:

\begin{align}

n_0 & = n(n-1)/2\\

n_1 & = \sum_i t_i (t_i-1)/2 \\

n_2 & = \sum_j u_j (u_j-1)/2 \\

n_c & = \text{Number of concordant pairs, i.e. pairs with } 0 < i < j < n \text{ where } x_i < x_j \text{ and } y_i < y_j \text{ or } x_i > x_j \text{ and } y_i > y_j \\

n_d & = \text{Number of discordant, i.e. pairs where } 0 < i < j < n \text{ where } x_i < x_j \text{ and } y_i > y_j \text{ or } x_i < x_j \text{ and } y_i > y_j \\

t_i & = \text{Number of tied values in the } i^\text{th} \text{ group of ties for the empirical distribution of X} \\

u_j & = \text{Number of tied values in the } j^\text{th} \text{ group of ties for the empirical distribution of Y}

\end{align}

A simple algorithm developed in BASIC computes Tau-b coefficient using an alternative formula.{{cite journal|url=https://link.springer.com/content/pdf/10.3758/BF03200993.pdf |author=Alfred Brophy|title=An algorithm and program for calculation of Kendall's rank correlation coefficient|journal=Behavior Research Methods, Instruments, & Computers |year=1986 |volume=18 |pages=45–46 |doi=10.3758/BF03200993 |s2cid=62601552 }}

Be aware that some statistical packages, e.g. SPSS, use alternative formulas for computational efficiency, with double the 'usual' number of concordant and discordant pairs.{{cite book|last1=IBM|title=IBM SPSS Statistics 24 Algorithms|date=2016|publisher=IBM|page=168|url=http://www-01.ibm.com/support/docview.wss?uid=swg27047033#en|access-date=31 August 2017}}

=Tau-c=

Tau-c (also called Stuart-Kendall Tau-c){{cite journal

|last1=Berry |first1=K. J.

|last2=Johnston |first2=J. E.

|last3=Zahran |first3=S.

|last4=Mielke |first4=P. W.

|year=2009

|title=Stuart's tau measure of effect size for ordinal variables: Some methodological considerations

|journal=Behavior Research Methods

|volume=41 |issue=4 |pages=1144–1148

|doi=10.3758/brm.41.4.1144 |pmid=19897822|doi-access=free}} was first defined by Stuart in 1953.{{cite journal |last=Stuart |first=A. |year=1953 |title=The Estimation and Comparison of Strengths of Association in Contingency Tables |journal=Biometrika |volume=40 |issue=1–2 |pages=105–110 |jstor = 2333101 |doi=10.2307/2333101 }}

Contrary to Tau-b, Tau-c can be equal to +1 or −1 for non-square (i.e. rectangular) contingency tables, i.e. when the underlying scale of both variables have different number of possible values. For instance, if the variable X has a continuous uniform distribution between 0 and 100 and Y is a dichotomous variable equal to 1 if X ≥ 50 and 0 if X < 50, the Tau-c statistic of X and Y is equal to 1 while Tau-b is equal to 0.707. A Tau-c equal to 1 can be interpreted as the best possible positive correlation conditional to marginal distributions while a Tau-b equal to 1 can be interpreted as the perfect positive monotonic correlation where the distribution of X conditional to Y has zero variance and the distribution of Y conditional to X has zero variance so that a bijective function f with f(X)=Y exists.

The Stuart-Kendall Tau-c coefficient is defined as:

: \tau_C = \frac{2 (n_c-n_d)}{n^2 \frac{(m-1)}{m}} = \tau_A \frac{n-1}{n} \frac{m}{m-1}

where

:

\begin{align}

n_c & = \text{Number of concordant pairs} \\

n_d & = \text{Number of discordant pairs} \\

r & = \text{Number of rows of the contingency table (i.e. number of distinct } x_i\text{)} \\

c & = \text{Number of columns of the contingency table (i.e. number of distinct } y_i\text{)} \\

m & = \min(r, c)

\end{align}

Significance tests

When two quantities are statistically dependent, the distribution of \tau is not easily characterizable in terms of known distributions. However, for \tau_A the following statistic, z_A, is approximately distributed as a standard normal when the variables are statistically independent:

: z_A = {n_c - n_d \over \sqrt{\frac{1}{18}v_0} }

where v_0 = n(n-1)(2n+5).

Thus, to test whether two variables are statistically dependent, one computes z_A, and finds the cumulative probability for a standard normal distribution at -|z_A|. For a 2-tailed test, multiply that number by two to obtain the p-value. If the p-value is below a given significance level, one rejects the null hypothesis (at that significance level) that the quantities are statistically independent.

Numerous adjustments should be added to z_A when accounting for ties. The following statistic, z_B, has the same distribution as the \tau_B distribution, and is again approximately equal to a standard normal distribution when the quantities are statistically independent:

:z_B = {n_c - n_d \over \sqrt{ v } }

where

:\begin{array}{ccl}

v & = & \frac{1}{18} v_0 - (v_t + v_u)/18 + (v_1 + v_2) \\

v_0 & = & n (n-1) (2n+5) \\

v_t & = & \sum_i t_i (t_i-1) (2 t_i+5)\\

v_u & = & \sum_j u_j (u_j-1)(2 u_j+5) \\

v_1 & = & \sum_i t_i (t_i-1) \sum_j u_j (u_j-1) / (2n(n-1)) \\

v_2 & = & \sum_i t_i (t_i-1) (t_i-2) \sum_j u_j (u_j-1) (u_j-2) / (9 n (n-1) (n-2))

\end{array}

This is sometimes referred to as the Mann-Kendall test.{{Cite journal |last1=Valz |first1=Paul D. |last2=McLeod |first2=A. Ian |last3=Thompson |first3=Mary E. |date=February 1995 |title=Cumulant Generating Function and Tail Probability Approximations for Kendall's Score with Tied Rankings |journal=The Annals of Statistics |volume=23 |issue=1 |pages=144–160 |doi=10.1214/aos/1176324460 |issn=0090-5364|doi-access=free }}

Algorithms

The direct computation of the numerator n_c - n_d, involves two nested iterations, as characterized by the following pseudocode:

numer := 0

for i := 2..N do

for j := 1..(i − 1) do

numer := numer + sign(x[i] − x[j]) × sign(y[i] − y[j])

return numer

Although quick to implement, this algorithm is O(n^2) in complexity and becomes very slow on large samples. A more sophisticated algorithm{{cite journal

|doi=10.2307/2282833

|last=Knight |first=W.

|year=1966

|title=A Computer Method for Calculating Kendall's Tau with Ungrouped Data

|journal=Journal of the American Statistical Association

|volume=61 |issue=314 |pages=436–439

| jstor = 2282833}} built upon the Merge Sort algorithm can be used to compute the numerator in O(n \cdot \log{n}) time.

Begin by ordering your data points sorting by the first quantity, x, and secondarily (among ties in x) by the second quantity, y. With this initial ordering, y is not sorted, and the core of the algorithm consists of computing how many steps a Bubble Sort would take to sort this initial y. An enhanced Merge Sort algorithm, with O(n \log n) complexity, can be applied to compute the number of swaps, S(y), that would be required by a Bubble Sort to sort y_i. Then the numerator for \tau is computed as:

:n_c-n_d = n_0 - n_1 - n_2 + n_3 - 2 S(y),

where n_3 is computed like n_1 and n_2, but with respect to the joint ties in x and y.

A Merge Sort partitions the data to be sorted, y into two roughly equal halves, y_\mathrm{left} and y_\mathrm{right}, then sorts each half recursive, and then merges the two sorted halves into a fully sorted vector. The number of Bubble Sort swaps is equal to:

:S(y) = S(y_\mathrm{left}) + S(y_\mathrm{right}) + M(Y_\mathrm{left},Y_\mathrm{right})

where Y_\mathrm{left} and Y_\mathrm{right} are the sorted versions of y_\mathrm{left} and y_\mathrm{right}, and M(\cdot,\cdot) characterizes the Bubble Sort swap-equivalent for a merge operation. M(\cdot,\cdot) is computed as depicted in the following pseudo-code:

function M(L[1..n], R[1..m]) is

i := 1

j := 1

nSwaps := 0

while i ≤ n and j ≤ m do

if R[j] < L[i] then

nSwaps := nSwaps + n − i + 1

j := j + 1

else

i := i + 1

return nSwaps

A side effect of the above steps is that you end up with both a sorted version of x and a sorted version of y. With these, the factors t_i and u_j used to compute \tau_B are easily obtained in a single linear-time pass through the sorted arrays.

Approximating Kendall rank correlation from a stream

Efficient algorithms for calculating the Kendall rank correlation coefficient as per the standard estimator have O(n \cdot \log{n}) time complexity. However, these algorithms necessitate the availability of all data to determine observation ranks, posing a challenge in sequential data settings where observations are revealed incrementally. Fortunately, algorithms do exist to estimate the Kendall rank correlation coefficient in sequential settings.{{Cite book |author=Xiao, W. |title=2019 IEEE International Conference on Big Data (Big Data) |chapter=Novel Online Algorithms for Nonparametric Correlations with Application to Analyze Sensor Data |year=2019 |pages=404–412 |doi=10.1109/BigData47090.2019.9006483|isbn=978-1-7281-0858-2 |s2cid=211298570 }}{{Cite journal |author=Stephanou, M. and Varughese, M |title=Hermiter: R package for sequential nonparametric estimation |journal=Computational Statistics |year=2023 |doi=10.1007/s00180-023-01382-0 |arxiv=2111.14091 |s2cid=244715035 }} These algorithms have O(1) update time and space complexity, scaling efficiently with the number of observations. Consequently, when processing a batch of n observations, the time complexity becomes O(n), while space complexity remains a constant O(1).

The first such algorithm presents an approximation to the Kendall rank correlation coefficient based on coarsening the joint distribution of the random variables. Non-stationary data is treated via a moving window approach. This algorithm is simple and is able to handle discrete random variables along with continuous random variables without modification.

The second algorithm is based on Hermite series estimators and utilizes an alternative estimator for the exact Kendall rank correlation coefficient i.e. for the probability of concordance minus the probability of discordance of pairs of bivariate observations. This alternative estimator also serves as an approximation to the standard estimator. This algorithm is only applicable to continuous random variables, but it has demonstrated superior accuracy and potential speed gains compared to the first algorithm described, along with the capability to handle non-stationary data without relying on sliding windows. An efficient implementation of the Hermite series based approach is contained in the R package package [https://cran.r-project.org/package=hermiter hermiter].

Software Implementations

  • R implements the test for \tau_B [http://stat.ethz.ch/R-manual/R-patched/library/stats/html/cor.test.html cor.test(x, y, method = "kendall")] in its "stats" package (also cor(x, y, method = "kendall") will work, but the latter does not return the p-value). All three versions of the coefficient are available in the "DescTools" package along with the confidence intervals: KendallTauA(x,y,conf.level=0.95) for \tau_A, KendallTauB(x,y,conf.level=0.95) for \tau_B, StuartTauC(x,y,conf.level=0.95) for \tau_C. Fast batch estimates of the Kendall rank correlation coefficient along with sequential estimates are provided for in the package [https://cran.r-project.org/package=hermiter hermiter].
  • For Python, the SciPy library implements the computation of \tau_B in [https://web.archive.org/web/20181008171919/https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kendalltau.html scipy.stats.kendalltau]
  • In Stata is implemeted as ktau varlist.

See also

{{Portal|Mathematics}}

References

{{Reflist}}

Further reading

  • {{Cite book | last = Abdi |first=H. | contribution-url=http://www.utdallas.edu/~herve/Abdi-KendallCorrelation2007-pretty.pdf |contribution= Kendall rank correlation |editor-first=N.J. |editor-last=Salkind |title= Encyclopedia of Measurement and Statistics |location=Thousand Oaks (CA) |publisher= Sage| year = 2007 }}
  • {{cite book |last=Daniel |first=Wayne W. |chapter=Kendall's tau |title=Applied Nonparametric Statistics |location=Boston |publisher=PWS-Kent |edition=2nd |year=1990 |isbn=978-0-534-91976-4 |pages=365–377 |chapter-url=https://books.google.com/books?id=0hPvAAAAMAAJ&pg=PA365 }}
  • {{Cite book| last1=Kendall| first1=Maurice| last2=Gibbons| first2=Jean Dickinson| author2-link=Jean D. Gibbons| year=1990| orig-year=First published 1948| title=Rank Correlation Methods| series=Charles Griffin Book Series| edition=5th| location=Oxford| publisher=Oxford University Press| isbn=978-0195208375| url-access=registration| url=https://archive.org/details/rankcorrelationm0000kend}}
  • {{cite journal|last1=Bonett |first1=Douglas G.| last2=Wright |first2=Thomas A.| year=2000|title=Sample size requirements for estimating Pearson, Kendall, and Spearman correlations| journal=Psychometrika| volume=65| issue=1| pages=23–28|doi=10.1007/BF02294183|s2cid=120558581 }}