拿捏!相关性分析,一键出图!皮尔逊、斯皮尔曼、肯德尔、最大互信息系数(MIC)、滞后相关性分析,直接运行!独家可视化程序!

本文主要是介绍拿捏!相关性分析,一键出图!皮尔逊、斯皮尔曼、肯德尔、最大互信息系数(MIC)、滞后相关性分析,直接运行!独家可视化程序!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

适用平台:Matlab2020及以上

相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系程度。通过相关性分析,我们可以了解变量之间的相互关系、依赖性,以及它们是如何随着彼此的变化而变化的。相关性分析通常包括计算相关系数或其他衡量关联度的指标。

①量化特征之间的关联程度:通过相关系数的值,我们可以判断它们的关系是强烈的、中等还是弱。

②特征降维:在大规模数据集中,相关性分析可以帮助我们过滤掉与目标序列关系较弱的变量,从而聚焦于关键的特征。

降维的方法:皮尔逊(Pearson)、斯皮尔曼(Spearman)、肯德尔(Kendall)、最大互信息系数(MIC)、滞后相关性。分别绘制出相关性矩阵,并且矩阵中每个值我们都用饼图表示,看着更加高大上!加深审稿人对文章的好感。

下面分别介绍这几种相关性分析的特点:

皮尔逊相关系数:皮尔逊相关系数衡量的是两个变量之间的线性关系。它通过计算协方差和两个变量的标准差来完成。皮尔逊相关系数在处理线性关系强的数据时非常有效,取值范围在 -1 到 1 之间,正值表示正相关,负值表示负相关,0 表示无关。

斯皮尔曼相关系数:斯皮尔曼相关系数是一种基于秩次的非参数方法,用于衡量两个变量之间的单调关系。首先将变量的原始数据转化为秩次,然后计算秩次的皮尔逊相关系数。适用于非线性关系,对异常值不敏感,取值范围也在 -1 到 1 之间。

肯德尔相关系数:计算过程类似斯皮尔曼相关系数,肯德尔相关系数也是基于秩次的非参数方法。它测量的是两个变量的等级之间的一致性程度,而不是直接测量它们的秩次之间的线性关系。适用于非线性关系,对异常值不敏感,常用于秩次数据的相关性分析。

最大互信息系数(MIC):最大互信息系数是一种非参数方法,用于测量两个变量之间的非线性关系。它通过将数据空间划分为网格,并计算每个网格中的互信息来完成。对于非线性关系的探测性能较好,但计算较复杂。

滞后相关性:滞后相关性衡量的是两个变量之间在时间上的延迟关系。通过计算变量在不同时间点上的相关性来确定它们是否存在滞后关系。适用于时间序列数据,能够揭示时间上的因果关系。

总结:上述方法都有其适用的场景和局限性。选择哪种方法取决于你们的数据特点以及你的侧重点问题。线性相关性可以使用皮尔逊相关系数,非线性或秩次相关性可以考虑斯皮尔曼和肯德尔相关系数。滞后相关性适用于时间序列数据,而MIC较适合处理非线性关系。

部分代码:

%% 计算互相关系数(滞后相关性)% 来自公众号《创新优化及预测代码》
n2=10; %滞后时序
y=data(:,end);
x=data(:,1:end-1);
%计算x在滞后或超前0-10个时段下与y的相关性
for i=1:size(x,2)croc(:,i)=crosscorr(y,x(:,i),'NumLags',n2);
end
croc=croc';% croc中行表示变量,列表述滞后序列-n2,-n2+1,...,0,1,...,n2-1,n2 下的x与y的相关系数%% 绘制热力图
[N, D]=size(data);%% 皮尔逊相关系数 % 来自公众号《创新优化及预测代码》
% 绘制皮尔逊相关系数二维图,使用hsv颜色映射
figure;
imagesc(pearson_corr);
colorbar;
% 颜色映射
color = hsv(200);
colormap(color(30:end-30,:));
title('皮尔逊相关系数');
xlabel('特征');
ylabel('特征');% 在图中添加皮尔逊相关系数的标签
for i = 1:size(pearson_corr, 1)for j = 1:size(pearson_corr, 2)text(j, i, num2str(pearson_corr(i, j), '%.2f'), 'Color', 'k', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');end
end% 饼图 % 来自公众号《创新优化及预测代码》
pieplot(pearson_corr);
colormap(color(30:end-30,:));%% 绘制肯德尔相关系数二维图,使用Jet颜色映射 % 来自公众号《创新优化及预测代码》
figure;
imagesc(kendall_corr);
colorbar;
color = jet(200);
colormap(color(60:end-50,:));
title('肯德尔相关系数');
xlabel('特征');
ylabel('特征');% 在图中添加肯德尔相关系数的标签
for i = 1:size(kendall_corr, 1)for j = 1:size(kendall_corr, 2)text(j, i, num2str(kendall_corr(i, j), '%.2f'), 'Color', 'k', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');end
end% 饼图
pieplot(kendall_corr);
colormap(color(60:end-50,:));

这篇关于拿捏!相关性分析,一键出图!皮尔逊、斯皮尔曼、肯德尔、最大互信息系数(MIC)、滞后相关性分析,直接运行!独家可视化程序!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631033

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程