相关性计算

在做曲线相关性计算时候,一般都会考虑皮尔森系数(pearson correlation),这个皮尔僧系数其实就是计算 两条曲线的相关系数。

回顾一下协方差:这里写图片描述

具体还是知识还是看看同济的概率论与数理统计把,P106

在matlab中很方便计算两条曲线的相关系数,r=corrcoef(x,y)

在这儿我自己写了个计算协方差矩阵的函数,算出来的结果和用matlab的cov(x)结果一样

function learn_cov()
%  学习协方差矩阵,自己计算协方差矩阵系数。
%  协方差矩阵就是计算所有样本每个维度之间的相关性,这儿的相关性用的协方差来表示
    mtx=fix(rand(10,3)*50);
    dm1=mtx(:,1);
    dm2=mtx(:,2);
    dm3=mtx(:,3);

     cov12=sum((dm1-mean(dm1)).*(dm2-mean(dm2)))/(size(dm1,1)-1);  % 计算协方差矩阵C12
     cov13=sum((dm1-mean(dm1)).*(dm3-mean(dm3)))/(size(dm1,1)-1);
     cov23=sum((dm2-mean(dm2)).*(dm3-mean(dm3)))/(size(dm1,1)-1);
     cov11=sum((dm1-mean(dm1)).*(dm1-mean(dm1)))/(size(dm1,1)-1);
     cov22=sum((dm2-mean(dm2)).*(dm2-mean(dm2)))/(size(dm1,1)-1);
     cov33=sum((dm3-mean(dm3)).*(dm3-mean(dm3)))/(size(dm1,1)-1);
     cov_my=[cov11,cov12,cov13;cov12,cov22,cov23;cov13,cov23,cov33];   % 自己计算得到的协方差矩阵

     cov_matlab=cov(mtx);   %  matlab计算得到的

     disp(cov_my);
     disp(cov_matlab);%     结果一致
end

这里写图片描述

其实corrcoef()是计算白化后的协方差矩阵,用cov(x)可以计算x得协方差矩阵,协方差矩阵就是计算所有样本每个维度之间的相关性

比如这里写图片描述

a,b向量的相关性系数就是0.3763

再比如,随机矩阵mtx
这里写图片描述
这里写图片描述
对角线处因为是自相关,故系数肯定为1,像r(1,4)=-0.3788代表第一列和第四列相关性为-0.3788

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值