partialcorr

Линейный или оценивают частичные коэффициенты корреляции

Описание

пример

rho = partialcorr(x) возвращает демонстрационные линейные частичные коэффициенты корреляции между парами переменных в x, управление для остающихся переменных в x.

пример

rho = partialcorr(x,z) возвращает демонстрационные линейные частичные коэффициенты корреляции между парами переменных в x, управление для переменных в z.

пример

rho = partialcorr(x,y,z) возвращает демонстрационные линейные частичные коэффициенты корреляции между парами переменных в x и y, управление для переменных в z.

пример

rho = partialcorr(___,Name,Value) возвращает демонстрационные линейные частичные коэффициенты корреляции с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение", с помощью входных параметров от любого из предыдущих синтаксисов. Например, можно задать, использовать ли Пирсона или Спирмена частичные корреляции, или задать, как обработать отсутствующие значения.

пример

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

Примеры

свернуть все

Вычислите частичные коэффициенты корреляции между парами переменных во входной матрице.

Загрузите выборочные данные. Преобразуйте полы в 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

Входные параметры

свернуть все

Матрица данных в виде n-by-px матрица. Строки x соответствуйте наблюдениям, и столбцы соответствуют переменным.

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

Матрица данных в виде n-by-py матрица. Строки y соответствуйте наблюдениям, и столбцы соответствуют переменным.

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

Матрица данных в виде n-by-pz матрица. Строки z соответствуйте наблюдениям, и столбцы соответствуют переменным.

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

Аргументы name-value

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

Пример: 'Type','Spearman','Rows','complete' вычисляет Копьеносца частичные корреляции с помощью только данные в строках, которые не содержат отсутствующих значений.

Тип частичных корреляций, чтобы вычислить в виде разделенной запятой пары, состоящей из 'Type' и одно из следующих.

'Pearson'Вычислите Пирсона (линейные) частичные корреляции.
'Spearman'Вычислите Копьеносца (ранг) частичные корреляции.

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

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

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

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

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

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

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

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

свернуть все

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

  • Если вы вводите только x матрица, rho симметричный p x-by-px матрица. (i, j) th запись демонстрационная линейная частичная корреляция между i-th и j-th столбцы в x.

  • Если вы вход x и z матрицы, rho симметричный p x-by-px матрица. (i, j) th запись демонстрационная линейная частичная корреляция между i th и j th столбцы в x, управляемый для переменных в z.

  • Если вы вход xY, и z матрицы, rho p x-by-py матрица, где (i, j) th запись демонстрационная линейная частичная корреляция между i th столбец в x и j th столбец в y, управляемый для переменных в z.

Если ковариационная матрица [x,z]

S=(SxxSxzSxzTSzz),

затем частичная корреляционная матрица x, управление для z, может быть задан официально как нормированная версия ковариационной матрицы: S xx – (S xzSzz–1S xzT).

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

Если pval(i,j) мал, затем соответствующая частичная корреляция rho(i,j) статистически существенно отличается от 0.

partialcorr вычисляет p - значения для линейного, и оцените частичные корреляции с помощью распределения t Студента для преобразования корреляции. Это точно для линейной частичной корреляции когда x и z нормальны, но приближение большой выборки в противном случае.

Ссылки

[1] Стюарт, Алан, K. Порядок и С. Арнольд. Усовершенствованная Теория Кендалла Статистики. 6-й выпуск, Объем 2 А, Глава 28, Вайли, 2004.

[2] Фишер, Рональд А. "Распределение частичного коэффициента корреляции". Метрон 3 (1924): 329-332

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

| | |

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