系统聚类

  系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图。此外,系统聚类可以解决簇数 K 的取值问题,后文会给出 SPSS 操作的流程。


目录

  • 系统聚类
  • 一、样本与样本间的距离
  • 二、指标与指标之间的距离
  • 三、类与类之间的距离
  • 四、系统聚类法流程
  • 五、案例分析
  • 六、肘部法则对模型的修正
  • 七、模型扩展(★)

一、样本与样本间的距离

例:下表是30个学生的六门课的成绩。根据这30个人的成绩,对这30个学生进行分类。
  


样本与样本之间的常用距离(样本 iii 与样本 jjj):
1、绝对值距离:d(xi⃗,xj⃗)=∑k=1p∣xik−xjk∣2、欧式距离:d(xi⃗,xj⃗)=∑k=1p(xik−xjk)23、Minkowski距离:d(xi⃗,xj⃗)=[∑k=1p(xik−xjk)q]1q4、Chebyshev距离:d(xi⃗,xj⃗)=max1≤k≤p∣xik−xjk∣5、马氏距离:d(xi⃗,xj⃗)=(xi⃗,xj⃗)′∑−1(xi⃗,xj⃗)其中:x⃗i=(xi1,xi2,...,xip)′,x⃗j=(xj1,xj2,...,xjp)′1、绝对值距离:d(\vec{x_i},\vec{x_j})=\sum_{k=1}^{p}|x_{ik}-x_{jk}|\\ 2、欧式距离:d(\vec{x_i},\vec{x_j})=\sqrt{\displaystyle\sum_{k=1}^{p}(x_{ik}-x_{jk})^2}\\ 3、Minkowski距离:d(\vec{x_i},\vec{x_j})=\left[ \sum_{k=1}^{p}(x_{ik}-x_{jk})^q \right]^{\frac{1}{q}}\\ 4、Chebyshev距离:d(\vec{x_i},\vec{x_j})=\mathop{max}\limits_{1≤k≤p}|x_{ik}-x_{jk}|\\ 5、马氏距离:d(\vec{x_i},\vec{x_j})=(\vec{x_i},\vec{x_j})^{'}\sum\nolimits{}^{-1}(\vec{x_i},\vec{x_j})\\ 其中:\vec x_i=(x_{i1},x_{i2},...,x_{ip})^{'},\quad\vec x_j=(x_{j1},x_{j2},...,x_{jp})^{'} 1、绝对值距离:d(xi​​,xj​​)=k=1∑p​∣xik​−xjk​∣2、欧式距离:d(xi​​,xj​​)=k=1∑p​(xik​−xjk​)2​3、Minkowski距离:d(xi​​,xj​​)=[k=1∑p​(xik​−xjk​)q]q1​4、Chebyshev距离:d(xi​​,xj​​)=1≤k≤pmax​∣xik​−xjk​∣5、马氏距离:d(xi​​,xj​​)=(xi​​,xj​​)′∑−1(xi​​,xj​​)其中:xi​=(xi1​,xi2​,...,xip​)′,xj​=(xj1​,xj2​,...,xjp​)′


例:

    


二、指标与指标之间的距离

例:根据这30个人的成绩,将六门课程分为两类。


指标与指标之间的常用距离(指标 i 与指标 j )

相关系数:ρ(Xi,Xj)=∑k=1p(xˉki−xˉi)(xˉkj−xˉj)∑k=1p(xˉki−xˉi)2(xˉkj−xˉj)2夹角余弦:r(Xi,Xj)=∑k=1pxkixkj∑k=1pxki2∑k=1pxkj2相关系数:\rho(X_i,X_j)=\frac{\displaystyle\sum_{k=1}^{p}{(\bar x_{ki}-\bar x_i)(\bar x_{kj}-\bar x_j)}}{\sqrt{\displaystyle\sum_{k=1}^{p}{(\bar x_{ki}-\bar x_i)^2(\bar x_{kj}-\bar x_j)^2}}}\\ 夹角余弦:r(X_i,X_j)=\frac{\displaystyle\sum_{k=1}^{p}{x_{ki}x_{kj}}}{\sqrt{\displaystyle\sum_{k=1}^{p}{x_{ki}^2\displaystyle\sum_{k=1}^{p}{x_{kj}^2 }}}} 相关系数:ρ(Xi​,Xj​)=k=1∑p​(xˉki​−xˉi​)2(xˉkj​−xˉj​)2​k=1∑p​(xˉki​−xˉi​)(xˉkj​−xˉj​)​夹角余弦:r(Xi​,Xj​)=k=1∑p​xki2​k=1∑p​xkj2​​k=1∑p​xki​xkj​​

用的比较少,了解即可。


三、类与类之间的距离

  类与类之间的距离就是集合与集合之间的距离。

类与类之间的距离有如下两个属性:

  1. 由一个样品组成的类是最基本的类;如果每一类都由一个样品组成,那么样品间的距离就是类间距离。
  2. 如果某一类包含不止一个样品,那么就要确定类间距离,类间距离是基于样品间距离定义的。

定义:GpG_pGp​和 GqG_qGq​是两个类,D(Gp,Gq)D(G_p,G_q)D(Gp​,Gq​)是这两个类的距离。xi∈Gp,xj∈Gqx_i∈G_p,x_j∈G_qxi​∈Gp​,xj​∈Gq​,d(xi,xj)d(x_i,x_j)d(xi​,xj​)是两个样本之间的距离。


类与类之间的距离有如下几种定义:

  1. 最短距离法:
    D(Gp,Gq)=min⁡d(xi⃗,xj⃗)D(G_p,G_q)=\min d(\vec{x_i},\vec{x_j}) D(Gp​,Gq​)=mind(xi​​,xj​​)

  1. 最长距离法:
    D(Gp,Gq)=max⁡d(xi⃗,xj⃗)D(G_p,G_q)=\max d(\vec{x_i},\vec{x_j}) D(Gp​,Gq​)=maxd(xi​​,xj​​)
  2. 组间平均连线法
    D(Gp,Gq)=d1+d2+d3+d44D(G_p,G_q)=\frac{d_1+d_2+d_3+d_4}{4} D(Gp​,Gq​)=4d1​+d2​+d3​+d4​​
  3. 组内平均连接法
    D(Gp,Gq)=d1+d2+d3+d4+d5+d66D(G_p,G_q)=\frac{d_1+d_2+d_3+d_4+d_5+d_6}{6} D(Gp​,Gq​)=6d1​+d2​+d3​+d4​+d5​+d6​​
  4. 重心法
    D(Gp,Gq)=d(xpˉ,xqˉ),两个类的中心如下:xˉp=x⃗p1+x⃗p22,xˉq=x⃗q1+x⃗q22D(G_p,G_q)=d(\bar{x_p},\bar{x_q}),两个类的中心如下:\bar x_p=\frac{\vec x_{p1}+\vec x_{p2}}{2},\bar x_q=\frac{\vec x_{q1}+\vec x_{q2}}{2} D(Gp​,Gq​)=d(xp​ˉ​,xq​ˉ​),两个类的中心如下:xˉp​=2xp1​+xp2​​,xˉq​=2xq1​+xq2​​

四、系统聚类法流程

流程图如下:


五、案例分析

根据五个学生的六门课的成绩,对这五个学生进行分类。


  1. 写出样品间的距离矩阵(以欧氏距离为例)

  1. 将每一个样品看做是一个类,即 G1,G2,G3,G4,G5。观察 D(G1,G5)=15.8最小,故将 G1 与 G5 聚为一类,记为G6。计算新类与其余各类之间的距离,得到新的距离矩阵D1。


  1. 观察 D(G2,G4)=15.9 最小,故将G2与G4聚为一类,记为G7。计算新类与其余各类之间的距离,得到新的距离矩阵D2。


  1. 观察 D(G6,G7) =18.2最小,故将G6与G7聚为一类,记为G8。 计算新类与其余各类之间的距离,得到新的距离矩阵 D3。


  1. 最后将G8与G3聚为一类,记为G9。


SPSS操作:
  分析 → 分类 → 系统聚类,将变量与标注依据分别加入到对应的组中。 保存图示如下,方法中的标准化,如果量纲不同,则选择 Z 得分。


结果分析:

  SPSS运行出的谱系图,可根据自己的需求划分出要聚类的个数,方法是画竖线,如下图,将样本化分为 3 类。第一类是广东、上海,第二类是北京、浙江、天津、西藏、福建,第三类是其余的省份。(这道例题选取:1999年全国31个省份城镇居民家庭平均每人全年消费性支出数据 )
  
  虽说系统聚类对于 K 的选取提供了一些方案,但是我们对 K 的选取还存在一定的主观性,因此需要应用肘部法则来修正系统聚类。


六、肘部法则对模型的修正

  肘部法则是通过图形大致的估计出最优的聚类数量。应用了SPSS输出文档中的集中计划中的系数,需要将系数进行排序之后,应用 excel 生成图像,如下图:
    
  从上图可以看出 K 取1到5时,畸变程度变化最大。超过5以后,畸变程度变化显著降低。因此 K可以取 5,当然 3 也可以,只要给出理由。


  确定 K 之后,即可重新聚类,注意保存中选取单个解为 K 的值。如 K=3:

  


七、模型扩展(★)

  1. 对于一个实际问题要根据分类的目的来选取指标,指标选取的不同分类结果一般也不同。
  2. 样品间距离定义方式的不同,聚类结果一般也不同。
  3. 聚类方法的不同,聚类结果一般也不同(尤其是样品特别多的时候)。最好能通过各种方法找出其中的共性。
  4. 要注意指标的量纲,量纲差别太大会导致聚类结果不合理。
  5. 聚类分析的结果可能不令人满意,因为我们所做的是一个数学的处理,对于结果我们要找到一个合理的解释。

  本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~

原文链接:https://www.bilibili.com/video/BV1DW411s7wi

清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析相关推荐

  1. 清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程

    聚类模型   聚类模型,就是将样本划分为有类似的对象组成的多个类的过程.聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计.分析或预测:也可以探究不同类之间的相关性和主要差异.此外,聚类与分 ...

  2. 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析

    灰色关联分析   灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小.   此方法可用于 进行系统分析,也可应用于对问题 ...

  3. 清风数学建模学习笔记——灰色预测模型推导及原理详解

    灰色预测模型   灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的.与时间有关的灰色过程进行预测.   灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较 ...

  4. 清风数学建模学习笔记——主成分分析(PCA)原理详解及案例分析

    主成分分析   本文将介绍主成分分析(PCA),主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息. 一般 ...

  5. 清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值

    插值算法   数模比赛中,常常需要根据已知的函数点进行数据.模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,模拟产生一些新的但又比较靠谱的值来满足需求 ...

  6. 数学建模学习笔记(二):非线性规划模型例题与灵敏度分析

    文章目录 前言 一.一个简单的非线性规划模型 二.问题的求解 1.模型的建立与求解 2.得出结论 三.灵敏度分析 总结 参考书目 前言 数学建模解决问题的过程一般分为五个步骤,称为五步方法,五个步骤如 ...

  7. 数学建模学习笔记(二)——Topsis优劣解距离法

    (续上篇文章)层次分析法的局限 上一篇文章中,层次分析法有这样的局限 评价决策层不能太多: 数据是已知的的话,便无法使用层次分析法进行精确的分析评价: 因此,为对这些情况做出更为精准的分析,我们可以使 ...

  8. 数学建模学习笔记之评价问题聚类分析法

    数学建模学习笔记之评价问题聚类分析法 物以类聚.人以群分. 聚类分析是一个很大的概念,显然根据分类的依据不同会出现很多很多聚类的方法.例如K-Means .Sequential Leader.Mode ...

  9. 【数学建模学习笔记【集训十天】之第六天】

    数模学习目录 Matplotlib 学习 Matplotlib简介 Matplotlib 散点图 运行效果如下: Matplotlib Pyplot 运行效果如下: 关于plot() 运行效果如下: ...

最新文章

  1. Java NIO系列教程(六) Selector
  2. fatal error lnk1561: 必须定义入口点_链表中是否有环以及找环的入口问题总结
  3. visio 科学图形包_如何科学地做笔记
  4. EL表达式中,param和requestScope的区别
  5. Vue3 插槽使用详解
  6. java 运行注释_Java中的可执行注释
  7. IntelliJ IDEA 如何设置黑色主题,界面字体大小以及内容字体大小
  8. Android蓝牙音量调节,安卓 蓝牙音量控制 Bluetooth Volume Control v2.40 付费高级特别版...
  9. 多元有序logistic回归分析_SPSS:二元Logistic回归中自变量的处理和解读——有序多分类变量的处理...
  10. SAP MM06物料删除
  11. 【SDOI2010】【BZOJ1924】所驼门王的宝藏
  12. php 获取扩展模块信息,查看PHP opcode扩展模块及Web服务
  13. 四级英语听力软件测试,公务员考试网上做题 普通话测试软件 英语四级听力技巧...
  14. 抽象类和接口之间的关系
  15. Pandas 02-基础
  16. 如何做一个基于微信在线教育学习小程序系统毕业设计毕设作品
  17. 夺命雷公狗---linux NO:14 linux系统重定向
  18. 如何用计算机画出分子轨道图,定性分子轨道理论简介
  19. TinyOS - 点对点通信
  20. 什么是PunkBuster,我可以卸载它吗?

热门文章

  1. AndroidStudio图像随键盘按动在屏幕移动(按键事件)
  2. 退役狗的高三生活-OI无关项
  3. 一文带你了解自恢复保险丝与熔断保险丝区别,你了解多少?
  4. 别逗了!知识付费能支撑起喜马拉雅的200亿估值?
  5. 计算机英语(个人整理)(计算机专业)(全称缩写)
  6. angularjs中$scope是什么意思
  7. C语言中assert函数的用法
  8. 模拟电子技术 学习增补
  9. 根据字幕/台词搜索影视剧的网站
  10. Apache Maven 学习教程