Як розрахувати поліхорічну кореляцію в r


Поліхорична кореляція використовується для обчислення кореляції між порядковими змінними.

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

Ось кілька прикладів змінних, виміряних за порядковою шкалою:

  • Задоволення : дуже незадоволений, незадоволений, нейтральний, задоволений, дуже задоволений
  • Рівень доходу : низький, середній, високий
  • Статус посади : початковий аналітик, аналітик I, аналітик II, старший аналітик
  • Рівень болю : слабка, середня, сильна

Значення поліхорічної кореляції змінюється від -1 до 1, де:

  • -1 вказує на ідеальну негативну кореляцію
  • 0 означає відсутність кореляції
  • 1 вказує на ідеальну позитивну кореляцію

Ми можемо використати функцію polychor(x, y) із пакету polycor для обчислення поліхорійної кореляції між двома порядковими змінними в R.

Наступні приклади показують, як використовувати цю функцію на практиці.

Приклад 1: обчисліть поліхорічну кореляцію для рейтингів фільмів

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

Ми просимо кожне агентство оцінити 20 різних фільмів за шкалою від 1 до 3, де:

  • 1 означає «погано»
  • 2 означає «погано»
  • 3 означає «добре»

Ми можемо використати такий код у R, щоб обчислити поліхорічну кореляцію між рейтингами двох агентств:

 library (polycor)

#define movie ratings for each agency
agency1 <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2)
agency2 <- c(1, 1, 2, 1, 3, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 1, 3, 3)

#calculate polychoric correlation between ratings
polychor(agency1, agency2)

[1] 0.7828328

Поліхорична кореляція виявляється рівною 0,78 .

Це значення досить високе, що вказує на те, що існує сильний позитивний зв’язок між рейтингами кожного агентства.

Приклад 2: обчисліть поліхорічну кореляцію для відгуків про ресторани

Припустімо, ви хочете знати, чи є кореляція між оцінками відвідувачів двох різних сусідніх ресторанів.

Ми випадковим чином опитуємо 20 клієнтів, які їли в двох ресторанах, і просимо їх оцінити своє загальне задоволення за шкалою від 1 до 5, де:

  • 1 означає «дуже незадоволений»
  • 2 означає «незадоволений»
  • 3 означає «нейтральний»
  • 4 означає «задоволений»
  • 5 означає «дуже задоволений»

Ми можемо використати наступний код у R, щоб обчислити поліхорічну кореляцію між рейтингами двох ресторанів:

 library (polycor)

#define ratings for each restaurant
restaurant1 <- c(1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 4, 4, 5, 5, 4, 3, 4, 5, 5)
restaurant2 <- c(4, 3, 3, 4, 3, 3, 4, 5, 4, 4, 4, 5, 5, 4, 2, 1, 1, 2, 1, 4)

#calculate polychoric correlation between ratings
polychor(restaurant1, restaurant2)

[1] -0.1322774

Поліхорична кореляція виявляється -0,13 .

Це значення близьке до нуля, що вказує на те, що між рейтингами ресторанів дуже мало зв’язку (якщо взагалі є).

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

У наступних посібниках пояснюється, як обчислити інші загальні коефіцієнти кореляції в R:

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

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

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