在上一篇博客中,我简单地使用了scipy模块进行了统计学中三大相关性分析方法(皮尔森相关性系数、斯皮尔曼相关性系数、肯德尔相关性系数)的使用,这里的主要工作是将相关性计算结果进行可视化展示,以便于更直观地来对不同因子之间的相关性进行分析,下面是具体的实践:

#!usr/bin/env python
#encoding:utf-8'''
__Author__:沂水寒城
功能: python实践统计学中的三大相关性系数,并绘制相关性分析的热力图
'''import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import pearsonr,spearmanrdef randomPlot():'''构造随机数矩阵来绘制热力图'''data=np.random.rand(8,8)print(data)fig,ax=plt.subplots(figsize=(10,10))key_list=['A','B','C','D','E','F','G','H']sns.heatmap(pd.DataFrame(np.round(data,4),columns=key_list,index=key_list),annot=True,vmax=1,vmin=0,xticklabels=True, yticklabels=True,square=True,cmap="YlGnBu")ax.set_title(' Heat Map ', fontsize=18)ax.set_ylabel('Y', fontsize=18)ax.set_xlabel('X', fontsize=18)plt.savefig('Random.png')def dataPlot():'''基于相关性系数计算结果来绘制'''data1=[[1.0, 0.679138216972867, 0.8723347117585479, 0.8678591195124671, 0.9091565423610072, -0.681888271075189, -0.7228630059512009, -0.681888271075189], [0.679138216972867, 1.0, 0.7808137626700863, 0.45749648218056993, 0.5348626411851899, -0.44326149230111495, -0.39558814315535173, -0.44326149230111495], [0.8723347117585479, 0.7808137626700863, 1.0, 0.7020628568851344, 0.7658545326255977, -0.7217424383082518, -0.5875065812285509, -0.7217424383082518], [0.8678591195124671, 0.45749648218056993, 0.7020628568851344, 1.0, 0.9903366506522474, -0.5874500887255807, -0.8382341966002466, -0.5874500887255807], [0.9091565423610072, 0.5348626411851899, 0.7658545326255977, 0.9903366506522474, 1.0, -0.6439505593700681, -0.8244259230387567, -0.6439505593700681], [-0.681888271075189, -0.44326149230111495, -0.7217424383082518, -0.5874500887255807, -0.6439505593700681, 1.0, 0.4821038714558963, 1.0], [-0.7228630059512009, -0.39558814315535173, -0.5875065812285509, -0.8382341966002466, -0.8244259230387567, 0.4821038714558963, 1.0, 0.4821038714558963], [-0.681888271075189, -0.44326149230111495, -0.7217424383082518, -0.5874500887255807, -0.6439505593700681, 1.0, 0.4821038714558963, 1.0]]data2=[[0.9999999999999999, 0.8345554576233073, 0.9243854856819417, 0.9330027648545496, 0.9482209505391218, -0.6482501837911674, -0.8818546914603946, -0.6482501837911674], [0.8345554576233073, 0.9999999999999999, 0.9003585423988755, 0.7649830893396171, 0.7979521001324441, -0.4691190784521079, -0.6480284658216039, -0.4691190784521079], [0.9243854856819417, 0.9003585423988756, 1.0, 0.8506386730833658, 0.8830994621736679, -0.7006298478257242, -0.7676395373967932, -0.7006298478257242], [0.9330027648545496, 0.7649830893396171, 0.8506386730833659, 0.9999999999999999, 0.9951726440650351, -0.5278605167290854, -0.9273089460158745, -0.5278605167290854], [0.9482209505391219, 0.7979521001324442, 0.8830994621736679, 0.9951726440650353, 1.0, -0.5724194583833783, -0.9112198965249181, -0.5724194583833783], [-0.6482501837911674, -0.46911907845210793, -0.7006298478257242, -0.5278605167290855, -0.5724194583833783, 1.0, 0.49515922475047763, 1.0], [-0.8818546914603947, -0.6480284658216039, -0.7676395373967932, -0.9273089460158744, -0.9112198965249181, 0.49515922475047763, 1.0, 0.49515922475047763], [-0.6482501837911674, -0.46911907845210793, -0.7006298478257242, -0.5278605167290855, -0.5724194583833783, 1.0, 0.49515922475047763, 1.0]]data3=[[1.0, 0.6447733742285494, 0.7648449086941359, 0.7781871747188993, 0.8077705036447606, -0.45314582645069557, -0.7063398069618333, -0.45314582645069557], [0.6447733742285494, 1.0, 0.723107089412363, 0.5724058545087037, 0.6071562414937144, -0.3151362329600627, -0.47203186715609546, -0.3151362329600627], [0.7648449086941359, 0.7231070894123629, 1.0, 0.6636168802979515, 0.7036503531839524, -0.5094145396347782, -0.5801992046091554, -0.5094145396347782], [0.7781871747188993, 0.5724058545087037, 0.6636168802979514, 1.0, 0.9417388451103401, -0.35110754201106087, -0.818036667286979, -0.35110754201106087], [0.8077705036447606, 0.6071562414937144, 0.7036503531839524, 0.9417388451103401, 1.0, -0.3871446641295609, -0.7851151107221745, -0.3871446641295609], [-0.45314582645069557, -0.3151362329600627, -0.5094145396347782, -0.35110754201106087, -0.3871446641295609, 1.0, 0.331222719795913, 1.0], [-0.7063398069618333, -0.4720318671560954, -0.5801992046091554, -0.818036667286979, -0.7851151107221744, 0.331222719795913, 1.0, 0.331222719795913], [-0.45314582645069557, -0.3151362329600627, -0.5094145396347782, -0.35110754201106087, -0.3871446641295609, 1.0, 0.331222719795913, 1.0]]data1,data2,data3=np.array(data1),np.array(data2),np.array(data3)fig,ax=plt.subplots(figsize=(10,10))key_list=['A','B','C','D','E','F','G','H']sns.heatmap(pd.DataFrame(np.round(data1,4),columns=key_list,index=key_list),annot=True,vmax=1,vmin=0,xticklabels=True,yticklabels=True,square=True,cmap="YlGnBu")ax.set_title(' Heat Map ', fontsize=18)ax.set_ylabel('Y', fontsize=18)ax.set_xlabel('X', fontsize=18)plt.savefig('data1.png')if __name__=='__main__':randomPlot()dataPlot()

其中,随机生成数矩阵得到的热力图如下:

基于相关性计算结果得到的三个热力图分别如下:

data1.png

data2.png

     data3.png

从上面三个热力图可以看到:虽然三者的计算结果有些偏差,但是整体的趋势都是相同的。

python实践统计学中的三大相关性系数,并绘制相关性分析的热力图相关推荐

  1. python相关性分析_python实践统计学中的三大相关性系数,并绘制相关性分析的热力图...

    本文首发地址: https://yishuihancheng.blog.csdn.net/article/details/83547648 欢迎关注我的博客[Together_CZ],我是沂水寒城! ...

  2. python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据、matplotlib可视化生成的仿真数据

    python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据.matplotlib可视化生成的仿真数据 目录

  3. 数理统计01:线性相关性系数,斯皮尔曼相关性系数计算及详解

    在统计学中有三个可以衡量两个变量之间相关程度的指标:线性相关系数(linear correlation coefficient).斯皮尔曼相关性系数(Spearman's rank correlati ...

  4. Python应用实战-Python爬取4000+股票数据,并用plotly绘制了树状热力图(treemap)

    目录: 1. 准备工作 2. 开始绘图 2.1. 简单的例子 2.2. px.treemap常用参数介绍 2.3. color_continuous_scale参数介绍 2.4. 大A股市树状热力图来 ...

  5. 统计学之三大相关性系数简介(pearson、spearman、kendall)

    三个相关性系数(pearson, spearman, kendall)反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0表示两个变量不相关,正值表示正相关,负值表示负相关,值越大表 ...

  6. 斯皮尔 皮尔森 肯德尔_统计学-三大相关性系数 | 生物统计学基础系列课

    原标题:统计学-三大相关性系数 | 生物统计学基础系列课 什么是生物统计学 生物统计学是一种很有用的工具,正确使用这一工具可以使科学研究更加有效,使科学研究可以更加高效的开展.因此,它是每位生物科学工 ...

  7. 统计学之三大相关性系数(pearson、spearman、kendall)

    (转自 微信公众号克里克学苑) 三个相关性系数(pearson, spearman, kendall)反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0表示两个变量不相关,正值表示 ...

  8. 统计学之三大相关性系数(pearson、spearman、kendall)matlab实现

    (转自 微信公众号克里克学苑,修改成MATLAB语言实现) 三个相关性系数(pearson, spearman, kendall)反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0 ...

  9. 相关性系数及其python实现

    参考文献: 1.python 皮尔森相关系数 https://www.cnblogs.com/lxnz/p/7098954.html 2.统计学之三大相关性系数(pearson.spearman.ke ...

  10. pd.Series.cor的三大相关性系数

    相关性系数;滤除缺失值:平均值等. 统计学中的三大相关性系数:pearson, spearman, kendall: 更加准确地描述变量之间的线性相关程度,可以通过pearson, spearman计 ...

最新文章

  1. CSS How to align a div center
  2. Angular 自定义结构化指令,如何传入多个输入参数
  3. Android之在ubuntu上常用的am、pm命令的总结
  4. 经典面试题(27):以下代码将输出的结果是什么?
  5. linux分屏显示文件行数,linux常用命令集合1
  6. jupyter notebook怎么画决策树图_状态图怎么画?图文详解快速上手UML图
  7. 滤波器: 滤波器设计软件
  8. WARNING: Too many active WebGL contexts. Oldest context will be lost
  9. Ubuntu卸载Anaconda步骤
  10. android免费商用图标,(干货分享)免费可商用的图标库
  11. 可以说是迄今为止最好用的右键菜单管理工具
  12. [转]如何进行人脉管理
  13. cuda 和 pytorch版本不一致torch.cuda.is_available()返回false——解决办法
  14. 动态壁纸-软件制作-教程
  15. 【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码
  16. OpenCV 视频地址和图片地址注意事项
  17. feek()、ftell()和rewind()用法
  18. python忽略警告
  19. Echarts基本使用(vue实现3D地图)
  20. 如何通过低代码开发平台实现CRM客户关系管理系统

热门文章

  1. Django2.0——实现简易登陆、注册
  2. SQL调优技巧:统计信息(文末福利)
  3. Django学习笔记-MySQL
  4. hyper-v redhat使用新网卡
  5. 品牌怎么做知乎营销?
  6. 如何编写开源项目的 README 文档
  7. 用Jersey构建RESTful服务简单示例
  8. selenium webdriver 通信过程
  9. 你真的懂JavaScript基础类型吗
  10. SpringBoot 分布式session