来源:http://blog.sina.com.cn/s/blog_670445240101nlss.html

1   背景介绍

这是一种排序方法。假设我们对N个样方有了衡量它们之间差异即距离的数据,就可以用此方法找出一个直角坐标系(最多N-1维),使N个样方表示成N个点,而使点间的欧氏距离的平方正好等于原来的差异数据。

由于样方间的差异数据可以由各种方式给出,只要对一些差异进行定量描述,如甲型,乙型,丙型等,就可以求出样方的数量坐标,实现定性到定量的转变。

主坐标方法简单、明确、效率很高。它与主分量分析一样,最后找出的坐标系不仅正交, 而且第一轴、第二轴……依次按N个点在该轴上的方差大小顺序排列,N个点对不同两个轴都不相关。所以也可用较少的维数,特别是直观的二、三维空间去排列样方,而使信息的损失最少。

它与主分量分析不同之处在于:不是先给出N个点的坐标,去找出刚性旋转的坐标;而是只知其间的距离要去重新建立各点的坐标。因此可以不限于度量(metrtic)的相似系数公式,Pernitec(1977)采用数量数据对于寒温带森林和草地进行主坐标分析,他认为非度量(non-mertic)相似系数比度量相似系数效果更佳。

2    PCoA计算步骤

1           构成差异矩阵M

2           构成离差距阵A

就求出A矩阵的元素。以后可知,它是最后求出的N个样方点坐标矩阵的离差矩阵。这里不必证明而列出A具有的三个性质:

1,  A是对称的,即aij~aji(i,j=1,2,……,N)

2,  A的行和及列和均等于0,即Ai.=A.i=0;

3,  mij2=mji2=aii+ajj-2aij( i,j=1,2,……,N).

3           求出N个样方的坐标矩阵C

因为A是NxN的对称实矩阵,所以必存在着酉矩阵(正交矩阵)U将A变换成对角矩B,即 UAU’=B,或A=U’BU。其中B的主对角线元素为λ1, λ2,……λN,分别 是A的N个依大小排 列的特征根,而U的每一行向量是相应的特征向量。

4           排列N个样方

根据C给出的N个样方的坐标值,可以在s维空间中排列样方,而不损失信息。 与主分量分析一 样 , 可以在较低K(< s)维空间中排列样方, 则保留的信息百分比为 :

3    参考资料:

1           PCoA作图:http://blog.sina.com.cn/s/blog_670445240102uw6u.html

2    http://qzongy007.blog.sohu.com/261236424.html

PCoA主坐标分析的更多相关文章

  1. PCA主成份分析

    1   背景介绍 真实的训练数据总是存在各种各样的问题: 1. 比如拿到一个汽车的样本,里面既有以“千米/每小时”度量的最大速度特征,也有“英里/小时”的最大速度特征,显然这两个特征有一个多余. 2. ...

  2. 【主成份分析】PCA推导

    ### 主成份分析(Pricipal components analysis PCA) 假设空间$R^{n}$中有m个点{$x^{1},......,x^{n}$},希望压缩,对每个$x^{i}$都有 ...

  3. uboot主Makefile分析(t配置和编译过程详解)

    1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_c ...

  4. uboot主Makefile分析

    VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(S ...

  5. PIE SDK主/次要分析

    1.算法功能简介 主要分析功能是采用类似卷积滤波的方法将较大类别中的虚假像元归到该类中,首先定义一个变换核尺寸,然后用变换核中占主要地位(像元最多)类别数代替中心像元的类别数,次要分析相反,用变换核中 ...

  6. principal components analysis 主成份分析

    w http://deeplearning.stanford.edu/wiki/index.php/主成份分析 主成分分析(PCA)及其在R里的实现 - jicf的日志 - 网易博客  http:// ...

  7. uboot总结:uboot配置和启动过程1(主Makefile分析)

    说明:文件位置:在uboot的目录下,文件名为:Makefile 从文件的头部开始分析 1.24-29行,配置uboot的版本信息. VERSION = PATCHLEVEL = SUBLEVEL = ...

  8. uboot 主Makefile 分析。

    本文以uboot_1.1.6 对应的CPU是S3C2440 为例 uboot_1.1.6 根目录下的主Makefile开头: VERSION = PATCHLEVEL = SUBLEVEL = EXT ...

  9. uboot 主Makefile分析

    一. Makefile 配置 1.1. make xxx_config 1.1.1. 笔者实验时是make x210_sd_config a. x210_sd_config是Makefile下的一个目 ...

随机推荐

  1. Exif Info 隐私政策

    隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...

  2. Python3使用PyQt5制作简单的画板/手写板

    0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...

  3. 解决zabbix中文显示乱码问题

    中文显示问题,图表乱码 解决办法: [root@zabbix ~]# cd /usr/share/zabbix/include/ [root@zabbix include]# vim locales. ...

  4. tolua++实现lua层调用c++技术分析

    tolua++技术分析 cocos2dx+lua 前言 一直都使用 cocos2dx + lua 进行游戏开发,用 Lua 开发可以专注于游戏逻辑的实现,另外一方面可以实现热更新:而且 lua 是一个 ...

  5. Js 作用域与作用域链与执行上下文不得不说的故事 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

    最近在研究Js,发现自己对作用域,作用域链,活动对象这几个概念,理解得不是很清楚,所以拜读了@田小计划大神的博客与其他文章,受益匪浅,写这篇随笔算是自己的读书笔记吧~. 作用域 首先明确一个概念,js ...

  6. setTimeout和setInterval和单线程

    我们知道,js是单线程执行的(单线程j就是说在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行).所以其实setTimeout和setInterval所谓的"异 ...

  7. python 3.6 urllib库实现天气爬取、邮件定时给妹子发送天气

    #由于每天早上要和妹子说早安,于是做个定时任务,每天早上自动爬取天气,发送天气问好邮件##涉及模块:#(1)定时任务:windows的定时任务#             配置教程链接:http://b ...

  8. FiddlerCoreAPI开发(一)源码分析

    1.前言 前一段时间想利用fiddlercore截取本地HTTPS的流量做一些分析,按照样例代码的注释学习了一下,没搞清楚怎么实现,后来又在网上查了些资料,对HTTPS的处理提及很少,都没有解决我的问 ...

  9. android代码混淆笔记

    混淆处理的apk被反编译后代码中包名类名等都变成abcd之类.非常难看懂. 使用代码混淆.启用混淆器,对相关文件进行编辑,然后打包签名就能够了: ------------ 在2.3的版本号中,项目中有 ...

  10. IT(计算机/软件/互联网)专业词汇宝典(持续更新中)

    1.Stack Overflow:http://stackoverflow.com/      .一个著名的IT技术的问答站点.全然免费.程序猿必知. 2.programmer:程序猿 3.enthu ...