Коэффициент ранговой корреляции Кендалла - Kendall rank correlation coefficient

В статистике , то коэффициент ранговой корреляции Кендалла , обычно называют т коэффициента Кендалла (после греческой буквы т , тау), является статистика используется для измерения порядковой связи между двумя измеряемыми величинами. Тест τ - это непараметрический тест гипотезы для статистической зависимости, основанный на коэффициенте τ.

Это мера ранговой корреляции : сходство порядка данных при ранжировании по каждой из величин. Он назван в честь Мориса Кендалла , который разработал его в 1938 году, хотя Густав Фехнер предложил аналогичную меру в контексте временных рядов в 1897 году.

Интуитивно корреляция Кендалла между двумя переменными будет высокой, когда наблюдения имеют одинаковый (или идентичный для корреляции 1) ранг (т. Е. Метка относительного положения наблюдений внутри переменной: 1-й, 2-й, 3-й и т. Д.) Между двумя. переменные и низкий, когда наблюдения имеют разный (или полностью различающийся при корреляции -1) ранг между двумя переменными.

И Кендалла, и Спирмена можно сформулировать как частные случаи более общего коэффициента корреляции .

Определение

Все точки в серой зоне согласованы, а все точки в белой области не согласуются с точкой . С точками существует общее количество возможных пар точек. В этом примере имеется 395 согласованных пар точек и 40 несогласованных пар точек, что приводит к коэффициенту ранговой корреляции Кендалла 0,816.

Позвольте быть набором наблюдений совместных случайных величин X и Y , таких, что все значения ( ) и ( ) уникальны (связи не учитываются для простоты). Любая пара наблюдений и , где , считается согласованной, если порядок сортировки и согласуется: то есть, если выполняется либо оба и, либо оба и ; в противном случае они называются дискордантными .

Коэффициент Кендалла τ определяется как:

Где - биномиальный коэффициент для количества способов выбрать два элемента из n элементов.

Характеристики

Знаменатель представляет общее количество комбинаций пара, так что коэффициент должен находиться в диапазоне от -1 & le  ; т &  le ; 1.

  • Если соответствие между двумя рейтингами идеальное (т. Е. Два рейтинга совпадают), коэффициент имеет значение 1.
  • Если несоответствие между двумя рейтингами полное (т. Е. Одно ранжирование противоположно другому), коэффициент имеет значение -1.
  • Если X и Y являются независимыми , то мы ожидаем , что коэффициент будет приблизительно равен нулю.
  • Явное выражение для коэффициента ранга Кендалла есть .

Проверка гипотез

Ранговый коэффициент Кендалла часто используется в качестве тестовой статистики в тесте статистической гипотезы, чтобы установить, могут ли две переменные считаться статистически зависимыми. Этот тест является непараметрическим , поскольку он не полагается на какие-либо предположения о распределениях X или Y или распределении ( X , Y ).

В соответствии с нулевой гипотезы о независимости X и Y , то распределение выборки из т имеет ожидаемое значение , равное нулю. Точное распределение не может быть охарактеризовано в терминах общих распределений, но может быть рассчитано точно для небольших выборок; для больших выборок обычно используется приближение к нормальному распределению с нулевым средним и дисперсией

.

Учет галстуков

Пара называется связаны , если или ; связанная пара не является ни согласованной, ни противоречивой. Когда в данных возникают связанные пары, коэффициент может быть изменен несколькими способами, чтобы он оставался в диапазоне [-1, 1]:

Тау-а

Tau-статистика проверяет прочность ассоциации из перекрестных таблиц . Обе переменные должны быть порядковыми . Тау-а не будет делать никаких поправок на завязки. Это определяется как:

где n c , n d и n 0 определены, как в следующем разделе.

Тау-б

