exponenta event banner

поправка

Линейная или ранговая корреляция

Описание

rho = corr(X) возвращает матрицу парного коэффициента линейной корреляции между каждой парой столбцов во входной матрице, X.

пример

rho = corr(X,Y) возвращает матрицу парного коэффициента корреляции между каждой парой столбцов во входных матрицах X и Y.

пример

[rho,pval] = corr(X,Y) также возвращает pvalматрица p-значений для проверки гипотезы отсутствия корреляции с альтернативной гипотезой ненулевой корреляции.

пример

[rho,pval] = corr(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущих синтаксисах. Например, 'Type','Kendall' задает вычисление коэффициента тау-корреляции Кендалла.

Примеры

свернуть все

Найдите корреляцию между двумя матрицами и сравните ее с корреляцией между двумя векторами столбцов.

Создать образец данных.

rng('default')
X = randn(30,4);
Y = randn(30,4);

Ввести корреляцию между двумя столбцами матрицы X и четвертый столбец матрицы Y.

Y(:,4) = Y(:,4)+X(:,2);

Вычислить корреляцию между столбцами X и Y.

[rho,pval] = corr(X,Y)
rho = 4×4

   -0.1686   -0.0363    0.2278    0.3245
    0.3022    0.0332   -0.0866    0.7653
   -0.3632   -0.0987   -0.0200   -0.3693
   -0.1365   -0.1804    0.0853    0.0279

pval = 4×4

    0.3731    0.8489    0.2260    0.0802
    0.1045    0.8619    0.6491    0.0000
    0.0485    0.6039    0.9166    0.0446
    0.4721    0.3400    0.6539    0.8837

Как и ожидалось, коэффициент корреляции между двумя столбцами X и колонку четвертую из Y, rho(2,4), является самым высоким и представляет высокую положительную корреляцию между двумя столбцами. Соответствующее значение p, pval(2,4), равно нулю до четырех показанных цифр. Поскольку значение p меньше уровня значимости 0.05, это указывает на отклонение гипотезы об отсутствии корреляции между двумя столбцами.

Вычислить корреляцию между X и Y использование corrcoef.

[r,p] = corrcoef(X,Y)
r = 2×2

    1.0000   -0.0329
   -0.0329    1.0000

p = 2×2

    1.0000    0.7213
    0.7213    1.0000

Функция MATLAB ® corrcoef, в отличие от corr функция, преобразует входные матрицы X и Y в векторы столбцов, X(:) и Y(:)перед вычислением корреляции между ними. Поэтому введение корреляции между вторым столбцом матрицы X и четвертый столбец матрицы Y больше не существует, поскольку эти два столбца находятся в разных секциях преобразованных векторов столбцов.

Значение внедиагональных элементов r, который представляет коэффициент корреляции между X и Y, низко. Это значение указывает на незначительную или нулевую корреляцию между X и Y. Аналогично, значение внедиагональных элементов p, которое представляет значение p, намного выше, чем уровень значимости 0.05. Это значение указывает на то, что недостаточно доказательств для отклонения гипотезы об отсутствии корреляции между X и Y.

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

Создать образец данных.

rng('default')
X = randn(50,4);
Y = randn(50,4);

Ввести положительную корреляцию между столбцом 1 матрицы X и четвертый столбец матрицы Y.

Y(:,4) = Y(:,4)+0.7*X(:,1);

Ввести отрицательную корреляцию между вторым столбцом из X и второй столбец из Y.

Y(:,2) = Y(:,2)-2*X(:,2);

Проверьте альтернативную гипотезу о том, что корреляция больше нуля.

[rho,pval] = corr(X,Y,'Tail','right')
rho = 4×4

    0.0627   -0.1438   -0.0035    0.7060
   -0.1197   -0.8600   -0.0440    0.1984
   -0.1119    0.2210   -0.3433    0.1070
   -0.3526   -0.2224    0.1023    0.0374

pval = 4×4

    0.3327    0.8405    0.5097    0.0000
    0.7962    1.0000    0.6192    0.0836
    0.7803    0.0615    0.9927    0.2298
    0.9940    0.9397    0.2398    0.3982

Как и ожидалось, коэффициент корреляции между столбцами один из X и колонку четвертую из Y, rho(1,4), имеет наибольшее положительное значение, представляющее высокую положительную корреляцию между двумя столбцами. Соответствующее значение p, pval(1,4), равно нулю до четырех показанных цифр, что ниже уровня значимости 0.05. Эти результаты указывают на отклонение нулевой гипотезы об отсутствии корреляции между двумя столбцами и приводят к выводу, что корреляция больше нуля.

Проверьте альтернативную гипотезу, что корреляция меньше нуля.

[rho,pval] = corr(X,Y,'Tail','left')
rho = 4×4

    0.0627   -0.1438   -0.0035    0.7060
   -0.1197   -0.8600   -0.0440    0.1984
   -0.1119    0.2210   -0.3433    0.1070
   -0.3526   -0.2224    0.1023    0.0374

pval = 4×4

    0.6673    0.1595    0.4903    1.0000
    0.2038    0.0000    0.3808    0.9164
    0.2197    0.9385    0.0073    0.7702
    0.0060    0.0603    0.7602    0.6018

Как и ожидалось, коэффициент корреляции между двумя столбцами X и второй столбец из Y, rho(2,2), имеет отрицательное число с наибольшим абсолютным значением (-0.86), представляющий высокую отрицательную корреляцию между двумя столбцами. Соответствующее значение p, pval(2,2), равно нулю до четырех показанных цифр, что ниже уровня значимости 0.05. Опять же, эти результаты указывают на отказ от нулевой гипотезы и приводят к выводу, что корреляция меньше нуля.

Проверьте альтернативную гипотезу о том, что корреляция не равна нулю.

[rho,pval] = corr(X,Y)
rho = 4×4

    0.0627   -0.1438   -0.0035    0.7060
   -0.1197   -0.8600   -0.0440    0.1984
   -0.1119    0.2210   -0.3433    0.1070
   -0.3526   -0.2224    0.1023    0.0374

pval = 4×4

    0.6654    0.3190    0.9807    0.0000
    0.4075    0.0000    0.7615    0.1673
    0.4393    0.1231    0.0147    0.4595
    0.0120    0.1206    0.4797    0.7964

P-значения, pval(1,4) и pval(2,2), оба равны нулю до четырех цифр, показанных на рисунке. Поскольку p-значения ниже уровня значимости 0.05, коэффициенты корреляции rho(1,4) и rho(2,2) значительно отличаются от нуля. Поэтому нулевая гипотеза отвергается; корреляция не равна нулю.

Входные аргументы

свернуть все

Входная матрица, заданная как матрица n-by-k. Строки X соответствуют наблюдениям, а столбцы - переменным.

Пример: X = randn(10,5)

Типы данных: single | double

Входная матрица, заданная как матрица n-by-k2, когда X задается как матрица n-by-k1. Строки Y соответствуют наблюдениям, а столбцы - переменным.

Пример: Y = randn(20,7)

Типы данных: single | double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: corr(X,Y,'Type','Kendall','Rows','complete') возвращает тау-коэффициент корреляции Кендалла, используя только строки, не содержащие отсутствующих значений.

Тип корреляции, определяемый как разделенная запятыми пара, состоящая из 'Type' и одно из этих значений.

corr вычисляет p-значения для корреляции Пирсона, используя t-распределение Стьюдента для преобразования корреляции. Эта корреляция является точной, когда X и Y происходит из обычного распределения. corr вычисляет p-значения для тау Кендалла и ро Спирмена, используя либо точные распределения перестановок (для малых размеров выборки), либо приближения больших выборок.

Пример: 'Type','Spearman'

Строки для использования в вычислениях, указанные как разделенная запятыми пара, состоящая из 'Rows' и одно из этих значений.

СтоимостьОписание
'all'Использовать все строки ввода независимо от отсутствующих значений (NaNs).
'complete'Используйте только строки входных данных без отсутствующих значений.
'pairwise'Вычислить rho(i,j) использование строк без пропущенных значений в столбце i или j.

'complete' значение, в отличие от 'pairwise' значение, всегда дает положительный определенный или положительный полуопределенный rho. Также, 'complete' значение, как правило, использует меньшее количество наблюдений для оценки rho при строках ввода (X или Y) содержат отсутствующие значения.

Пример: 'Rows','pairwise'

Альтернативная гипотеза, указанная как пара, разделенная запятыми, состоящая из 'Tail' и одно из значений в таблице. 'Tail' определяет альтернативную гипотезу, по которой вычисляются p-значения для проверки гипотезы отсутствия корреляции.

СтоимостьОписание
'both'Проверить альтернативную гипотезу, что корреляция не 0.
'right'Проверьте альтернативную гипотезу о том, что корреляция больше 0
'left'Проверить альтернативную гипотезу о том, что корреляция меньше 0.

corr вычисляет p-значения для двухстороннего теста путем удвоения более значительного из двух однохвостых p-значений.

Пример: 'Tail','left'

Выходные аргументы

свернуть все

Парный коэффициент линейной корреляции, возвращаемый в виде матрицы.

  • Если вводится только матрица X, rho - симметричная матрица k-by-k, где k - количество столбцов в X. Вход rho(a,b) - парный коэффициент линейной корреляции между столбцом a и столбцом b в X.

  • При вводе матриц X и Y, rho является матрицей k1-by-k2, где k1 и k2 - количество столбцов в X и Yсоответственно. Вход rho(a,b) - парный коэффициент линейной корреляции между столбцами a в X и столбец b в Y.

p-значения, возвращаемые в виде матрицы. Каждый элемент pval является значением p для соответствующего элемента rho.

Если pval(a,b) мал (менее 0.05), затем корреляция rho(a,b) значительно отличается от нуля.

Подробнее

свернуть все

Коэффициент линейной корреляции Пирсона

Коэффициент линейной корреляции Пирсона является наиболее часто используемым коэффициентом линейной корреляции. Для столбца Xa в матрице X и столбца Yb в матрице Y, имеющего значения X¯a=∑i=1n (Xa, i )/n и Y¯b=∑j=1n (Xb, j )/n, коэффициент линейной корреляции Пирсона ro (a, b) определяется как:

rho (a, b) =∑i=1n (Xa, i X peta) (Yb, i Y betb) {∑i=1n (Xa, i X peta) 2 ∑j=1n (Yb, j − Y betb) 2} 1/2,

где n - длина каждого столбца.

Значения коэффициента корреляции могут быть в диапазоне от –1 кому +1. Значение –1 указывает на совершенную отрицательную корреляцию, в то время как значение +1 указывает на совершенную положительную корреляцию. Значение 0 указывает на отсутствие корреляции между столбцами.

Коэффициент Тау Кендалла

Тау Кендалла основан на подсчете числа (i, j) пар, для i < j, которые согласуются - то есть для которых Xa, i − Xa, j и Yb, i − Yb, j имеют один и тот же знак. Уравнение для тау Кендалла включает корректировку для связей в нормирующей константе и часто называется тау-b.

Для столбца Xa в матрице X и столбца Yb в матрице Y тау-коэффициент Кендалла определяется как:

start= 2Kn (n − 1),

где K=∑i=1n−1∑j=i+1nξ * (Xa, i, Xa, j, Yb, i, Yb , j) и

(Xa, i, Xa, j, Yb, i, Yb, j) = {1иф (Xa, i Xa, j) (Yb, i Yb, j) > 00иф (Xa, i Xa, j) (Yb, i Yb, j) = 0 − 1иф (Xa, i − x

Значения коэффициента корреляции могут быть в диапазоне от –1 кому +1. Значение –1 указывает, что ранжирование одного столбца является обратным по отношению к другому, в то время как значение +1 указывает, что два рейтинга одинаковы. Значение 0 указывает на отсутствие связи между столбцами.

Ро Спирмена

Rho Спирмана эквивалентен коэффициенту линейной корреляции Пирсона, применяемому к ранжированию столбцов Xa и Yb.

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

rho (a, b) =1−6∑d2n (n2 − 1),

где d - разница между рангами двух столбцов, а n - длина каждого столбца.

Совет

Разница между corr(X,Y) и функция MATLAB ®corrcoef(X,Y) является ли это corrcoef(X,Y) возвращает матрицу коэффициентов корреляции для двух векторов столбцов X и Y. Если X и Y не являются векторами столбцов, corrcoef(X,Y) преобразует их в векторы столбцов.

Ссылки

[1] Гиббонс, Джей Ди. Непараметрический статистический вывод. 2-й ред. М. Деккер, 1985.

[2] Холландер, М. и Д. А. Вулф. Непараметрические статистические методы. Уайли, 1973.

[3] Методы корреляции рангов Кендалла, М.Г. Гриффин, 1970.

[4] Лучший, Ди Джей и Ди Э. Робертс. «Алгоритм AS 89: Вероятности верхнего хвоста ро Спирмена». Прикладная статистика, 24: 377-379.

Расширенные возможности

См. также

| | |

Представлен до R2006a