Линейный или ранговый коэффициенты частичной корреляции
возвращает выборку коэффициентов линейной частичной корреляции с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение", используя входные параметры из любого из предыдущих синтаксисов. Например, можно задать, использовать ли частичные корреляции Пирсона или Спирмана, или задать, как обработать отсутствующие значения.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
. Вы можете вернуть - значения как второй выход и исследует их, чтобы подтвердить, являются ли эти корреляции статистически значимыми.
Для более четкого отображения создайте таблицу с соответствующими метками переменных и строк.
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];
The x
матрица содержит переменные для проверки на частичную корреляцию. The z
матрица содержит переменные для управления. Измерения для BloodPressure
содержатся в двух столбцах: В первом столбце содержится верхний (systolic) номер, а во втором - нижний (diastolic) номер. 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
содержатся в двух столбцах: В первом столбце содержится верхний (systolic) номер, а во втором - нижний (diastolic) номер. 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
содержатся в двух столбцах: В первом столбце содержится верхний (systolic) номер, а во втором - нижний (diastolic) номер. 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 -by- p x матрица. Строки x
соответствуют наблюдениям, а столбцы соответствуют переменным.
Типы данных: single
| double
y
- Матрица данныхМатрица данных, заданная как n -by p y матрица. Строки y
соответствуют наблюдениям, а столбцы соответствуют переменным.
Типы данных: single
| double
z
- Матрица данныхМатрица данных, заданная как n -by- p z матрица. Строки 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' | Используйте все строки входов независимо от отсутствующих значений (NaN с). |
'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
- симметричная p x-by- p x-матрица. (i, j) -я запись является выборкой линейной частичной корреляцией между i-м и j-м столбцами в x
.
Если вы вводите x
и z
матрицы, rho
- симметричная p x-by- p x-матрица. (i, j) -я запись является выборкой линейной частичной корреляцией между i-м и j-м столбцами в x
, управляется для переменных в z
.
Если вы вводите x
, y
, и z
матрицы, rho
является p x-by- p y матрицы, где (i, j) -ая запись является выборкой линейной частичной корреляцией между i-м столбцом x
и j-й столбец в y
, управляется для переменных в z
.
Если ковариационная матрица [x,z]
является
затем матрица частичной корреляции x
, управление для z
, может быть определено формально как нормированная версия матрицы ковариации: S xx - (S xz S zz–1S xzT).
pval
- p -значенияp - значения, возвращенные как матрица. Каждый элемент pval
- p -значение для соответствующего элемента rho
.
Если pval(i,j)
является маленьким, тогда соответствующая частичная корреляция rho(i,j)
статистически значительно отличается от 0.
partialcorr
вычисляет p -значения для линейных и ранговых частичных корреляций, используя t распределение Student для преобразования корреляции. Это точно для линейной частичной корреляции, когда x
и z
являются нормальными, но являются приближением с большой выборкой в противном случае.
[1] Стюарт, Алан, К. Орд и С. Арнольд. Передовая теория статистики Кендалла. 6-е издание, том 2A, глава 28, Уайли, 2004.
[2] Фишер, Рональд А. «Распределение коэффициента частичной корреляции». Метрон 3 (1924): 329-332
corr
| corrcoef
| partialcorri
| tiedrank
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.