数据可视化之热力图&相关系数图(原理+Python代码)

目录

*
一、原理介绍
二、代码实现
三、结果解释

一、原理介绍

热力图,又名相关系数图。根据热力图中不同方块颜色对应的相关系数的大小,可以判断出变量之间相关性的大小。两个变量之间相关系数的计算公式为:

ρ X 1 X 2 = C o v ( X 1 , X 2 ) D X 1 , D X 2 = E X 1 X 2 − E X 1 ∗ E X 2 D X 1 ∗ D X 2 \rho {{X_{1}X_{2}}}=\frac{Cov(X_{1},X_{2})}{\sqrt{DX_{1},DX_{2} }}=\frac{EX_{1}X_{2}-EX_{1}\ast EX_{2}}{\sqrt{DX_{1}\ast DX_{2} }}ρX 1 ​X 2 ​​​=D X 1 ​,D X 2 ​​C o v (X 1 ​,X 2 ​)​=D X 1 ​∗D X 2 ​​E X 1 ​X 2 ​−E X 1 ​∗E X 2 ​​
公式中,ρ \rho ρ 表示相关系数,Cov表示协方差,E表示数学期望/均值

值得注意的是,该相关系数只能度量出变量之间的线性相关关系;也就是说,相关系数越高,则变量间的线性相关程度越高。对于相关系数小的两个变量,只能说明变量间的线性相关程度弱,但不能说明变量之间不存在其它的相关关系,如曲线关系等。

二、代码实现

数据来源于2016年的上市企业数据,通过绘制热力图,来探究上市企业各指标之间的相关性,进而探究自变量之间的多重共线性以及各变量与企业违约率之间的相关关系强弱。
以下是代码的实现过程:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings("ignore")
from pyforest import *
data=pd.read_csv("F:/data/cor.csv",encoding='gbk')
data.head()

年份证券简称资产负债率剔除预收款项后的资产负债率长期资本负债率长期资产适合率权益乘数流动负债权益比率带息债务/全部投入资本流动负债/负债合计资本固定化比率期望违约频率EDF02016珠江实业0.7129060.6353450.4789820.5048920.9017180.4912990.3914370.1485170.4755400.00000012016珠江控股0.6056480.4901100.5708610.4920150.1305250.0000000.4453240.6415380.7203050.42889922016中洲控股0.6708810.6154950.5306500.4996210.8355390.4633410.3555130.3386760.4844460.99160432016中天金融0.6783230.5889740.4456390.4950320.8517130.4926470.4074920.0939490.5092390.99960142016中体产业0.8004100.7830330.9019290.5026320.9557450.5080000.0938380.5712390.4623440.792590


plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] =False
data.drop(['证券简称','年份'], axis=1, inplace=True)

corr = data.corr()
corr

资产负债率剔除预收款项后的资产负债率长期资本负债率长期资产适合率权益乘数流动负债权益比率带息债务/全部投入资本流动负债/负债合计资本固定化比率期望违约频率EDF资产负债率1.0000000.5945270.492963-0.1609950.7236640.658646-0.8574740.320706-0.284634-0.091423剔除预收款项后的资产负债率0.5945271.0000000.724546-0.0993180.5406390.492140-0.5540390.171270-0.2652590.068577长期资本负债率0.4929630.7245461.000000-0.0913380.4505420.375839-0.5249550.300627-0.1983620.033209长期资产适合率-0.160995-0.099318-0.0913381.000000-0.049872-0.0284520.1571570.009742-0.1623740.155095权益乘数0.7236640.5406390.450542-0.0498721.0000000.951933-0.6517670.079052-0.5359840.007980流动负债权益比率0.6586460.4921400.375839-0.0284520.9519331.000000-0.543147-0.106139-0.5223200.011466带息债务/全部投入资本-0.857474-0.554039-0.5249550.157157-0.651767-0.5431471.000000-0.5950160.3105210.066397流动负债/负债合计0.3207060.1712700.3006270.0097420.079052-0.106139-0.5950161.000000-0.105199-0.064886资本固定化比率-0.284634-0.265259-0.198362-0.162374-0.535984-0.5223200.310521-0.1051991.000000-0.080153期望违约频率EDF-0.0914230.0685770.0332090.1550950.0079800.0114660.066397-0.064886-0.0801531.000000

ax = plt.subplots(figsize=(20, 16))
ax = sns.heatmap(corr, vmax=.8, square=True, annot=True)

plt.xticks(fontsize=20)
plt.yticks(fontsize=20)

数据可视化之热力图&相关系数图(原理+Python代码)

三、结果解释

  • 热力图右侧的刻度展示了不同相关系数对应的颜色深浅。从图中可以看出, 权益乘数流动负债权益比率之间的相关性较高,为0.95,即存在很强的多重共线性。在进行特征工程时可以考虑剔除二者中的一个变量,以免导致因多重共线性造成的过拟合。
  • 从热力图的最后一列或最后一行可以看出, 长期资产适合率期望违约频率的相关系数相对最高,为0.16。因此,在进行违约风险评估建模时,可以考虑保留 长期资产适合率这一变量。

相关阅读

Original: https://blog.csdn.net/weixin_45481473/article/details/112549366
Author: data learning
Title: 数据可视化之热力图&相关系数图(原理+Python代码)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/618327/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球