Як обчислити часткову кореляцію в r


У статистиці ми часто використовуємо коефіцієнт кореляції Пірсона для вимірювання лінійної залежності між двома змінними.

Однак інколи ми хочемо зрозуміти зв’язок між двома змінними , контролюючи третю змінну .

Наприклад, припустімо, що ми хочемо виміряти зв’язок між кількістю годин навчання студента та оцінкою підсумкового іспиту, одночасно контролюючи поточну оцінку студента в класі.

У цьому випадку ми могли б використати часткову кореляцію для вимірювання зв’язку між вивченими годинами та оцінкою підсумкового іспиту.

У цьому посібнику пояснюється, як обчислити часткову кореляцію в R.

Приклад: часткова кореляція в R

Припустімо, що у нас є наступний кадр даних, який відображає поточну оцінку, загальну кількість вивчених годин і оцінку підсумкового іспиту для 10 студентів:

 #create data frame
df <- data. frame (currentGrade = c(82, 88, 75, 74, 93, 97, 83, 90, 90, 80),
                 hours = c(4, 3, 6, 5, 4, 5, 8, 7, 4, 6),
                 examScore = c(88, 85, 76, 70, 92, 94, 89, 85, 90, 93))

#view data frame
df

   currentGrade hours examScore
1 82 4 88
2 88 3 85
3 75 6 76
4 74 5 70
5 93 4 92
6 97 5 94
7 83 8 89
8 90 7 85
9 90 4 90
10 80 6 93

Щоб обчислити часткову кореляцію між кожною попарною комбінацією змінних у кадрі даних, ми можемо використати функцію pcor() із бібліотеки ppcor :

 library (ppcor)

#calculate partial correlations
pcor(df)

$estimate
             currentGrade hours examScore
currentGrade 1.0000000 -0.3112341 0.7355673
hours -0.3112341 1.0000000 0.1906258
examScore 0.7355673 0.1906258 1.0000000

$p.value
             currentGrade hours examScore
currentGrade 0.00000000 0.4149353 0.02389896
hours 0.41493532 0.0000000 0.62322848
examScore 0.02389896 0.6232285 0.00000000

$statistic
             currentGrade hours examScore
currentGrade 0.0000000 -0.8664833 2.8727185
hours -0.8664833 0.0000000 0.5137696
examScore 2.8727185 0.5137696 0.0000000

$n
[1] 10

$gp
[1] 1

$method
[1] "pearson"

Ось як інтерпретувати результат:

Часткова кореляція між вивченими годинами та оцінкою підсумкового іспиту:

Часткова кореляція між вивченими годинами та оцінкою підсумкового іспиту становить 0,191 , що являє собою невелику позитивну кореляцію. Зі збільшенням кількості навчальних годин результати іспитів також мають тенденцію до зростання, припускаючи, що поточна оцінка залишається постійною.

P-значення для цієї часткової кореляції становить 0,623 , що не є статистично значущим при α = 0,05.

Часткова кореляція між поточною оцінкою та оцінкою підсумкового іспиту:

Часткова кореляція між поточною оцінкою та оцінкою підсумкового іспиту становить 0,736 , що являє собою сильну позитивну кореляцію. У міру підвищення поточної оцінки оцінки за іспит також мають тенденцію до підвищення, припускаючи, що кількість вивчених годин залишається постійною.

P-значення для цієї часткової кореляції становить 0,024 , що є статистично значущим при α = 0,05.

Часткова кореляція між поточною оцінкою та вивченими годинами:

Часткова кореляція між поточною оцінкою, вивченими годинами та оцінкою підсумкового іспиту становить -0,311 , що являє собою невелику негативну кореляцію. Коли поточна оцінка підвищується, оцінка підсумкового іспиту має тенденцію до зниження, припускаючи, що оцінка остаточного іспиту залишається постійною.

P-значення для цієї часткової кореляції становить 0,415 , що не є статистично значущим при α = 0,05.

Результат також говорить нам, що для обчислення часткової кореляції був використаний метод Пірсона.

У функції pcor() ми також можемо вказати “kendall” або “pearson” як альтернативні методи обчислення кореляції.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як розрахувати кореляцію рангів Спірмена в R
Як обчислити перехресну кореляцію в R
Як розрахувати ковзну кореляцію в R
Як обчислити точково-бісеріальну кореляцію в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *