Коэффициенты линейной или ранговой частичной корреляции
возвращает выборочные коэффициенты линейной частичной корреляции с дополнительными опциями, заданными одним или несколькими аргументами пары имя-значение, используя входные аргументы из любого из предыдущих синтаксисов. Например, можно указать, следует ли использовать частичные корреляции Пирсона или Спирмена, или указать способ обработки отсутствующих значений.rho = partialcorr(___,Name,Value)
Вычисление коэффициентов частичной корреляции между парами переменных во входной матрице.
Загрузите образцы данных. Преобразование полов в hospital.Sex к идентификаторам числовых групп.
load hospital;
hospital.SexID = grp2idx(hospital.Sex);Создайте входную матрицу, содержащую данные образца.
x = [hospital.SexID hospital.Age hospital.Smoker hospital.Weight];
Каждая строка в x содержит пол, возраст, статус курения и вес пациента.
Вычисление коэффициентов частичной корреляции между парами переменных в x, в то же время контролируя эффекты остальных переменных в x.
rho = partialcorr(x)
rho = 4×4
1.0000 -0.0105 0.0273 0.9421
-0.0105 1.0000 0.0419 0.0369
0.0273 0.0419 1.0000 0.0451
0.9421 0.0369 0.0451 1.0000
Матрица rho указывает, например, корреляцию 0,9421 между полом и весом после контроля всех других переменных в x. Можно вернуть значения p в качестве второго вывода и изучить их, чтобы подтвердить, являются ли эти корреляции статистически значимыми.
Для более четкого отображения создайте таблицу с соответствующими метками переменных и строк.
rho = array2table(rho, ... 'VariableNames',{'SexID','Age','Smoker','Weight'},... 'RowNames',{'SexID','Age','Smoker','Weight'}); disp('Partial Correlation Coefficients')
Partial Correlation Coefficients
disp(rho)
SexID Age Smoker Weight
________ ________ ________ ________
SexID 1 -0.01052 0.027324 0.9421
Age -0.01052 1 0.041945 0.036873
Smoker 0.027324 0.041945 1 0.045106
Weight 0.9421 0.036873 0.045106 1
Проверка частичной корреляции между парами переменных во входной матрице при одновременном контроле эффектов второго набора переменных.
Загрузите образцы данных. Преобразование полов в hospital.Sex к идентификаторам числовых групп.
load hospital;
hospital.SexID = grp2idx(hospital.Sex);Создайте две матрицы, содержащие данные выборки.
x = [hospital.Age hospital.BloodPressure]; z = [hospital.SexID hospital.Smoker hospital.Weight];
x матрица содержит переменные для проверки частичной корреляции. z матрица содержит переменные для управления. Измерения для BloodPressure содержатся в двух столбцах: Первый столбец содержит верхнее (систолическое) число, а второй столбец содержит нижнее (диастолическое) число. partialcorr обрабатывает каждый столбец как отдельную переменную.
Тест на частичную корреляцию между парами переменных в x, в то же время контролируя эффекты переменных в z. Вычислите коэффициенты корреляции.
[rho,pval] = partialcorr(x,z)
rho = 3×3
1.0000 0.1300 0.0462
0.1300 1.0000 0.0012
0.0462 0.0012 1.0000
pval = 3×3
0 0.2044 0.6532
0.2044 0 0.9903
0.6532 0.9903 0
Большие значения в pval указать, что нет значительной корреляции между возрастом и измерением артериального давления после контроля пола, статуса курения и веса.
Для более четкого отображения создайте таблицы с соответствующими метками переменных и строк.
rho = array2table(rho, ... 'VariableNames',{'Age','BPTop','BPBottom'},... 'RowNames',{'Age','BPTop','BPBottom'}); pval = array2table(pval, ... 'VariableNames',{'Age','BPTop','BPBottom'},... 'RowNames',{'Age','BPTop','BPBottom'}); disp('Partial Correlation Coefficients')
Partial Correlation Coefficients
disp(rho)
Age BPTop BPBottom
________ _________ _________
Age 1 0.13 0.046202
BPTop 0.13 1 0.0012475
BPBottom 0.046202 0.0012475 1
disp('p-values')p-values
disp(pval)
Age BPTop BPBottom
_______ _______ ________
Age 0 0.20438 0.65316
BPTop 0.20438 0 0.99032
BPBottom 0.65316 0.99032 0
Тест на частичную корреляцию между парами переменных в x и y входные матрицы, контролируя при этом эффекты третьего набора переменных.
Загрузите образцы данных. Преобразование полов в hospital.Sex к идентификаторам числовых групп.
load hospital;
hospital.SexID = grp2idx(hospital.Sex);Создайте три матрицы, содержащие данные выборки.
x = [hospital.BloodPressure]; y = [hospital.Weight hospital.Age]; z = [hospital.SexID hospital.Smoker];
partialcorr может проверить частичную корреляцию между парами переменных в x (систолическое и диастолическое измерения артериального давления) и y (вес и возраст), при этом контролируя переменные в z (пол и статус курения). Измерения для BloodPressure содержатся в двух столбцах: Первый столбец содержит верхнее (систолическое) число, а второй столбец содержит нижнее (диастолическое) число. partialcorr обрабатывает каждый столбец как отдельную переменную.
Тест на частичную корреляцию между парами переменных в x и y, в то же время контролируя эффекты переменных в z. Вычислите коэффициенты корреляции.
[rho,pval] = partialcorr(x,y,z)
rho = 2×2
-0.0257 0.1289
0.0292 0.0472
pval = 2×2
0.8018 0.2058
0.7756 0.6442
Результаты в pval указать, что после контроля пола и статуса курения нет существенной корреляции между любым из измерений артериального давления пациента и весом или возрастом этого пациента.
Для более четкого отображения создайте таблицы с соответствующими метками переменных и строк.
rho = array2table(rho, ... 'RowNames',{'BPTop','BPBottom'},... 'VariableNames',{'Weight','Age'}); pval = array2table(pval, ... 'RowNames',{'BPTop','BPBottom'},... 'VariableNames',{'Weight','Age'}); disp('Partial Correlation Coefficients')
Partial Correlation Coefficients
disp(rho)
Weight Age
________ ________
BPTop -0.02568 0.12893
BPBottom 0.029168 0.047226
disp('p-values')p-values
disp(pval)
Weight Age
_______ _______
BPTop 0.80182 0.2058
BPBottom 0.77556 0.64424
Проверьте гипотезу о том, что пары переменных не имеют корреляции, против альтернативной гипотезы о том, что корреляция больше 0.
Загрузите образцы данных. Преобразование полов в hospital.Sex к идентификаторам числовых групп.
load hospital;
hospital.SexID = grp2idx(hospital.Sex);Создайте три матрицы, содержащие данные образца.
x = [hospital.BloodPressure]; y = [hospital.Weight hospital.Age]; z = [hospital.SexID hospital.Smoker];
partialcorr может проверить частичную корреляцию между парами переменных в x (систолическое и диастолическое измерения артериального давления) и y (вес и возраст), при этом контролируя переменные в z (пол и статус курения). Измерения для BloodPressure содержатся в двух столбцах: Первый столбец содержит верхнее (систолическое) число, а второй столбец содержит нижнее (диастолическое) число. partialcorr обрабатывает каждый столбец как отдельную переменную.
Вычислите коэффициенты корреляции с помощью правостороннего теста.
[rho,pval] = partialcorr(x,y,z,'Tail','right')
rho = 2×2
-0.0257 0.1289
0.0292 0.0472
pval = 2×2
0.5991 0.1029
0.3878 0.3221
Результаты в pval указать, что partialcorr не отвергает нулевую гипотезу ненулевых корреляций между переменными в x и y, после управления переменными в z, когда альтернативная гипотеза состоит в том, что корреляции больше 0.
Для более четкого отображения создайте таблицы с соответствующими метками переменных и строк.
rho = array2table(rho, ... 'RowNames',{'BPTop','BPBottom'},... 'VariableNames',{'Weight','Age'}); pval = array2table(pval, ... 'RowNames',{'BPTop','BPBottom'},... 'VariableNames',{'Weight','Age'}); disp('Partial Correlation Coefficients')
Partial Correlation Coefficients
disp(rho)
Weight Age
________ ________
BPTop -0.02568 0.12893
BPBottom 0.029168 0.047226
disp('p-values')p-values
disp(pval)
Weight Age
_______ _______
BPTop 0.59909 0.1029
BPBottom 0.38778 0.32212
x - Матрица данныхМатрица данных, заданная как матрица n-px. Строки x соответствуют наблюдениям, а столбцы - переменным.
Типы данных: single | double
y - Матрица данныхМатрица данных, заданная как матрица n-py. Строки y соответствуют наблюдениям, а столбцы - переменным.
Типы данных: single | double
z - Матрица данныхМатрица данных, заданная как матрица n-by-pz. Строки z соответствуют наблюдениям, а столбцы - переменным.
Типы данных: single | double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Type','Spearman','Rows','complete' вычисляет частичные корреляции Spearman, используя только данные в строках, которые не содержат отсутствующих значений.'Type' - Тип частичных корреляций'Pearson' (по умолчанию) | 'Spearman'Тип вычисляемых частичных корреляций, определяемый как разделенная запятыми пара, состоящая из 'Type' и одно из следующих.
'Pearson' | Вычислить частичные корреляции Пирсона (линейные). |
'Spearman' | Вычислить частичные корреляции Спирмена (ранга). |
Пример: 'Type','Spearman'
'Rows' - Строки для использования в вычислениях'all' (по умолчанию) | 'complete' | 'pairwise'Строки для использования в вычислениях, указанные как разделенная запятыми пара, состоящая из 'Rows' и одно из следующих.
'all' | Использовать все строки ввода независимо от отсутствующих значений (NaNs). |
'complete' | Используйте только строки входных данных без отсутствующих значений. |
'pairwise' | Вычислить rho(i,j) использование строк без пропущенных значений в столбце i или j. |
Пример: 'Rows','complete'
'Tail' - Альтернативная гипотеза'both' (по умолчанию) | 'right' | 'left'Альтернативная гипотеза для проверки против, указанная как пара, разделенная запятыми, состоящая из 'Tail' и одно из следующих.
'both' | Проверьте альтернативную гипотезу о том, что корреляция не равна 0. |
'right' | Проверьте альтернативную гипотезу о том, что корреляция больше 0. |
'left' | Проверьте альтернативную гипотезу, что корреляция меньше 0. |
Пример: 'Tail','right'
rho - Выборочные коэффициенты линейной частичной корреляцииВыборка коэффициентов линейной частичной корреляции, возвращаемых в виде матрицы.
При вводе только x матрица, rho является симметричной матрицей px-за-px. (i, j) -й элемент является выборочной линейной частичной корреляцией между i-м и j-м столбцами вx.
При вводе x и z матрицы, rho является симметричной матрицей px-за-px. (i, j) -й элемент является выборочной линейной частичной корреляцией между i-м и j-м столбцами вx, управляемый для переменных в z.
При вводе x, y, и z матрицы, rho является px-by-py матрицей, где (i, j) -я запись является выборкой линейной частичной корреляции между i-м столбцом вx и j-й столбец в y, управляемый для переменных в z.
Если ковариационная матрица [x,z] является
),
затем частичная корреляционная матрица x, управление для z, может быть определён формально как нормализованная версия ковариационной матрицы: Sxx - (SxzSzz-1SxzT).
pval - p-значенияp-значения, возвращаемые в виде матрицы. Каждый элемент pval является значением p для соответствующего элемента rho.
Если pval(i,j) мал, то соответствующая частичная корреляция rho(i,j) статистически значимо отличается от 0.
partialcorr вычисляет p-значения для линейных и ранговых частичных корреляций с использованием t-распределения Стьюдента для преобразования корреляции. Это точно для линейной частичной корреляции, когда x и z являются нормальными, но являются аппроксимацией большой выборки в противном случае.
[1] Стюарт, Алан, К. Орд и С. Арнольд. Усовершенствованная теория статистики Кендалла. 6-е издание, том 2A, глава 28, Вайли, 2004 год.
[2] Фишер, Рональд А. «Распределение коэффициента частичной корреляции». Метрон 3 (1924): 329-332
corr | corrcoef | partialcorri | tiedrank
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.