精华内容
下载资源
问答
  • MATLAB源码集锦-药物相关性分析代码
  • matlab相关性分析

    千次阅读 多人点赞 2020-11-14 21:52:22
    相关性分析 一、皮尔逊相关系数 (person) 计算公式: 样本协方差:Cov(x,y)=∑i=1n(Xi−Xˉ)(Yi−Yˉ)n−1{Cov(x,y)=\frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{n-1}}Cov(x,y)=n−1∑i=1n​(Xi​−Xˉ)(Yi​...

    相关性分析

    一、皮尔逊相关系数

    (person)

    计算公式:

    样本协方差:Cov(x,y)=i=1n(XiXˉ)(YiYˉ)n1{Cov(x,y)=\frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{n-1}}

    样本标准差Sx=i=1n(XiXˉ)2n1{S_x=\sqrt{\frac{\sum_{i=1}^n(X_i-\bar{X})^2}{n-1}}}

    样本Person相关系数:rxy=Cov(X,Y)SxSy{r_{xy}=\frac{Cov(X,Y)}{S_xS_y}}

    1.1 数据间的相关性检验

    这里的相关系数指皮尔逊相关系数。

    注意:要先进行描述性统计,即在matlab或spass中画出散点图,在线性的前提下进行检验其相关系数。

    (SPSS中:图形 - 旧对话框 - 散点图/点图 - 矩阵散点图)

    相关系数越接近于1,就越正相关;越接近于-1,则越负相关。

    [R,P]=corrcoef(Test)

    其中,

    1、Test是一个矩阵,每一列为同一指标的一组数据,每一行是不同的指标,

    2、R是皮尔逊相关系数,(即使相关系数接近于1或-1,也不一定就相关,受异常值的影响,这里在成线性关系的前提下检验才有意义)

    3、P是一种概率值,若P<0.01,表示在99%的置信水平下,拒绝原假设;P<0.05或0.1同理,一般与0.05比较。

    (R和P都是两两进行比较后得到的方阵。)

    这里的原假设是H0{H_0}:这两组数据的相关系数等于0。

    那么拒绝原假设,则表示相关系数显著于0,并不是等于0的,有一定的相关性。

    1.2 正态分布检验

    前面检验相关系数时,前提除了要成线性关系,还要服从正态分布。

    skewness(x) %偏度S,x是一个向量
    kurtosis(x) %峰度K

    偏度就是判断数据的分布的图像是否两边均匀分布

    峰度就是判断分布图像的尖锐程度,服从正态分布的话,这个值是3。

    1.2.1 雅克-贝拉检验

    (Jarque-Bera test)

    适用于大样本情况 n>30 ,也称 JB 检验 JB=n6[S2+(K3)24]{JB=\frac{n}{6}[S^2+\frac{(K-3)^2}{4}]}

    matlab进行JB检验的语法:
    [h,p]=jbtest(Test(:,1),0.05) [h,p] = jbtest(Test(:,1),0.05)
    其中,

    1、第一个参数为一个向量,表示一个指标下的一组数据;

    2、第二个表示显著性水平,一般取0.05;

    3、返回值 h 为1或0,1表示拒绝原假设,0表示接收原假设。

    4、p就是一个概率值,p<0.05则h等于1。

    (这里h和p都是一个数值)

    这里的原假设H0{H_0}:这组数据服从正态分布。

    例如:h为0,表示这组数据在95%的置信水平下,接收原假设,服从正态分布。

    1.2.2 夏皮洛-威尔克检验

    (Shapiro-wilk)

    适用于小样本 3≤n≤50 ,用软件spass,导入数据后,在“分析”->“描述统计”->“探索”–>“图”,选中”含检验的正态图“即可。

    1.2.3 Q-Q图

    要求样本数据量非常大(不推荐)

    matlab中的函数 qqplot(Test(:,1))

    1、只要一个参数,值为一个向量

    2、无返回值,出现一个figure

    若图像几乎在一条直线上,则近似于正态分布。

    二、斯皮尔曼相关系数

    (spearman)

    计算公式:rs=16i=1ndi2n(n21){r_s=1-\frac{6\sum_{i=1}^nd_i^2}{n(n^2-1)}}

    其中,di{d_i}表示Xi{X_i}Yi{Y_i}之间的等级差,等级就是那一列数据按从小到大排序的排名。

    另一种定义

    斯皮尔曼相关系数被定义为等级之间的皮尔逊相关系数

    matlab中的内置函数 corr 使用的是第二种定义方式。

    2.1 corr 计算Spearman相关系数

    用法

    (1)corr(X,Y,‘type’,‘Spearman’)

    X, Y为列向量

    (2)corr(X,‘type’,‘Spearman’)

    X为矩阵,计算X各列之间的相关系数

    2.2 相关系数的检验

    小样本

    n≤30,直接查临界表即可,计算得到的相关系数 r 要大于临界值,才能得到显著的结论。

    大样本

    比较p值

    corr函数用两个参数接收时,返回的第二个参数为p值。

    三、总结

    person相关系数要满足 连续数据、正态分布、线性关系,满足这些条件的情况下优先使用person相关系数,否则就使用Spearman相关系数,非线性、不满足正态分布等都可以用spearman。

    除此之外,定序数据之间也用spearman相关系数,例如,优、良、差。

    一般情况下,很难满足正态分布的条件,所以我们用spearman相关系数。

    展开全文
  • 典型相关性分析,可以直接用的。MATLAB代码格式,只需输入变量即可。
  • 相关性分析 matlab

    2018-08-11 14:57:21
    相关性分析matlab代码,测试可行;主要用于数据分析
  • 对一对时间序列做相关性分析,包括pearson,sprearman和kendall相关分析三种。 说明 针对一对长度相同的时间序列数据,既对整体序列对做相关性分析,也对分段后的序列对做相关性分析。...matlab代码中,[r,p]为整体...

    对一对时间序列做相关性分析,包括pearson,sprearman和kendall相关分析三种。

    说明

    针对一对长度相同的时间序列数据,既对整体序列对做相关性分析,也对分段后的序列对做相关性分析。

    在分段时,设置的时间窗为60s(wintime=60),时间间隔为30s(hoptime=30),也就是每30s判断一次这一时间点前后共60s内的序列对相关性。

    matlab代码中,[r,p]为整体相关性的返回值,r1, r2, r3, p1, p2, p3为三种分段后的相关性分析的返回值。

    matlab代码如下

    x = []; %input x here
    y = []; %input y here
    
    [r,p] = corr(x,y,'type','pearson')
    
    length = size(x,1);
    path = 60/2; % compute corr every 30 datas with length of 60
    t = (ceil(length/path)-1);
    for i = 1:t
        if (i==t)
            a = x(path*(i-1)+1:length);
            b = y(path*(i-1)+1:length);
        else
            a = x(path*(i-1)+1:path*(i+1));
            b = y(path*(i-1)+1:path*(i+1));
        end
        [r1(i),p1(i)] = corr(a,b,'type','pearson');
        [r2(i),p2(i)] = corr(a,b,'type','spearman');
        [r3(i),p3(i)] = corr(a,b,'type','kendall');
        if isnan(r1(i))
            r1(i) = 0;
            r2(i) = 0;
            r3(i) = 0;
        end
    end
    
    k(1,:) = r1;
    k(2,:) = r2;
    k(3,:) = r3;
    k(4,:) = p1;
    k(5,:) = p2;
    k(6,:) = p3;
    
    展开全文
  • MATLAB图像相关性分析程序,混沌图像加密以后用来分析图像相邻像素的相关性。
  • 混沌图像加密以后用来分析图像相邻像素的相关性
  • matlab非参数代码基于局部核对齐的注释器相关性分析 该存储库包含我们基于本地化内核对齐的注释器相关性分析 (LKAAR) 模型的实现。 整个代码是用Matlab编写的,它使用了库netlab()。 分类阶段使用GPML软件()基于高斯...
  • 用于光谱分解的双色成像数据相关性分析代码 使用Matlab R2018b和Windows 10.0进行编码和测试,所需的工具箱:统计和机器学习工具箱 无需安装; 只需将Matlab的工作目录导航到该文件夹​​即可。 安装时间:1分钟...
  • matlab相关分析代码

    2018-06-12 13:40:05
    matlab相关分析代码,散点图检验,相关性检测。简单几行
  • 关于MATLAB图像相关性分析的问题

    万次阅读 2008-10-20 13:53:00
    对于下边的程序,它的功能是对读入的图像随机的选取1000对像素点,然后对像素点进行相关性分析:clear all;a=imread(lenac.bmp);for k=1:1000 i=fix(rand*250); j=fix(rand*250); x(k)=a(i+1,j+1); y(k)=a(i+2,j...

     对于下边的程序,它的功能是对读入的图像随机的选取1000对像素点,然后对像素点进行相关性分析:
    clear all;
    a=imread('lenac.bmp');
    for k=1:1000
        i=fix(rand*250);
        j=fix(rand*250);
        x(k)=a(i+1,j+1);
        y(k)=a(i+2,j+1);
    end
    sum=0.0;
    for i=1:1000
        sum=sum+x(i);
    end
    ex=sum/1000;
    sum=0.0;
    for i=1:1000
        sum=sum+y(i);
    end
    ey=sum/1000;
    sum=0.0;
    for i=1:1000
        sum=sum+x(i)*x(i);
    end
    ex2=sum/1000;
    sum=0.0;
    for i=1:1000
        sum=sum+y(i)*y(i);
    end
    ey2=sum/1000;
    dx=ex2-ex*ex;
    dy=ey2-ey*ey;
    sum=0.0;
    for i=1:1000
        sum=sum+x(i)*y(i);
    end
    exy=sum/1000;
    cov=exy-ex*ey;
    xg=cov/(sqrt(dx)*sqrt(dy))


    这里有两个错误:首先系统会提示:sqrt使用错误,原因是dx和dy是unit8类型的。还有一个就是计算错误,你会发现不管你怎么加sum后边的值都一直会是255。
    上边两处错误的原因其实都是出在unit8类型上,默认情况下,系统读入图像后储存的类型就是unit8。此时我们直接对储存图像的数据进行操作,则后边程序中出现的所有的变量就都是unit8类型的,由于unit8类型的最大值就是255,所以sum会一直停留在255不变,不管你加多少次。
    要改正这种情况有以下两种方式:
    1、将存储读入图像的矩阵强制改成double型;
    2、存储矩阵不变,但是在后边的计算中将每个变量都强制改为double型;


    如下程序就是用第二种方式改正后的程序:
    clear all;
    a=imread('lenac.bmp');
    for k=1:1000
        i=fix(rand*250);
        j=fix(rand*250);
        x(k)=a(i+1,j+1);
        y(k)=a(i+2,j+1);
    end
    sum=0.0;
    sum=double(sum);
    for i=1:1000
        sum=sum+double(x(i));
    end
    ex=sum/1000;
    sum=0.0;
    sum=double(sum);
    for i=1:1000
        sum=sum+double(y(i));
    end
    ey=sum/1000;
    sum=0.0;
    sum=double(sum);
    for i=1:1000
        sum=sum+double(x(i))*double(x(i));
    end
    ex2=sum/1000;
    sum=0.0;
    sum=double(sum);
    for i=1:1000
        sum=sum+double(y(i))*double(y(i));
    end
    ey2=sum/1000;
    dx=ex2-ex*ex;
    dy=ey2-ey*ey;
    sum=0.0;
    sum=double(sum);
    for i=1:1000
        sum=sum+double(x(i))*double(y(i));
    end
    exy=sum/1000;
    cov=exy-ex*ey;
    dx=double(dx);
    dy=double(dy);
    xg=cov/(sqrt(dx)*sqrt(dy))

    展开全文
  • 图像相邻像素相关性分析matlab

    千次阅读 2021-04-19 22:48:30
    %图像相邻像素相关性 %随机选取图像A中相邻的N个像素点,分别计算在水平,垂直,正对角和反对角方向上的相关系数 %注意是算密文图像 R G B分量分开算 function r=ImCoef(A,N) A=double(A);[m,n]=size(A);r=zeros(1,...
    %图像相邻像素相关性
    %随机选取图像A中相邻的N个像素点,分别计算在水平,垂直,正对角和反对角方向上的相关系数
    %注意是算密文图像 R G B分量分开算 
    function r=ImCoef(A,N)
    A=double(A);[m,n]=size(A);r=zeros(1,4);
    x1=mod(floor(rand(1,N)*10^10),m-1)+1;
    x2=mod(floor(rand(1,N)*10^10),m)+1;
    x3=mod(floor(rand(1,N)*10^10),m-1)+2;
    y1=mod(floor(rand(1,N)*10^10),n-1)+1;
    y2=mod(floor(rand(1,N)*10^10),n)+1;
    u1=zeros(1,N);u2=zeros(1,N);u3=zeros(1,N);u4=zeros(1,N);
    v1=zeros(1,N);v2=zeros(1,N);v3=zeros(1,N);v4=zeros(1,N);
    for i=1:N
        u1(i)=A(x1(i),y2(i));v1(i)=A(x1(i)+1,y2(i));
        u2(i)=A(x2(i),y1(i));v2(i)=A(x2(i),y1(i)+1);
        u3(i)=A(x1(i),y1(i));v3(i)=A(x1(i)+1,y1(i)+1);
        u4(i)=A(x3(i),y1(i));v4(i)=A(x3(i)-1,y1(i)+1);
    end
    r(1)=mean((u1-mean(u1)).*(v1-mean(v1)))/(std(u1,1)*std(v1,1));
    r(2)=mean((u2-mean(u2)).*(v2-mean(v2)))/(std(u2,1)*std(v2,1));
    r(3)=mean((u3-mean(u3)).*(v3-mean(v3)))/(std(u3,1)*std(v3,1));
    r(4)=mean((u4-mean(u4)).*(v4-mean(v4)))/(std(u4,1)*std(v4,1));
    
    figure;
    plot(u1,v1,'b.','linewidth',3,'markersize',3);
    axis([0 300 0 300]);
    set(gca,'XTick',0:50:300,'YTick',0:50:300,'fontsize',18,'fontname','times new roman');
    set(gca,'XTickLabel',{'0','50','100','150','200','250','300'});
    set(gca,'YTickLabel',{'0','50','100','150','200','250','300'});
    xlabel('Pixel gray value on location(\itx\rm,\ity\rm)');
    ylabel('Pixel gray value on location(\itx\rm+1,\ity\rm)');
    % figure;
    % plot(u2,v2,'b.','linewidth',3,'markersize',3);
    % axis([0 250 0 250]);
    % set(gca,'XTick',0:50:250,'YTick',0:50:250,'fontsize',22,'fontname','times new roman');
    % set(gca,'XTickLabel',{'0','50','100','150','200','250'});
    % set(gca,'YTickLabel',{'0','50','100','150','200','250'});
    % % xlabel('Pixel gray value on location(\itx\rm,\ity\rm)');
    % % ylabel('Pixel gray value on location(\itx\rm,\ity\rm+1)');
    % figure;
    % plot(u3,v3,'b.','linewidth',3,'markersize',3);
    % axis([0 250 0 250]);
    % set(gca,'XTick',0:50:250,'YTick',0:50:250,'fontsize',22,'fontname','times new roman');
    % set(gca,'XTickLabel',{'0','50','100','150','200','250'});
    % set(gca,'YTickLabel',{'0','50','100','150','200','250'});
    % % xlabel('Pixel gray value on location(\itx\rm,\ity\rm)');
    % % ylabel('Pixel gray value on location(\itx\rm+1,\ity\rm+1)');
    % figure;
    % plot(u4,v4,'b.','linewidth',3,'markersize',3);
    % axis([0 250 0 250]);
    % set(gca,'XTick',0:50:250,'YTick',0:50:250,'fontsize',22,'fontname','times new roman');
    % set(gca,'XTickLabel',{'0','50','100','150','200','250'});
    % set(gca,'YTickLabel',{'0','50','100','150','200','250'});
    % %xlabel('Pixel gray value on location(\itx\rm,\ity\rm)');
    % %ylabel('Pixel gray value on location(\itx\rm-1,\ity\rm+1)');
    end
    

    简单测试一下

    彩色明文图像baboon

    • R分量

    在这里插入图片描述

    • G分量
      在这里插入图片描述
    • B分量
      在这里插入图片描述

    密文图像:

    • R分量
      在这里插入图片描述
    • G分量
      在这里插入图片描述
    • B分量
      在这里插入图片描述
    展开全文
  • 偏小二乘法检验matlab代码地面真相 用于分析语言特征与 GroundTruth 研究的心理健康分数之间的相关性代码 概述:为了调查语言特征与抑郁症状、广泛性焦虑和自杀意念之间的关联,我们从个人博客内容中提取了语言...
  • 典型相关分析matlab实现代码典型相关分析:cca-zoo CCA,GCCA,MCCA,DCCA,DGCCA,DVCCA,DCCAE,KCCA和常规变体 现在可以使用pip install cca-zoo进行安装 这是用于CCA的方法的汇编,包括线性(ALS / scikit-learn...
  • 4 数组乘方 ) 元素对元素的幂 例 : a=[1 2 3];b=[4 5 6]; z=a^2 z = 1.00 4.00 9.00 z=a^b z = 1.00 32.00 729.00 5 向量函数 一般标量函数都可以用于数组此时函数作用于数组的 每个元素 > x=1:5;...
  • MATLAB分析曲线相关性

    千次阅读 2018-09-13 11:33:20
    示例代码: &gt;&gt; corrcoef(a,b) ans =  1.0000 0.6440  0.6440 1.0000 其中(1,1)与(2,2)为aa和bb相关系数,(1,2)为a,b相关系数,(2,1)为b,a相关系数 比如R-square (VAF): norm(y1 - ...
  • 在多元分析中我们经常要用到相关系数。常用的相关系数有三种:Pearson相关系数,Kendall相关系数和Spearman相关系数。 一、Pearson相关系数 Pearson相关系数是英国统计学家皮尔逊于20世纪提出的一种计算直线相关的...
  • matlab方差分析代码VAR工具箱 Ambrogio Cesa-Bianchi的VAR工具箱 VAR工具箱是Matlab例程的集合,用于执行矢量自回归(VAR)分析。 最新版本位于v3dot0文件夹中。 使用普通最小二乘法(OLS)进行估算。 VAR工具箱可以...
  • matlab回归分析及方程分析代码使用 Matlab 进行统计分析 心理学和社会科学线性统计入门课程教材 当前涵盖的主题(如 .m 代码中所示) 第 1 周:均值和方差 Week2:协方差、相关性和回归 第三周:回归和 t 检验 第 4 ...
  • 相关性分析

    2019-07-02 09:38:03
    自相关于互相关 相关函数是描述信号X(s),Y... 这个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关函数是描述随机信号x(t),y(t)在任意两...
  • 相关性分析

    2015-05-25 10:17:22
    matlab中对数据进行自相关和偏自相关的数据分析,并作图。
  • 基于MATLAB程序快速制作散点图、相关性分析可以采用该快捷程序
  • matlab分析成绩代码论文“用于计算机药物再利用的全基因组定位系统网络算法”的数据和Matlab代码。 数据描述(Data_mat) 所有数据都保存为.mat文件,因为所有计算均由Matlab执行。 Cancer_Specific_PPI /文件夹: ...
  • 数学建模常用模型13 :相关性分析

    万次阅读 多人点赞 2018-08-20 12:48:45
    相关分析研究的是两个变量的相关性,但你研究的两个变量必须是有关联的,如果你把历年人口总量和你历年的身高做相关性分析,分析结果会呈现显著地相关,但它没有实际的意义,因为人口总量和你的身高都是逐步增加的,从数据...
  • matlab频谱分析代码现实的微结构模拟器(RMS):3D单元中扩散的蒙特卡洛模拟(CUDA C ++) 第1部分:沿现实白质轴突的扩散时间相关性 该代码实现了最初在中开发的3d蒙特卡​​洛模拟,展示了沿白质轴突的实际轴突...
  • Yellow (Huang)/Green/Red 相关性扩展了传统的 Black and White (Pearson) 相关性以处理两个以上的元素。 目的是预测物联网智能家电的应用行为。
  • 对数据进行matlab主成分分析,然后进行因子分析 对数据进行matlab主成分分析,然后进行因子分析 对数据进行matlab主成分分析,然后进行因子分析 对数据进行matlab主成分分析,然后进行因子分析
  • SparkML之相关性分析

    千次阅读 2016-04-08 08:51:34
    相关性分析 相关性分析是考察两个变量之间的线性关系的一种统计方法,用于衡量两个变量因数的相关程度但是,请记住,相关性不等于因果性。接下来结合下图的txt格式的文件来对相关性分析进行了解两个重要的要素 从...
  • matlab2018b函数代码家庭排列ABCD 关键词:ABCD队列; 家庭亲密关系; 多级块排列; 全脑体素调解分析; 随机截距交叉滞后面板模型(RI-CLPM)。 数据和纸质代码: 沉等。 注意缺陷/多动障碍和睡眠障碍之间有什么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,670
精华内容 1,068
关键字:

matlab相关性分析代码

matlab 订阅