【数学建模笔记】【第十讲(2)】聚类模型之:系统(层次)聚类及spss实现

这篇具有很好参考价值的文章主要介绍了【数学建模笔记】【第十讲(2)】聚类模型之:系统(层次)聚类及spss实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系统(层次)聚类解决了K-均值聚类的一个最大的问题:聚类的个数需要自己给定。

一、系统聚类的定义

系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据 点合成一类,并生成聚类谱系图。我们可以根据这个图来确定聚类的个数。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

二、具体步骤介绍:

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

系统(层次)聚类的算法流程:

  1. 将每个对象看作一类,计算两两之间的最小距离;

  2. 将距离最小的两个类合并成一个新类;

  3. 重新计算新类与所有类之间的距离;

  4. 重复二三两步,直到所有类最后合并成一类;

  5. 结束。

【举例说明】
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
对上面这一组数据进行聚类分析:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
横坐标为学生的物理成绩,纵坐标为学生的数学成绩,可以绘制成一个二维坐标图。
首先要计算每一个样本点之间的距离。看那两个点之间的距离最小,可以算作一个聚类。
比如最右上角的两个点距离最小,则把他们归为一个聚类。
以此类推,当所有样本都已经被归为聚类之后再计算各个聚类之间的距离。距离近的再次归为一个聚类。直到只剩下一个聚类为止。

上面描述了两种距离:一个是样本与样本之间的距离,一种是聚类之间的距离。这两种距离都有多种定义方式,我们在实际运用时可以是具体情况而定。

三、样本与样本之间的距离

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

四、类与类之间的常用距离:

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

1.最短距离法

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

2.最长距离法:

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
3、组间平均连接法:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

4.组内平均连接法:

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

5.重心法:

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

五、举例说明:

根据五个学生的六门课的成绩,对这五个学生进行分类
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

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

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
横着的分别是:G1,G2,G3,G4,G5.
所以这个矩阵里的每一个数字表示Gi与Gj的距离。由于与自己的距离是0,所以斜着的一列是0。
在最初每一个样本就可以视作一个类。

2.将每一个样品看做是一个类,观察D(G1,G5)=15.8最小,故将G1与G5合为一类,名为G6。计算新类与其余各类之间的距离,得到新的距离矩阵D1。(这里以最短距离法为例)

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

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

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

4.观察D(G6,G7)=18.2最小,故将G和G7聚为一类,记为G8。计算新类与其余各类之间的距离,得到新的距离矩阵D3。(这里以最短距离法为例)

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

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

聚类的系谱图:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

六、系统聚类分析需要注意的问题:

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

七、系统聚类法的spss实现:

仍然是上一节所用的数据:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
选择系统聚类:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
”绘制“选项中勾选”树状图“可以生成聚类分析之后的谱系图:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
”方法“栏中就是可以自由选择刚刚介绍的那几种距离的表示方式:
一般选择默认的方式就可以。
如果各个变量的单位不统一,则可以选择左下方的标准化,选择”Z得分“标准化。由于我们这组数据单位是统一的,所以不用进行这一步。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
点击确认之后会得出具体的结果:
以下是聚类谱系图:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
根据此图我们可以发现,在逐步迭代过程中,31个省份构成更少的聚类,逐步循环,最后变为一个。
我们可以根据这张图选择更易于解释的聚类个数。
下图的”系数“一栏表示的是肘部法则中的聚合系数。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

到这里还是需要我们自己选择聚类的个数,只不过不像K-均值算法那样再数据分析之前就必须得给出聚类个数了。那么有没有一种法则可以帮助我i们确定到底应该分为几个聚类呢?

八、肘部法则确定聚类数目

肘部法则(Elbow Method):通过图形大致的估计出最优的聚类数量。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
畸变成都就是衡量各个点到聚类的中心的距离的一个标准。这个距离越大,则畸变程度越大。我们可以想到,当聚类数目无限多,趋于样本个数时,这时每一个样本就是一个单独的聚类,也就是每一个聚类中只有一个样本。那么畸变程度就是0了。而当聚类数目极小时,畸变程度又会很大。所以畸变程度是一个随着聚类数目的增大而减小的这么一个指标。所有类的畸变程度定义为聚合系数。所以当我们把每一个聚合系数算出来,然后作图时,发现聚合系数突然变化缓慢的那个点处,就是比较理想的聚类个数所在位置。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
如何绘制肘部法则的图呢?
找到上表中的聚合系数,复制到exel表格中。然后降序排列。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
之后点击“插入图表”中的散点图:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
改变标度之后可以得到这样一张图:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
根据此图,我们可以确定选择3或者5作为聚类数目(至于原因,可以根据此图以及数据在论文中做更详细的说明)。
【解释举例如下】
根据图来进行解释:

  • 根据聚合系数折线图可知,当类别数为5时, 折线的下降趋势趋缓,故可将类别数设定为5.
  • 从图中可以看出, K值从1到5时,畸变程 度变化最大。超过5以后,畸变程度变化显著 降低。因此肘部就是 K=5,故可将类别数设定
    为5.(当然,K=3也可以解释)

那么确定了聚类数目之后我们如何画出直观的分类图像呢?

九、作图

