corr

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

Описание

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

пример

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

пример

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

пример

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

Примеры

свернуть все

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

Сгенерируйте выборочные данные.

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);

Введите положительную корреляцию между столбцом один из матричного 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') возвращает tau коэффициент корреляции Кендалла с помощью только строки, которые не содержат отсутствующих значений.

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

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

Пример: '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 k 1 k2 матрицей, где k 1 и k 2 является количеством столбцов в 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, Коэффициент линейной корреляции Пирсона rho(a,b) задан как:

rho(a,b)=i=1n(Xa,iX¯a)(Yb,iY¯b){i=1n(Xa,iX¯a)2 j=1n(Yb,jY¯b)2}1/2,

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

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

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

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

Для столбца Xa в матричном X и столбце Yb в матричном Y, tau коэффициент Кендалла задан как:

τ=2Kn(n1),

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

ξ*(Xa,i,Xa,j,Yb,i,Yb,j)={1если(Xa,iXa,j)(Yb,iYb,j)>00если(Xa,iXa,j)(Yb,iYb,j)=01если(Xa,iXa,j)(Yb,iYb,j)<0.

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

Ро копьеносца

Ро копьеносца эквивалентна Коэффициенту Линейной корреляции Пирсона, применился к рейтингам столбцов Xa и Yb.

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

rho(a,b)=16d2n(n21),

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

Советы

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

Ссылки

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

[2] Hollander, M. и Д.А. Вольф. Непараметрические статистические методы. Вайли, 1973.

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

[4] Лучше всего, D.J., и Д. Робертс. "Алгоритм, КОГДА 89: Верхние Вероятности Хвоста ро Копьеносца". Прикладная статистика, 24:377-379.

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

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

| | |

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