赖江山的博客分享 http://blog.sciencenet.cn/u/laijiangshan 生态、统计与R语言

博文

Mantel相关和典范相关的区别

已有 4664 次阅读 2022-4-24 23:12 |个人分类:常规统计|系统分类:科研笔记

  在生态学上,如果要研究两个矩阵(比如植物群落和微生物群落,或是群落与环境因子,以及两组不同类别环境因子之间)的相关性,通常由两种分析方案:mantel 相关和典范相关 (canonical correlation)。但这两种方法的算法有本质的区别,所回答的问题也不一样,下面简单阐述一下这两种方法的差异。

1.      Mantel相关

数据要求:两个矩阵的行数必须一致,定量或定性数据均可(如果是定性数据,只能选择gower距离矩阵),但不要求每个矩阵变量数(列数)一定要小于样本量(行数)。

原理或计算过程:将两个矩阵各自转化为nn的距离矩阵,转化后,实际上变成两个向量之间的相关,相关系数的计算公式是算法跟普通的相关是一模一样(如下图),也可以做非参数的相关分析(例如spearman相关),不同的是mantel相关系数的p值是通过置换检验获取的。另外,对于群落与环境因子或是群落与空间距离之间的mantel的相关系数有个特点就是一般是正值,负的情况基本不会出现,为什么?因为如果是负的,需要解释为样方间的物种组成相似性随着环境因子差异或是空间距离的增加而增加,这与我们的通常认为的群落的连续性或环境决定群落的自然现象相违背的。所有mantel相关以正的居多。因此,mantel相关系数也不能直接理解为两个矩阵之间的相关性,而是常规矩阵转化为距离矩阵,然后向量化的相关系数。vegan包内mantel函数可以实现Mantel分析。

 

2.      典范相关(CCorA)

数据要求:两个矩阵的行数必须一致,必须是定量数据(理论是要求正态分布),且要求每个矩阵变量数(列数)一定要小于样本量(行数)。

典范相关是研究两个矩阵的相关性,其原理可以理解为,先将两个矩阵分别做PCA,然后分别提取两个PCA的第一主成分做相关即为典范相关(第二、第三等主成分也继续做相关),只不过与平常的PCA不一样的是:平常的PCA的第一主成分是为了最大化承载矩阵的总方差(即特征根最高),但是典范相关里面的PCA的第一主成分不再追求特征根最大化,而是让两个矩阵各自的第一主成分的相关系数最高,这个原理有点类似于偏最小二乘法的回归一样,提取主成分是为了让回归模型的R2最大化。进行典范相关分析两套数据要求是多元正态分布的定量数据,并且每套数据的变量总量必须小于(n-1),n为样方数。vegan包内CCorA()函数可以实现典范相关分析。CCorA()结果展示的每个轴的相关系数,这个系数绝对值一般是递减的,但由于主成分是标准化后的数据,所以这个相关是同向的,因此相关系数取值0-1之间,也不会出现负值,所以这个相关系数大小是反映相关性的大小,不反映相关性的方向,不过说两个矩阵正相关或是负相关也没有意义,只能说两个矩阵的相关性有多高。大部分生态学研究都围绕“处理-响应”的假设进行数据分析,所以使用非对称排序更合适,因此RDACCA的应用也限制了CCorA的使用。CCorA适用于两组变量之间是否相互影响之类的研究,这类的问题在生态系统研究中经常出现,例如两组竞争类群、植被-食草动物系统、还有群落定居过程中土壤-植被相互关系的长期研究。

Vegan包里CCorA函数获得的结果,这个结果最后一部分是分别以这两个矩阵互换位置的RDA分析。




https://wap.sciencenet.cn/blog-267448-1335474.html

上一篇:如何判断简单回归的斜率是否有显著差异?
下一篇:关于rdacca.hp包如果做dbRDA的R2分解,总R2大于1,一定要在rdacca.hp函数里面参数add=T
收藏 IP: 159.226.232.*| 热度|

1 王乙棋

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 03:14

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部