partialcorri

Коэффициенты частичной корреляции с поправкой на внутренние переменные

Описание

пример

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

пример

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

пример

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

пример

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

Примеры

свернуть все

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

Загрузите выборочные данные.

load carsmall;

Данные содержат измерения автомобилей 1970, 1976 и 1982 годов выпуска. Включает в себя MPG и Acceleration как показатели эффективности и Displacement, Horsepower, и Weight как конструктивные переменные. Acceleration - это время, необходимое для ускорения от 0 до 60 миль в час, поэтому высокое значение для Acceleration соответствует транспортному средству с малым ускорением.

Задайте входные матрицы. The y матрица включает показатели эффективности и x матрица включает переменные проекты.

y = [MPG,Acceleration];
x = [Displacement,Horsepower,Weight];

Вычислите коэффициенты корреляции. Включите в расчет только строки без отсутствующих значений.

rho = partialcorri(y,x,'Rows','complete')
rho = 2×3

   -0.0537   -0.1520   -0.4856
   -0.3994   -0.4008    0.4912

Результаты показывают, для примера, корреляцию 0,4912 между весом и ускорением после контроля эффектов водоизмещения и лошадиной силы. Вы можете вернуть p- значения как второй выход и исследует их, чтобы подтвердить, являются ли эти корреляции статистически значимыми.

Для более четкого отображения создайте таблицу с соответствующими метками переменных и строк.

rho = array2table(rho, ...
   'VariableNames',{'Displacement','Horsepower','Weight'}, ...
   'RowNames',{'MPG','Acceleration'});

disp('Partial Correlation Coefficients')
Partial Correlation Coefficients
disp(rho)
                    Displacement    Horsepower     Weight 
                    ____________    __________    ________

    MPG              -0.053684       -0.15199     -0.48563
    Acceleration      -0.39941       -0.40075      0.49123

Тест на частичную корреляцию между парами переменных в x и y входные матрицы, с одновременным управлением эффектами остальных переменных в x плюс дополнительные переменные в матричных z.

Загрузите выборочные данные.

load carsmall;

Данные содержат измерения автомобилей 1970, 1976 и 1982 годов выпуска. Включает в себя MPG и Acceleration как показатели эффективности и Displacement, Horsepower, и Weight как конструктивные переменные. Acceleration - это время, необходимое для ускорения от 0 до 60 миль в час, поэтому высокое значение для Acceleration соответствует транспортному средству с малым ускорением.

Создайте новую переменную Headwindи случайным образом генерируют данные, чтобы представлять понятие среднего встречного ветра вдоль маршрута измерения эффективности.

rng('default');  % For reproducibility
Headwind = (10:-0.2:-9.8)' + 5*randn(100,1);

Поскольку встречный ветер может влиять на показатели эффективности, управление его эффектами при тестировании на частичную корреляцию между остальными переменными.

Задайте входные матрицы. The y матрица включает показатели эффективности и x матрица включает переменные проекты. The z матрица содержит дополнительные переменные для управления при вычислении частичных корреляций, таких как встречный ветер.

y = [MPG,Acceleration];
x = [Displacement,Horsepower,Weight];
z = Headwind;

Вычислите коэффициенты частичной корреляции. Включите в расчет только строки без отсутствующих значений.

[rho,pval] = partialcorri(y,x,z,'Rows','complete')
rho = 2×3

    0.0572   -0.1055   -0.5736
   -0.3845   -0.3966    0.4674

pval = 2×3

    0.5923    0.3221    0.0000
    0.0002    0.0001    0.0000

Маленький вернулся p- значение 0,001 в pval указывает, например, на значительную отрицательную корреляцию между лошадиной силой и ускорением после контроля за перемещением, весом и встречным ветром.

Для более четкого отображения создайте таблицы с соответствующими метками переменных и строк.

rho = array2table(rho, ...
   'VariableNames',{'Displacement','Horsepower','Weight'}, ...
   'RowNames',{'MPG','Acceleration'});
 
pval = array2table(pval, ...
   'VariableNames',{'Displacement','Horsepower','Weight'}, ...
   'RowNames',{'MPG','Acceleration'});

disp('Partial Correlation Coefficients, Accounting for Headwind')
Partial Correlation Coefficients, Accounting for Headwind
disp(rho)
                    Displacement    Horsepower     Weight 
                    ____________    __________    ________

    MPG               0.057197       -0.10555     -0.57358
    Acceleration      -0.38452       -0.39658       0.4674
disp('p-values, Accounting for Headwind')
p-values, Accounting for Headwind
disp(pval)
                    Displacement    Horsepower      Weight  
                    ____________    __________    __________

    MPG                 0.59233        0.32212    3.4401e-09
    Acceleration     0.00018272     0.00010902    3.4091e-06

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

свернуть все

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

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

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

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

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

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

Аргументы в виде пар имя-значение

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

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

Тип частичных корреляций для вычисления, заданный как разделенная разделенными запятой парами, состоящая из 'Type' и любой из них 'Pearson' или 'Spearman'. Pearson вычисляет частичные корреляции Пирсона (линейные). Spearman вычисляет частичные корреляции Спирмена (ранга).

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

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

'all'Используйте все строки независимо от отсутствующих (NaN) значения.
'complete'Используйте только строки без отсутствующих значений.
'pairwise'Используйте все доступные значения в каждом столбце y при вычислении коэффициентов частичной корреляции и p значений, соответствующих этому столбцу. Для каждого столбца yстроки будут удалены в соответствии с отсутствующими значениями в x (и/или z, если поставляется). Однако оставшиеся строки с допустимыми значениями в этом столбце y используются, даже если есть отсутствующие значения в других столбцах y.

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

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

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

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

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

свернуть все

Выборка коэффициентов частичной корреляции, возвращенная как p y-by- p x-матрица .

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

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

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

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

Ссылки

[1] Стюарт, Алан, К. Орд и С. Арнольд. Передовая теория статистики Кендалла. 6-е издание, том 2A, глава 28, Уайли, 2004.

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

См. также

|

Введенный в R2013b