相关性计算 您所在的位置:网站首页 相关性系数算法 相关性计算

相关性计算

2023-12-23 16:39| 来源: 网络整理| 查看: 265

在做曲线相关性计算时候,一般都会考虑皮尔森系数(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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有