Статистика Tau-b, в отличие от Tau-a, делает поправки на связи. Значения Tau-b варьируются от -1 (100% отрицательная ассоциация или идеальная инверсия) до +1 (100% положительная ассоциация или полное совпадение). Нулевое значение указывает на отсутствие ассоциации.

Коэффициент Кендалла Тау-b определяется как:

куда

Простой алгоритм, разработанный в BASIC, вычисляет коэффициент Tau-b с использованием альтернативной формулы.

Имейте в виду, что некоторые статистические пакеты, например SPSS, используют альтернативные формулы для вычисления вычислительной эффективности с удвоенным «обычным» количеством согласованных и несогласованных пар.

Тау-с

Tau-c (также называемый Stuart-Kendall Tau-c) более подходит, чем Tau-b для анализа данных, основанных на неквадратных (т.е. прямоугольных) таблицах непредвиденных обстоятельств . Поэтому используйте Tau-b, если базовая шкала обеих переменных имеет одинаковое количество возможных значений (до ранжирования), и Tau-c, если они различаются. Например, одна переменная может быть оценена по 5-балльной шкале (очень хорошо, хорошо, средне, плохо, очень плохо), а другая - по более тонкой 10-балльной шкале.

Коэффициент Кендалла Тау-c определяется как:

куда

Тесты значимости

Когда две величины статистически независимы, распределение трудно охарактеризовать в терминах известных распределений. Однако для следующей статистики, приблизительно распределена как стандартная норма, когда переменные статистически независимы:

Таким образом, чтобы проверить, являются ли две переменные статистически зависимыми, вычисляют и находят кумулятивную вероятность для стандартного нормального распределения при . Для двустороннего теста умножьте это число на два, чтобы получить значение p . Если p -значение ниже заданного уровня значимости, отвергают нулевую гипотезу (на этом уровне значимости) о том, что величины статистически независимы.

При учете галстуков следует добавить многочисленные корректировки . Следующая статистика имеет то же распределение, что и распределение, и снова приблизительно равна стандартному нормальному распределению, когда количества статистически независимы:

куда

Иногда это называют тестом Манна-Кендалла.

Алгоритмы

Прямое вычисление числителя включает две вложенные итерации, которые характеризуются следующим псевдокодом:

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

Хотя этот алгоритм быстро реализуется, он сложен и становится очень медленным на больших выборках. Более сложный алгоритм, основанный на алгоритме сортировки слиянием , может использоваться для вычисления числителя во времени.

Начните заказе ваших точек данных сортировки по первой величины, и во вторую очередь ( в том числе в связи ) с помощью второго количества, . При таком начальном порядке сортировка не выполняется, и ядро ​​алгоритма состоит в вычислении количества шагов, которые потребует пузырьковая сортировка для сортировки этого начального значения . Усовершенствованный алгоритм сортировки слиянием со сложностью может применяться для вычисления количества свопов , которые потребуются пузырьковой сортировке для сортировки . Тогда числитель для вычисляется как:

где вычисляется аналогично и , но с учетом совместных связей в и .

A сортировка слиянием разделов данных , которые должны быть отсортированы, на две примерно равные половины, и , затем сортирует каждую половину рекурсивной, а затем сливается две половинки сортируются в полностью отсортированный вектор. Количество свопов пузырьковой сортировки равно:

где и - отсортированные версии и , а характеризует замену, эквивалентную пузырьковой сортировке, для операции слияния. вычисляется, как показано в следующем псевдокоде:

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

Побочным эффектом вышеупомянутых шагов является то, что вы получаете как отсортированную версию, так и отсортированную версию . С их помощью коэффициенты и, используемые для вычисления , легко получить за один проход линейного времени через отсортированные массивы.

Программные реализации

  • Базовый пакет статистики R реализует тест cor.test(x, y, method = "kendall")в своем пакете "stats" (также cor(x, y, method = "kendall")будет работать, но без возврата p-значения).
  • Для Python , то SciPy библиотека реализует вычисление вscipy.stats.kendalltau

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки