在上一篇博客中,我简单地使用了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. 决战春招!算法工程师面试问题及资料超详细合集(算法岗面经/代码实战/网课/竞赛等)...
  2. Dynamic ReLU论文解读
  3. CLR线程概览(一)
  4. Django(一)预热
  5. 【原创】使用yahoo雅虎js库(YUI)建立无刷新的N级树(可添加删除节点)
  6. 开源WebGIS实施方案
  7. Android 怎么使用Bitmap+Canvas 自适应屏幕
  8. 高通QFIL烧录错误解决方法
  9. 【craps赌博游戏】
  10. Python NLP 入门
  11. IDEA中@author 模板的设置
  12. U3D(Unity) 实现电路解密、通水管游戏
  13. java取石子_取石子游戏 - Snowdream - BlogJava
  14. 一文看懂5种ESD防护方法!
  15. Python也能识别图文,看到好的文章就用它一键扫描吧
  16. HCIP网工数通Datacom之网工拆分(1)理论和基础命令
  17. Java中arraycopy()的使用说明
  18. 统一软件过程的基本概念
  19. 专访盖国强李轶楠丨通过数据库服务能力评估背后的故事
  20. SQLServer常用快捷键汇总

热门文章

  1. golang net/http访问https
  2. C# WinForm捕获全局异常
  3. python:关于三级菜单的新手实现
  4. 阿里笔试题:求两个子序列的最大连续子序列
  5. Android——ViewPager多页面滑动切换以及动画效果
  6. 【转载】Jquery中的$命名冲突的解决方案
  7. 欧几里德算法(求最大公约数和最小公倍数)
  8. (转) 三袋米的故事
  9. 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。
  10. [转]计算机视觉、机器学习相关领域论文和源代码大集合--持续更新