清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析
系统聚类
系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图。此外,系统聚类可以解决簇数 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)23、Minkowski距离:d(xi,xj)=[k=1∑p(xik−xjk)q]q14、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)2k=1∑p(xˉki−xˉi)(xˉkj−xˉj)夹角余弦:r(Xi,Xj)=k=1∑pxki2k=1∑pxkj2k=1∑pxkixkj
用的比较少,了解即可。
三、类与类之间的距离
类与类之间的距离就是集合与集合之间的距离。
类与类之间的距离有如下两个属性:
- 由一个样品组成的类是最基本的类;如果每一类都由一个样品组成,那么样品间的距离就是类间距离。
- 如果某一类包含不止一个样品,那么就要确定类间距离,类间距离是基于样品间距离定义的。
定义: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)是两个样本之间的距离。
类与类之间的距离有如下几种定义:
- 最短距离法:
D(Gp,Gq)=mind(xi⃗,xj⃗)D(G_p,G_q)=\min d(\vec{x_i},\vec{x_j}) D(Gp,Gq)=mind(xi,xj)
- 最长距离法:
D(Gp,Gq)=maxd(xi⃗,xj⃗)D(G_p,G_q)=\max d(\vec{x_i},\vec{x_j}) D(Gp,Gq)=maxd(xi,xj)
- 组间平均连线法
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
- 组内平均连接法
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
- 重心法
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
四、系统聚类法流程
流程图如下:
五、案例分析
根据五个学生的六门课的成绩,对这五个学生进行分类。
- 写出样品间的距离矩阵(以欧氏距离为例)
- 将每一个样品看做是一个类,即 G1,G2,G3,G4,G5。观察 D(G1,G5)=15.8最小,故将 G1 与 G5 聚为一类,记为G6。计算新类与其余各类之间的距离,得到新的距离矩阵D1。
- 观察 D(G2,G4)=15.9 最小,故将G2与G4聚为一类,记为G7。计算新类与其余各类之间的距离,得到新的距离矩阵D2。
- 观察 D(G6,G7) =18.2最小,故将G6与G7聚为一类,记为G8。 计算新类与其余各类之间的距离,得到新的距离矩阵 D3。
- 最后将G8与G3聚为一类,记为G9。
SPSS操作:
分析 → 分类 → 系统聚类,将变量与标注依据分别加入到对应的组中。 保存图示如下,方法中的标准化,如果量纲不同,则选择 Z 得分。
结果分析:
SPSS运行出的谱系图,可根据自己的需求划分出要聚类的个数,方法是画竖线,如下图,将样本化分为 3 类。第一类是广东、上海,第二类是北京、浙江、天津、西藏、福建,第三类是其余的省份。(这道例题选取:1999年全国31个省份城镇居民家庭平均每人全年消费性支出数据 )
虽说系统聚类对于 K 的选取提供了一些方案,但是我们对 K 的选取还存在一定的主观性,因此需要应用肘部法则来修正系统聚类。
六、肘部法则对模型的修正
肘部法则是通过图形大致的估计出最优的聚类数量。应用了SPSS输出文档中的集中计划中的系数,需要将系数进行排序之后,应用 excel 生成图像,如下图:
从上图可以看出 K 取1到5时,畸变程度变化最大。超过5以后,畸变程度变化显著降低。因此 K可以取 5,当然 3 也可以,只要给出理由。
确定 K 之后,即可重新聚类,注意保存中选取单个解为 K 的值。如 K=3:
七、模型扩展(★)
- 对于一个实际问题要根据分类的目的来选取指标,指标选取的不同分类结果一般也不同。
- 样品间距离定义方式的不同,聚类结果一般也不同。
- 聚类方法的不同,聚类结果一般也不同(尤其是样品特别多的时候)。最好能通过各种方法找出其中的共性。
- 要注意指标的量纲,量纲差别太大会导致聚类结果不合理。
- 聚类分析的结果可能不令人满意,因为我们所做的是一个数学的处理,对于结果我们要找到一个合理的解释。
本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~
原文链接:https://www.bilibili.com/video/BV1DW411s7wi
清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析相关推荐
- 清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程
聚类模型 聚类模型,就是将样本划分为有类似的对象组成的多个类的过程.聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计.分析或预测:也可以探究不同类之间的相关性和主要差异.此外,聚类与分 ...
- 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析
灰色关联分析 灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小. 此方法可用于 进行系统分析,也可应用于对问题 ...
- 清风数学建模学习笔记——灰色预测模型推导及原理详解
灰色预测模型 灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的.与时间有关的灰色过程进行预测. 灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较 ...
- 清风数学建模学习笔记——主成分分析(PCA)原理详解及案例分析
主成分分析 本文将介绍主成分分析(PCA),主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息. 一般 ...
- 清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值
插值算法 数模比赛中,常常需要根据已知的函数点进行数据.模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,模拟产生一些新的但又比较靠谱的值来满足需求 ...
- 数学建模学习笔记(二):非线性规划模型例题与灵敏度分析
文章目录 前言 一.一个简单的非线性规划模型 二.问题的求解 1.模型的建立与求解 2.得出结论 三.灵敏度分析 总结 参考书目 前言 数学建模解决问题的过程一般分为五个步骤,称为五步方法,五个步骤如 ...
- 数学建模学习笔记(二)——Topsis优劣解距离法
(续上篇文章)层次分析法的局限 上一篇文章中,层次分析法有这样的局限 评价决策层不能太多: 数据是已知的的话,便无法使用层次分析法进行精确的分析评价: 因此,为对这些情况做出更为精准的分析,我们可以使 ...
- 数学建模学习笔记之评价问题聚类分析法
数学建模学习笔记之评价问题聚类分析法 物以类聚.人以群分. 聚类分析是一个很大的概念,显然根据分类的依据不同会出现很多很多聚类的方法.例如K-Means .Sequential Leader.Mode ...
- 【数学建模学习笔记【集训十天】之第六天】
数模学习目录 Matplotlib 学习 Matplotlib简介 Matplotlib 散点图 运行效果如下: Matplotlib Pyplot 运行效果如下: 关于plot() 运行效果如下: ...
最新文章
- Java NIO系列教程(六) Selector
- fatal error lnk1561: 必须定义入口点_链表中是否有环以及找环的入口问题总结
- visio 科学图形包_如何科学地做笔记
- EL表达式中,param和requestScope的区别
- Vue3 插槽使用详解
- java 运行注释_Java中的可执行注释
- IntelliJ IDEA 如何设置黑色主题,界面字体大小以及内容字体大小
- Android蓝牙音量调节,安卓 蓝牙音量控制 Bluetooth Volume Control v2.40 付费高级特别版...
- 多元有序logistic回归分析_SPSS:二元Logistic回归中自变量的处理和解读——有序多分类变量的处理...
- SAP MM06物料删除
- 【SDOI2010】【BZOJ1924】所驼门王的宝藏
- php 获取扩展模块信息,查看PHP opcode扩展模块及Web服务
- 四级英语听力软件测试,公务员考试网上做题 普通话测试软件 英语四级听力技巧...
- 抽象类和接口之间的关系
- Pandas 02-基础
- 如何做一个基于微信在线教育学习小程序系统毕业设计毕设作品
- 夺命雷公狗---linux NO:14 linux系统重定向
- 如何用计算机画出分子轨道图,定性分子轨道理论简介
- TinyOS - 点对点通信
- 什么是PunkBuster,我可以卸载它吗?