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

相关性检验公式:

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

参考代码:

%%相关系数分析、相关性分析
%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:生成参数之间的相关系数高度图: 

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

 

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值