Эконометрика: код для корреляционной матрицы в Python в форме «тепловой карты»
Напишем код, который построит корреляционную матрицу. Но не просто обычную матрицу, а «тепловую карту» – наглядную форму корреляционной матрицы, где цвет ячейки разный в зависимости от силы корреляции.
Данные для иллюстрирования работы кода взяты из открытого архива:
import pandas as pd
import numpy as np
df = pd.read_excel(r'C:\...\filename.xlsx') #читаем данные из excel. Здесь предполагается, что в файле единственная вкладка. Если она не единственная, можно воспользоваться опцией sheet_name=’имя листа’ или скопировать данные в отдельную книгу с единственным листом. Первая строка – имя переменных, лучше покороче и латинскими буквами.
corr = df.corr() #считаем корреляции (самая популярная, Пирсона)
print corr #можно посмотреть обычную матрицу. Неудобно и ненаглядно.
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(54,54)) #Тут 54 – произвольное число. Главное, чтобы хватало на все переменные (если их 15, то надо вбить не менее 17. 15 на переменные и плюс еще 2 на заголовки).
sns.heatmap(corr, vmax=1, square=True,annot=True,cmap='cubehelix')
plt.title('Correlation between different fearures')
plt.show() #тепловая карта готова. Рисунок можно скопировать в буфер обмена.
Для базы данных, которую мы загрузили, получилось вот так:
02.12.2022