Статистика

Как создать корреляционную матрицу в Python

В: Статистика

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

Принимает значение от -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')
Correlation matrix in Python

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

corr = df.corr()
corr.style.background_gradient(cmap='RdYlGn')
Correlation matrix with matplotlib in Python
corr = df.corr()
corr.style.background_gradient(cmap='bwr')
Correlation matrix using Pandas

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

Еще от кодкамп
Статистика

Как рассчитать коэффициент внутриклассовой корреляции в Python

Коэффициент внутриклассовой корреляции (ICC или intraclass correlation coefficient) используется, чтобы определить, могут ли предметы или предметы быть надежно оценены разными
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.