口水心路:意料之中的,第4章的知识学习起来很吃力。篇幅也较前几章的要长许多,心里无数次的响起过要不这一章的消化时间延长到一个月吧?加之其他的学习任务也挺繁重的,要不要给自己多一点点时间呢?如题,不能对自己妥协,试都没试过怎么知道自己不行呢?这···未免有点鸡汤了。到昨天晚上我还在run code,电脑几近崩溃,总感觉它随时都可能垮掉就和我人一样,所以得赶紧跑···冲到哪里是哪里,加油。
在这一章中,主要学习如何选择合适的聚类方法并进行计算,以及使用不同的聚类方法分析Doubs数据集,确认样方组合物种组。
这里介绍的方法主要解决的是哪些对象有足够的相似性能够被归于一组,并且确定组与组之间的差异或分离程度。
聚类实际上是对研究对象或者变量集合进行分组。硬划分是指将总体划分为不同的部分,每个对象或变量必须且只能归属于某一组。对象归属身份信息只能是二元数据。而模糊划分的方法,对象归属身份信息可以是连续的。最后聚类分析结果输出可以是无层级分组,也可以是具有嵌套结构的层次聚类树。聚类分析言任何的统计假设,所以不是典型的统计方法。但是分组后的“稳健性”是可以检验的。聚类分析有助于探索隐藏在数据背后的属性特征。
不同类型的聚类方法:
连续或同步的算法:大部分聚类的运算规则是连续的,包含使用不断重复的步骤直到所有对象都被归类。同步算法比较少用,它只需一步即可解决问题。
聚合或分划:聚合是从单个对象开始,逐步聚合,最后所有对象聚合成一个类群;分划是从对象总体开始,逐步分成低级类群,知道最后所有的对象被完全分开。
单元和多元:单元是指在对象分类中每一步仅依据一个描述变量;多元则依据所有的描述变量进行分类。
层次法和非层次法:层次法中,低级的聚类簇是高级聚类簇的一部分,聚类结果可以用树状图表示。非层次法的结果只给出所分类群及每一类所含的对象,聚类簇之间没有层次性。
概率法和非概率法:概率法是指如果组内的对象(变量)的关联矩阵同质性的概率符合预先设定的概率则可以定义为一个分类组。
非约束法和约束法:非约束法的聚类依赖于单个数据集的信息,而约束法使用两个矩阵,第一个是被划分的数据矩阵,第二个是用来约束(或导向)第一个矩阵划分过程的解释变量矩阵。
基于连接的层次聚类:分为单连接聚合聚类和完全连接聚合聚类两种。单连接聚合聚类聚合对象的依据是最短的成对距离。即在一个对象(或一个组)选择另一个对象(或一个组)融合的依据是看与哪个对象(或组)在所有可能成对距离中最短。两个分类组的距离即为两个组中最近的两个对象间的距离。所以单连接聚合聚类的过程是一对对象连接第三个对象,形成新组后再连接下一个对象,直到全部对象被连接完毕为止。而完全连接聚合聚类允许一个对象(或一个组)与另一个组聚合的依据是最远距离对。单连接聚合聚类比较容易识别数据梯度;完全连接聚合聚类适合寻找和识别数据的间断分布。
平均聚合聚类:是一类基于对象间平均相异性或聚类簇形心的聚类方法。
Ward最小方差聚类:基于最小二乘法线性模型准则的聚类方法,分组的依据是使组内平方和(即方差分析的方差)最小化。聚类簇内方差和等于聚类簇内成员间距离的平方和除以对象的数量。
灵活聚类:又叫β-灵活聚类。涵盖了上面所提到的聚类方法的模型,通过设置参数β来实现。α=(1-β)/2
聚类分析是一种探索性分析,而非统计检验。影响聚类结果的因素包括聚类方法本身和用于聚类分析的关联系数的选择。
同表型距离:一个聚类树内两个对象之间的同表型距离是两个对象在同一组分类水平内的距离。具有最高的同表型相关系数的聚类方法可视为原始矩阵最好的聚类模型。
Gower距离:等于原始距离与同表型距离之间差值的平方和。具有最小Gower距离的聚类方法也可视为原始矩阵最好的聚类模型。
寻找可解读的聚类簇
First:评估聚类簇的稳健性。
聚类树的融合水平值:是聚类树中两个分支融合出的相异性的数值。其变化图有助于定义裁剪的水平。
多尺度自助重采样:原理是从数据集中随机抽取子集数据,然后进行这些子集数据长度聚类分析。再进行大量多次的循环运算,计算每个聚类簇发生的次数比例(自助概率BP)。
即利用不同抽样规模的重抽样来估计每个聚类簇的p值,产生AUP值(近似无偏P值)。
高AU值的聚类簇表示受到数据的高度支持。
红色框表示聚类簇具有显著的AUP值(p≥0.95),而蓝色框表示聚类簇具有较小的p值(p≥0.91)。有助于凸显最“稳健”的样方组。
Second:确定合适的聚类簇的数量。
轮廓宽度值:是指一个对象与所属聚类簇归属程度的测度,是该对象与同一组内其他对象的平均距离和该对象与最临近聚类簇内所有对象平均距离的比较。[-1,1]
轮廓宽度值越大,对象聚类越好,负值意味着该对象有可能被错分到当前聚类簇内。
距离矩阵和代表分组的二元矩阵的比较:计算原始距离与代表不同分类水平的二元矩阵之间的相关性。相关系数最高则最优。
物种保真度分析:其基本思想是保留能够最大程度被诊断物种表征的聚类簇,诊断物种即是在一组样方中多度相对更多且更均匀的物种。采用集成了特异性和保真度的IndVal指数。
非层次聚类:先分组,再优化。分组依据是尽量使组内对象之间比组间对象之间的相似度更高。(不同量纲的变量需要标准化。)
K-均值划分:使用数据局部结构构建聚类簇:通过确认数据高密度区构建分类组。(K-均值划分是一种线性模型的方法,不适合含有很多零值的原始数据。用前需对数据进行预转化。)
给定K值进行分组,SSE最小时方案最佳,ssi指标(简单结构指标)用于确定K值。
PAM(围绕中心点划分):从所有的数据观测点寻找k个代表性的对象或形心点,这些代表性的对象应该反映数据的主体结构。K个形心点选定后,将每个观测点分配给某个形心点构建k个聚类簇,不断寻找最佳的k个代表性对象,使对象之间的相异性总和最小。
Pam()的优势是可以输入更多类型的关联测度,并且允许通过轮廓宽度值确定最佳的分组数量。
用环境数据进行比较
用外部数据进行类型比较:以样方聚类簇为因子对解释变量进行方差分析:首先检验某一环境变量是否符合方差分析假设,然后用传统的单因素方差分析或非参数的Kruskal-Wallis检验解释变量在组间是否有显著差异。
双类型比较(列联表分析):只想直接比较分别基于物种数据和环境数据的样方聚类结果时使用。用列联表Fisher精准检验比较两种样方聚类结果是否有显著差异。
物种集合
组内数据简单统计:对聚类分析获得的样方组进行简单统计,寻找每组样方内数量多、频度高或最有代表性的物种。
Kendall共性系数(W):适合数据量较小时使用。首先K-均值法分组,然后进行全局检验(判断是否所有物种组显著关联;若不显著,则可能需要再多划分几个组。)接着进行后验概率检验(同组内物种是否具有共性)
物种共生网络:研究物种之间或群落之间的生态相互作用等。原理是分析生态群落内或多营养级的物种组合内物种之间的关联程度。
指示物种
指示值指数:基于特异性(当该物种只存在目标生境,而不存在其他生境的时候数值最高)和保真度(物种在目标生境的所有样方都出现的时候数值最高)。
相关指数测量一个物种在样方内是否存在或多度值的向量与样方在样方组中归属的向量之间的Pearson相关系数。
指示值指数在评估物种能否作为指示物种方面更有用,而相关指数用于决定物种的生境偏好更有用。
IndVal指数是一个物种在一个样方组内平均多度和出现频率的组合。一个物种指示值高表示该样方组内平均多度大于其他样方组(特异性),并且该物种在该组内绝大部分样方都存在(均匀度)。
找指示物种有两种方法:①基于物种数据的样方聚类结果,这时指示种就是聚类组中最显著最有代表性的成员。(但是有点自证嫌疑)
②先基于非物种数据对样方进行聚类,然后再找指示物种。指示值的后验可以通过置换检验进行评估。
在解释置信区间是,需要记住的是任何指示值的置信区间下限等于0可以被认为是不显著的,因为该值可能也是本身大于0的。而如果两个值的置信区间重叠则被认为没有显著差异。
相关类型的指数可以帮助识别物种在一组样方中的生态偏好。但用的时候需要知道缺失值缺失的原因。
多元回归树(MRT):由数据约束划分,和分组结果交叉验证两部分组成。
运算流程:先随机将数据分为K组,从K组中取出1组作为验证组,剩余的重新混合通过约束划分建立回归树,分组原则是最小化组内SS。产生回归树;裁剪回归树。
这里使用的是mvpart和MVPARTwrap包。但是这两个包在14年的时候被删除了,需要从github上获取,这点我在最开始载入安装包的地方加入了具体的操作。
在MRT过程中,如果响应变量和解释变量在同一个矩阵,就是单元聚类。聚类过程中选择单个响应变量进行作为分组的依据。
顺序聚类:当数据本身具有空间和时间系列属性时,对数据进行分组需要考虑数据之间的连续性。通过比较层次分类的离差和断棍模型的离差选择聚类的数量。建议分组是选择,SS大于断棍模型的的点。
模糊聚类:一个对象可以不同程度归属于两个组或多个组。
使用c-均值模糊聚类,一个对象可以赋予不同的组,对象与组之间的归属程度可以通过成员值衡量。一个对象在某一组内的成员值越高,表示该成员与该组之间关系越紧密。每个对象的成员值总和为1。
链接:https://pan.baidu.com/s/1U-4JksZ_wQCEcBn01Tt4YA
提取码:ygli