Как рассчитать корреляцию между категориальными переменными

Как рассчитать корреляцию между категориальными переменными

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

Однако мы должны использовать другую метрику для расчета корреляции между категориальными переменными, то есть переменными, которые принимают имена или метки, такие как:

  • Семейное положение (холост, женат, разведен)
  • Статус курения (курильщик, некурящий)
  • Цвет глаз (голубой, карий, зеленый)

Есть три показателя, которые обычно используются для расчета корреляции между категориальными переменными:

1. Тетрахорная корреляция: используется для расчета корреляции между бинарными категориальными переменными.

2. Полихорическая корреляция: используется для расчета корреляции между порядковыми категориальными переменными.

3. Cramer's V: используется для расчета корреляции между номинальными категориальными переменными.

В следующих разделах приведены примеры расчета каждой из этих трех метрик.

Метрика 1: тетрахорическая корреляция

Тетрахорная корреляция используется для расчета корреляции между бинарными категориальными переменными. Напомним, что бинарные переменные — это переменные, которые могут принимать только одно из двух возможных значений.

Значение тетрахорической корреляции находится в диапазоне от -1 до 1, где -1 указывает на сильную отрицательную корреляцию, 0 указывает на отсутствие корреляции, а 1 указывает на сильную положительную корреляцию.

Например, предположим, что мы хотим узнать, связан ли пол с предпочтениями политических партий, поэтому мы берем простую случайную выборку из 100 избирателей и опрашиваем их на предмет их предпочтений в отношении политических партий.

В следующей таблице представлены результаты опроса:

Тетрахорная корреляция

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

Мы можем использовать следующий код в R для вычисления тетрахорической корреляции между двумя переменными:

library (psych)

#create 2x2 table
data = matrix(c(19, 12, 30, 39), nrow= 2 )

#view table
data

#calculate tetrachoric correlation
tetrachoric(data)

tetrachoric correlation 
[1] 0.27

Тетрахорическая корреляция оказывается равной 0,27.Это значение довольно низкое, что указывает на слабую связь (если она вообще есть) между полом и предпочтениями политической партии.

Метрика 2: Полихорическая корреляция

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

Значение полихорической корреляции находится в диапазоне от -1 до 1, где -1 указывает на сильную отрицательную корреляцию, 0 указывает на отсутствие корреляции, а 1 указывает на сильную положительную корреляцию.

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

Мы просим каждое агентство оценить 20 различных фильмов по шкале от 1 до 3, где 1 означает «плохой», 2 — «посредственный» и 3 — «хороший».

В следующей таблице показаны результаты:

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

library (polycor)

#define movie ratings
x <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2)
y <- 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(x, y)

[1] 0.7828328

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

Метрика 3: V Крамера

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

Значение Крамера V колеблется от 0 до 1, где 0 указывает на отсутствие связи между переменными, а 1 указывает на сильную связь между переменными.

Например, предположим, что мы хотим узнать, существует ли корреляция между цветом глаз и полом, поэтому мы опрашиваем 50 человек и получаем следующие результаты:

Мы можем использовать следующий код в R для вычисления V Крамера для этих двух переменных:

library (rcompanion)

#create table
data = matrix(c(6, 9, 8, 5, 12, 10), nrow= 2 )

#view table
data

 [,1] [,2] [,3]
[1,] 6 8 12
[2,] 9 5 10

#calculate Cramer's V
cramerV(data)

Cramer V 
 0.1671

V Крамера оказывается равным 0,1671.Это значение довольно низкое, что указывает на слабую связь между полом и цветом глаз.

Дополнительные ресурсы

Введение в коэффициент корреляции Пирсона
Введение в тетрахорную корреляцию
Категориальные и количественные переменные: в чем разница?
Уровни измерения: номинальный, порядковый, интервальный и относительный

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.