科研学习|可视化——相关性结果的可视化

一、相关性分析介绍

相关性分析是指研究两种或者两种以上的变量之间相关关系的统计分析方法,一般分析步骤为:

  • 1)判断变量间是否存在关联;
  • 2)分析关联关系(线性/非线性)、关联方向(正相关/负相关)、关联数量(单相关/复相关/偏相关)和关联强度(显著相关/高度相关/中度相关/弱相关)等关联特征。

常用于度量两个或多个变量之间相关程度的指标有:

如何把这些关联特征表达得更易于理解,那就需要借助将相关性分析结果可视化的方法了。

在平时的论文阅读中我们经常看到有关相关性分析的内容,作者们根据自己的表达需求,也向我们展示了五花八门的绘图样式,比如:散点图、拟合线、相关矩阵(热力图)、相关性空间分布图等。接下来详细向大家介绍这些图表的特点。

二、散点图

一般情况下我们可以通过散点图来检测和了解变量间的关系。如果变量之间存在某种关联,那么数据点就会在图上呈现某种趋势。在某些情况下(如样本点较少),可能会出现聚集趋势不明显的问题,这时我们可以借助线性拟合而成的“趋势线”来辅助分析。

如下图a中,利用散点图展现了SSP126、SSP245、SSP370和SSP585排放情景下未来降水增长率与未来气温增长率之间的约束关系。由于单个情景下的散点数量较少,且多个情景的散点放置于同一张图中进行比较,散点的聚集趋势难以肉眼捕捉,因此该图对各个场景下的散点进行线性拟合,展现出散点的分布趋势线,便于读者更为直观地解读。

  1. 这类散点图可借助Python实现,可参考:“Python-matplotlib 学术散点图 EE 统计及绘制”
  2. 也可以借助R语言实现,可参考:“R-ggplot2 学术散点图绘制”

三、散点密度图

若需对数据量很大的变量相关性进行可视化,可考虑在散点图的基础上添加热力图元素,即通过将数据计数映射到颜色,来表现数据的分布情况

下图为无云日GRSAD模拟的逐月湖泊面积与另一个数据集的6715个湖泊逐月面积的比较。图a显示了两个变量之间分布的密集程度,并通过添加辅助线的方式,在图中显示相应点对应的拟合效果(即R2 — 决定系数,相关系数的平方)。

  1. 使用Matlab绘制散点密度图,可参考:“如何使用Matlab绘制hist2d/密度散点图” — 
  2. 还可通过R语言绘制,可参考:“Density 2d” — https://r-graph-gallery.com/2d-

四、相关性空间分布图

当需要在流域、全国、甚至全球这样的大空间尺度上进行相关性分析时,简单的散点图+拟合线难以表达出相关性的空间变异性。此时,在每个网格单元上计算变量之间的相关系数,并绘制其空间分布图,会是一个很好的选择。

例如,下图展示了1982-2015年北纬30°以上的地区植被生长与水资源可用性指数之间相关性的空间分布及相应的统计值。图中的黑色原点表示该点所在计算单元的相关系数通过了显著性检验(p<0.05)。

  1. 可通过Matlab计算栅格数据相关性及其显著性(M-K检验),参考:“【Matlab】栅格数据相关分析及显著性检验”

五、相关性矩阵图

相关性矩阵图的表达优势在于单个图上丰富的颜色变化可直观反映数据信息,同时,矩阵上还可以同时显示对应的p-value数值,添加其他图形元素等,在一张图中展现出多个变量间的关联方向、关联数量和关联强度等关联特征。

如下图的图(a)和图(b)分别利用了相关性矩阵图来验证策略a和a+下增强回归树(BRT)模型在时间尺度上的性能。该矩阵中的绿色色块越多且越深,则说明该策略下的训练数据和测试数据的相关性越高;反之,深棕色色块越多且越深,则说明该策略下的训练数据和测试数据的相关性越低。

相关性矩阵图除了上图的表达方式外,还可根据自己的需求对图的颜色、图例、数值标签等特征进行调整,一般可以通过R语言的corrplot包、corrgram包、GGally包、ggcorrplot包等实现,参考:

“超多类别!这个相关性矩阵绘制工具绝了!”

“corrplot包可视化相关性矩阵的详细教程”

六、成对矩阵图

成对矩阵图融合了散点图、关系拟合线、概率分布图以及相关系数值。能将图和表格数据结合起来,真正做到一图胜千言!适用于多变量相关性分析的可视化。

成对矩阵图可通过R语言的ggpair函数实现方法,参考:

“Pairs plot with ggpairs” — https://r-charts.com/correlatio

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/305350.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt中的网络通信

C没有封装专门的网络套接字的类&#xff0c;因此C只能调用C对应的API&#xff0c;而在Linux和Windows环境下的API都是不一样的 Qt作为一个C框架提供了相关封装好的套接字通信类 在Qt中需要用到两个类&#xff0c;两个类都属于network且都是属于IO操作&#xff0c;只不过这两个类…

混合云构建-如何通过Site to Site VPN 连接 AWS 和GCP云并建立一个高可用的VPN通信

如果我们的业务环境既有AWS云又有GCP云,那么就需要将他们打通,最经济便捷的方式就是通过Site-to-Site VPN连接AWS和GCP云,你需要在两个云平台上分别配置VPN网关,并建立一个VPN隧道来安全地连接这两个环境,我们下面演示一个高可用场景下的S2S VPN线路构建,采用动态BGP协议…

Innodb架构解析

整体架构 通过《面试官&#xff1a;一条SQL是如何执行的&#xff1f;》我们了解了MySQL架构&#xff0c;下面我们看下Innodb架构。 innodb最早由Innobase Oy公司开发&#xff0c;5.5版本开始是MySQL默认存储引擎&#xff0c;该存储引擎是第一个完整支持ACID事务的MySQL存储引…

