Как рассчитать полихорическую корреляцию в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *