поправка

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

Синтаксис

rho = corr(X)
rho = corr(X,Y)
[rho,pval] = corr(X,Y)
[rho,pval] = corr(___,Name,Value)

Описание

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