git修改本地提交历史邮箱地址

1、Git&#xff08;Git&#xff09; 2、修改Git本地提交历史中的邮箱地址 使用 git rebase 命令进行交互式重置。 具体步骤如下&#xff1a;&#xff08;https://git-scm.com/docs/git-rebase&#xff09; 1、查看提交历史&#xff1a; 使用 git log 命令列出提交历史&#x…

弹簧、质量的bode、nyquist与根轨迹图

在控制系统分析中&#xff0c;Bode图、Nyquist图和根轨迹图都是重要的工具&#xff0c;用于评估和分析系统的性能。这些系统的Nyquist图提供了最大的旋转&#xff0c;即它们在频率变化时表现出最大的相位变化。当Nyquist图完全位于虚轴上时&#xff0c;意味着系统的增益&#x…

【学习】移动端兼容性测试有什么方法及重要性

随着移动互联网的快速发展&#xff0c;移动应用程序已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;由于各种移动设备的硬件和软件差异&#xff0c;移动应用程序的兼容性问题也越来越突出。因此&#xff0c;移动端兼容性测试成为了一个重要的环节&#xff0c;它可以…

猝不及防 CCF-B ICPP 2024投稿延期至4月22日提交摘要 机会来了别错过

会议之眼 快讯 第53届ICPP&#xff08;International Conference on Parallel Processing&#xff09;即国际并行处理会议将于 2024年 8月12日-15日在瑞典哥特兰岛举行&#xff01;ICPP是世界上最古老的连续举办的并行计算计算机科学会议之一。它是学术界、工业界和政府的研究…

1572. 【基础赛】涂色(paint)

1572. 【基础赛】涂色&#xff08;paint&#xff09; (Input: paint.in, Output: paint.out) 时间限制: 2 s 空间限制: 256 MB 具体限制 题目描述 Introl获得了一个N行的杨辉三角&#xff0c;他将每行中值为奇数的位置涂为了黑色。 Chihiro将提出M次询问&#xff0c;在第L…

C语言强制类型转换

目录 王道ppt总结&#xff1a; ​编辑相关博主文章&#xff1a; 王道ppt总结&#xff1a; 相关博主文章&#xff1a;char范围详解&#xff0c;为什么是-128~127,以及int类型范围详解&#xff08;整型数据在内存中的存储&#xff09;_char型和int型数据范围-CSDN博客https://b…

数据分析——数据规范化

数据规范化是数据分析中的一个重要步骤&#xff0c;其目的在于确保数据的一致性和可比性&#xff0c;提高数据质量和分析结果的准确性。以下是一些数据规范化的常见方法和技术&#xff1a; 数据清洗&#xff1a;此步骤主要清除数据中的重复项、空格、格式错误等&#xff0c;确…

微信小程序uniapp+vue电力巡线任务故障报修管理系统2q91t

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 前端开发:vue 语言&#xff1a;javapythonnodejsphp均支持 运行软件:idea/eclipse/vscode/pycharm/wamp均支持 框架支持:Ssm/django/flask/t…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第九套

华为海思校园招聘-芯片-数字 IC 方向 题目分享(共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;——第九套 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#xff…

套接字通信模型

本文内容主要参考《Android图形显示系统》 套接字也就是socket&#xff0c;一般用于网络中两个主机之间应用进程进行通信&#xff0c;在同一个主机也可以使用套接字完成进程之间的通信。 在图形显示系统中&#xff0c;用到套接字进行通信的地方主要有VSync信号的分发以及输入事…

代码随想录算法训练营第五十一天 |309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费

代码随想录算法训练营第五十一天 |309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费 309. 买卖股票的最佳时机含冷冻期题目解法 714. 买卖股票的最佳时机含手续费题目解法 感悟 309. 买卖股票的最佳时机含冷冻期 题目 解法 题解链接 1. class Solution { …

2012年认证杯SPSSPRO杯数学建模A题(第二阶段)蜘蛛网全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 A题 蜘蛛网 原题再现&#xff1a; 第二阶段问题   现在我们假设一个具体的环境。假设有一个凸多边形的区域&#xff0c;蜘蛛准备在这个区域&#xff08;或其一部分&#xff09;上结一张网。   问题一&#xff1a; 在区域的边界上安置有若干…

在keil里用c++编程(1)

做嵌入式开发时&#xff0c;我们对使用c语言写的库有强烈的需求&#xff0c;比如eigen&#xff0c;boost等&#xff0c;但是通常来说&#xff0c;我们的开发是围绕c语言进行的&#xff0c;怎么把c的库文件放在c语言环境下进行编译&#xff0c;就是我们需要面对的问题 1.问题来…

【c++】STl-list使用list模拟实现

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;c_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 …

Linux下网络编程基础知识--协议

网络基础 这一个课程的笔记 相关文章 协议 Socket编程 高并发服务器实现 线程池 协议 一组规则, 数据传输和数据的解释的规则。 比如说依次发送文件的文件名, 文件的大小, 以及实际的文件, 这样规定发送一个文件的顺序以及发送的每一个部分的格式等可以算是一种协议 型协议 …

【MATLAB源码-第185期】基于matlab的16QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术&#xff0c;作为一种高效的调制方案&#xff0c;能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…

二分查找-图文详解,看不懂你来打我。。。

一、查找算法 在计算机科学和算法领域&#xff0c;搜索是一项基本的任务。在海量数据中寻找特定的元素是一项常见的任务&#xff0c;而二分查找&#xff08;Binary Search&#xff09;是一种非常高效的搜索算法&#xff0c;特别适用于有序数组。 二、二分查找 二分查找是一种…