注意:只要当指标个数为2或者3的时候才能画图,实际上本例中指标个数有8个,是不可能做出这样的图的。
所以我们就以本例的两列及三列指标为例作图:
先将聚类个数设置为3,得到聚类分类:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
可以看到此时每一个省份后面已经出现聚类的分类了:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
我们选择“食品”和“衣着“两列数据进行画图:
选中“食品”和“衣着“两列数据后点击图形构建程序。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
如果只有二维的数据则选择第一行的第二种图像,如果有三维数据则选择第一行的第四个图像。
选中后将其拖到中间区域。
分别将“食品”和“衣着“拖动至横坐标和纵坐标。
将”案例的类别号“拖动至右上角”颜色设置“区域,以表示根据不同的聚类类别,会绘制不同颜色的点。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

然后点击”组/点 ID“,勾选”指定ID标签“,将”省份“拖动至
上方的”点ID“区域。,这样就会在每个点旁边标注出点对应的省份。
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法

最终我们得到这样的一张图:
spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法
我们可以根据自己的喜好再改变其颜色和呈现形式。但具体的信息已经表现得很好了。

同样的可以画出三维数据分析图:

spss层次聚类,数学建模笔记,聚类,算法,大数据,分类算法文章来源地址https://www.toymoban.com/news/detail-661448.html

到了这里,关于【数学建模笔记】【第十讲(2)】聚类模型之:系统(层次)聚类及spss实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023第十五届电工杯数学建模AB题思路模型

    (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor “中国电机工程学会杯”全国大学生电工数学建模竞赛已成功举办十四届,累计参赛高校千余所,参赛学生近10万人,是目前国内最具影响力、显著提高学生创新意识和综合素质的大学生竞赛项目之一。“中国电机

    2024年02月11日
    浏览(33)
  • 数学建模笔记(四):初等模型

    研究对象的机理比较简单,一般用静态、线性、确定性模型就能达到建模目的时,我们基本上可以用初等数学的方法来构造和求解模型。 如果对于某个实际问题,采用初等方法和高级方法建立的两个模型的应用效果相差无几时,,初等方法更受欢迎。 (1)热量传播只有传导

    2024年02月08日
    浏览(50)
  • 数学建模笔记(十二):概率模型

    从挂钩考虑 m个挂钩,n位工人 s:一周期内运走的产品数 n:所有工人在周期时间内生产总数 D:传送带效率 p:每只挂钩非空概率 q:每只挂钩为空概率,p+q=1 r:挂钩没有被某位工人触到的概率 D = s n = m p n = m ( 1 − q ) n = m ( 1 − ( r n ) ) n = m ( 1 − ( 1 − 1 m ) n ) n D=frac{s}{n}=

    2024年02月11日
    浏览(29)
  • 数学建模笔记(七):综合评价模型

    代表性,也就是这一指标的区分度,最具代表性就是对观测记录最具区分度 强调通行能力前后的变化 (一)指标一致化处理 (二)指标无量纲化处理 (三)定性指标量化 主观评价要量化,无法避免主观因素 f ( 3 ) f(3) f ( 3 ) 使用了两次,其实有四个式子,才解出了四个量

    2024年02月05日
    浏览(47)
  • 【数学建模】传染病模型笔记

    传染病的基本数学模型,研究传染病的传播速度、空间范围、传播途径、动力学机理等问题,以指导对传染病的有效地预防和控制。常见的传染病模型按照传染病类型分为 SI、SIR、SIRS、SEIR 模型等,按照传播机理又分为基于常微分方程、偏微分方程、网络动力学的不同类型。

    2024年04月10日
    浏览(31)
  • 聚类分析数学建模

    什么是聚类分析 聚类是一个将数据集分为若干组(class)或类(cluster)的过程,并使得同一个组内的数据对象具有较高的相似度;而不同组中的数据对象是不相似的。 相似或不相似是基于数据描述属性的取值来确定的,通常利用各数据对象间的距离来进行表示。 聚类分析尤

    2024年02月07日
    浏览(26)
  • 数学建模之“聚类分析”原理详解

    1、聚类分析(又称群分析)是 研究样品(或指标)分类问题 的一种多元统计法。 2、主要方法:系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。这里主要介绍系统聚类法。根据事物本身的 特性研究个体分类 的方法, 原则是同一类中

    2024年02月12日
    浏览(23)
  • 数学建模—聚类(matlab、spss)K均值 Q型聚类 R型聚类

    聚类三种方法: 【说明】 1、三种方式输入矩阵行为个案,列为变量 量纲不同需要预处理,一般使用zscore() zscore()标准化为对每一列操作减去均值除以标准差 2、k均值需要自己确定k取值。Q、R型聚类需要运行完以后再确定选择 matlab实现 SPSS实现(默认使用kmeans++) 数据预处理

    2024年02月12日
    浏览(28)
  • 数学建模--K-means聚类的Python实现

    目录 1.算法流程简介 2.1.K-mean算法核心代码 2.2.K-mean算法效果展示 3.1.肘部法算法核心代码  3.2.肘部法算法效果展示   

    2024年02月09日
    浏览(25)
  • 【数学建模】《实战数学建模:例题与讲解》第十二讲-因子分析、判别分析(含Matlab代码)

    本系列侧重于例题实战与讲解,希望能够在例题中理解相应技巧。文章开头相关基础知识只是进行简单回顾,读者可以搭配课本或其他博客了解相应章节,然后进入本文正文例题实战,效果更佳。 如果这篇文章对你有帮助,欢迎点赞与收藏~ 判别分析是一种统计方法,它根据

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包