Один из способов количественной оценки взаимосвязи между двумя переменными — использовать коэффициент корреляции Пирсона, который является мерой линейной связи между двумя переменными.
Принимает значение от -1 до 1, где:
-1
указывает на совершенно отрицательную линейную корреляцию.0
указывает на отсутствие линейной корреляции.1
указывает на абсолютно положительную линейную корреляцию.
Чем дальше коэффициент корреляции от нуля, тем сильнее связь между двумя переменными.
Но в некоторых случаях мы хотим понять корреляцию между более чем одной парой переменных. В этих случаях мы можем создать матрица корреляции, представляющая собой квадратную таблицу, которая показывает коэффициенты корреляции между несколькими попарными комбинациями переменных.
В этом руководстве объясняется, как создать и интерпретировать корреляционную матрицу в Python.
Как создать матрицу корреляции в Python
Выполните следующие шаги, чтобы создать матрицу корреляции в Python.
Шаг 1. Создайте набор данных
import pandas as pd
data = {'assists': [4, 5, 5, 6, 7, 8, 8, 10],
'rebounds': [12, 14, 13, 7, 8, 8, 9, 13],
'points': [22, 24, 26, 26, 29, 32, 20, 14]
}
df = pd.DataFrame(data, columns=['assists','rebounds','points'])
df
# assist rebounds points
#0 4 12 22
#1 5 14 24
#2 5 13 26
#3 6 7 26
#4 7 8 29
#5 8 8 32
#6 8 9 20
#7 10 13 14
Шаг 2. Создайте матрицу корреляции
#создать корреляционную матрицу
df.corr()
assists rebounds points
assists 1.000000 -0.244861 -0.329573
rebounds -0.244861 1.000000 -0.522092
points -0.329573 -0.522092 1.000000
#создайте ту же матрицу корреляции с коэффициентами, округленными до 3 знаков после запятой
df.corr().round(3)
assists rebounds points
assists 1.000 -0.245 -0.330
rebounds -0.245 1.000 -0.522
points -0.330 -0.522 1.000
Шаг 3. Интерпретация матрицы корреляции
Все коэффициенты корреляции по диагонали таблицы равны 1, потому что каждая переменная совершенна коррелирует сам с собой.
Все остальные коэффициенты корреляции указывают на корреляцию между различными попарными комбинациями переменных. Например:
- Коэффициент корреляции между передачами и подборами равен
-0.245
- Коэффициент корреляции между передачами и очками равен
-0.330
. - Коэффициент корреляции между подборами и очками равен
-0.522
Шаг 4. Визуализируйте матрицу корреляции (необязательно)
Вы можете визуализировать матрицу корреляции с помощью параметры стиля доступны в pandas:
corr = df.corr()
corr.style.background_gradient(cmap='coolwarm')

Вы также можете изменить аргумент cmap
, чтобы создать корреляционную матрицу с разными цветами.
corr = df.corr()
corr.style.background_gradient(cmap='RdYlGn')

corr = df.corr()
corr.style.background_gradient(cmap='bwr')

Примечание: Полный список аргументов cmap см. в документация по matplotlib.