matlab 相关性分析 相关系数地图生成

发布时间:2025-01-05 16:01

相关性检验公式:

matlab 相关性分析 相关系数地图生成_第1张图片matlab 相关性分析 相关系数地图生成_第2张图片

matlab 相关性分析 相关系数地图生成_第3张图片

输入表格结构展示:第一行为参数表头 第一列为样本序号 最后一列为说需预测的真实值

matlab 相关性分析 相关系数地图生成_第4张图片

参考代码:

%%相关系数分析、相关性分析
%foddcus
%输入:input_c 相关系数检验的表格 格式为有表头和序号 大小为(N+1)*(N+2);最后一列应为所需预测的目标值
%输出:correlationF:N个参数之间相关性系数的矩阵值,大小为N*N;
%correlationPaRa:参数与目标值的相关性 大小为1*N


%function [correlationF,correlationPaRe]=correlationIndexA(input_c,mode)
%%
clear all
clc
input_c=xlsread("E:\BaiduNetdiskWorkspace\试验\总表Version1.5.xlsx");
input_c=input_c(:,2:end);
title_c=input_c(1,1:end-1);
input_c=input_c(2:end,:);
%%

[ynum,xnum]=size(input_c);
Minput=mean(input_c);
for i=1:xnum
    for j=i:xnum
        rLxA=0;
        rUp=0;
        rLyA=0;
        for y=1:ynum
            rU=(input_c(y,i)-Minput(1,i))*(input_c(y,j)-Minput(1,j));
            rUp=rU+rUp;
            rLx=(input_c(y,i)-Minput(1,i))^2;
            rLxA=rLx+rLxA;
            rLy=(input_c(y,j)-Minput(1,j))^2;
            rLyA=rLy+rLyA;
        end
        r=rUp/((rLxA*rLyA)^(0.5));
            correlationF(i,j)=r;
            correlationF(j,i)=r;   
    end
end
correlationPaRe=correlationF(end,1:end-1);
correlationF=correlationF(1:end-1,1:end-1);
figure
disTitle=title_c(1,3)-title_c(1,2);
[xi,yi]=meshgrid(title_c(1,1):disTitle:title_c(1,end));
surf(xi,yi,correlationF);
xlabel('wave length'),ylabel('wave length'),zlabel('correlation');
title('correlation height diagram');

figure('name','correlation')
x=title_c(1,1):disTitle:title_c(1,end);
 %线性,颜色,标记
 plot(x,correlationPaRe);
 xlabel('wave length')  %x轴坐标描述
ylabel('R') %y轴坐标描述

 

参考输出:

对输出表格coreelationF:生成参数之间的相关系数高度图: 

matlab 相关性分析 相关系数地图生成_第5张图片

输出2:参数与预测目标真实值的相关性:

matlab 相关性分析 相关系数地图生成_第6张图片

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号