聚类分析是研究“物以类聚”的一种方法。 人类认识世界往往首先将被认识的对象进行分类,早起人们主要靠经验和专业知识实现分类,但随着生产技术和社会科学的发展,对分类学的要求越来越高,靠经验和专业知识来分类越来越难,于是数学这一有力工具被引入分类学中,形成了数值分类学。后来随着多元分析的引进,聚类分析又逐渐从数值分类学中分离出来而形成一个相对独立的分支。
聚类分析法的一般步骤: 首先,不论是定量数据还是定性数据,都应确定分类统计量,用来测定样本之间的亲疏程度,主要通过样本之间的距离,样本间的相关系数来确定,其次,利用统计量将样本进行分类。

1.分类统计量

设有 N 个样品,每个样品测得 p项指标(变量),原始资料矩阵为
X=[x11x12⋯x1px21x22⋯x2p⋮⋮⋮xN1xN2⋯xNp]X=\begin{bmatrix} x_{11} &x_{12} & \cdots & x_{1p}\\ x_{21} &x_{22} & \cdots & x_{2p}\\ \vdots & \vdots & &\vdots \\ x_{N1} &x_{N2} &\cdots &x_{Np} \end{bmatrix}X=⎣⎡​x11​x21​⋮xN1​​x12​x22​⋮xN2​​⋯⋯⋯​x1p​x2p​⋮xNp​​⎦⎤​
其中,矩阵的每一行代表一个样品,而每一列则代表样品的一项指标。
其中xij(i=1,2⋯,N,j=1,2,⋯,p)x_{ij}(i=1,2\cdots ,N,j=1,2,\cdots ,p )xij​(i=1,2⋯,N,j=1,2,⋯,p)为第iii个样品的第jjj个指标的观测数据。第iii个样品XiX_{i}Xi​为矩阵XXX的第iii行所描述,所以任何两个样品XkX_{k}Xk​与XlX_{l}Xl​之间相似性,可以通过矩阵XXX中的第kkk行与第lll行的相似程度来刻画;任何两个指标xkx_{k}xk​与xlx_{l}xl​之间的相似性,可以通过第kkk与第lll列的相似程度来刻画。
对NNN个样品进行分类的方法,称为Q型聚类法,常用的统计量用距离来表达;按kkk个指标(或变量)进行分类的方法,称为R型聚类法,常用的统计量用相似系数来表达。距离和相似系数又通称为广义距离。

1.距离

如果把NNN个样品(XXX中的NNN行)看成ppp维空间中的NNN个点,那么两个样品间相似程度可用ppp维空间中两点的距离来度量。令dijd_{ij}dij​表示样品XiX_{i}Xi​与XjX_{j}Xj​的距离。
主要可分为明氏(Minkowski)距离,马氏距离以及兰氏距离。而明氏距离又可分为聚堆绝对距离,欧式距离(两点间距离公式)以及切比雪夫距离。
(1)明氏距离

(2)马氏距离


(3)兰氏距离

2.相似系数

通常所说的相关系数,是指变量(指标)间的相关系数,作为刻画样品间的相似关系也可给出类似定义,即第iii个样品与第jjj个样品之间的相关系数可定义为:

其中,xiˉ=1p∑a=1pxia\bar{x_{i}}=\frac{1}{p}\sum_{a=1}^{p}x_{ia}xi​ˉ​=p1​∑a=1p​xia​,即使矩阵XXX第iii行的平均值,同理xjˉ=1p∑a=1pxja\bar{x_{j}}=\frac{1}{p}\sum_{a=1}^{p}x_{ja}xj​ˉ​=p1​∑a=1p​xja​,即矩阵xxx第jjj行的平均值。

2.常用的聚类方法

系统聚类分析法是目前国内外使用最多的一种方法,一般方法是:设有 N 个样品,初始时这 N 个样品各自成一类,然后计算样品之间的距离,将距离最小的类并为一新类,再计算并类后的新类与其它类的距离,又将距离最小的两类并为一新类,这样每次减少一些类,直到将 N 个样品合并成一类为止。正如样品之间距离可以有不同的定义方法一样,类与类之间的距离也有许多定义方法,下面给出常用的八种定义距离的方法,分别进行聚类,导出了八种聚类计算距离的递推公式,最后给出一种统一形式。这八种聚类方法是:最短距离法、最长距离法、中间距离法、重心法、类平均法、可变类平均法、可变法、离差平方和法。

1.最短距离法


2.最长距离法

3.中间距离法

4.质心距离法(重心法)

5.类平均法

6.可变类平均法

类平均法虽然是一个较好的方法,但也有不足,递推公式中没有反映DpqD_{pq}Dpq​的影响,于是有人提出递推公式改为:
Dkr2=NpNr(1−β)Dkp2+NqNr(1−β)Dkq2+βDpq2D_{kr}^{2}=\frac{N_{p}}{N_{r}}(1-\beta )D_{kp}^{2}+\frac{N_{q}}{N_{r}}(1-\beta )D_{kq}^{2}+\beta D_{pq}^{2}Dkr2​=Nr​Np​​(1−β)Dkp2​+Nr​Nq​​(1−β)Dkq2​+βDpq2​
其中β\betaβ是可变的且β<1\beta<1β<1。

7.可变法

如果让中间距离法的距离公式中前两项系数也依赖于β\betaβ,即
Dkr2=(1−β)2(Dkp2+Dkq2)+βDpq2−14⩽β≤0D_{kr}^{2}=\frac{(1-\beta)}{2}(D_{kp}^{2}+D_{kq}^{2})+\beta D_{pq}^{2} -\frac{1}{4}\leqslant \beta \leq 0Dkr2​=2(1−β)​(Dkp2​+Dkq2​)+βDpq2​−41​⩽β≤0
利用上述公式进行聚类的方法叫可变法。

8.离差平方和法



以下是8中聚类方法的关系及总结:

3.用MATLAB进行聚类

1.MATLAB中有关聚类分析的命令

(1)pdist函数

(2)squareform函数

(3)linkage函数

(4)dendrogram函数

(5)cophenet函数

(6)cluster函数

2.应用举例


这里选取了发达国家,新兴工业化国家,拉美国家,亚洲发展中国家,转型国家不同类型的19个国家做Q型聚类分析。描述信息基础设施的变量主要有6个:
call表示每千个人拥有的电话线数;
movecall表示每千户居民蜂窝移动电话数;
fee表示高峰时期没三分钟国际电话的成本;
computer表示每千人拥有的电话数;
mips表示每千人中计算机功率;
net表示每千人互联网户主数。

3.编程求解

采用欧式距离和质心距离法进行分类,利用matlab编程:

x=[631.60 161.90 0.36 403.00 26073.00 35.34
498.40 143.20 3.57    176.00  10223.00  6.26
557.60 70.60 2.18   199.00  11571.00 9.48
684.10 281.80 1.40 286.00 16660.00 29.39
644.00 93.50 1.98 234.00 13621.00  22.68
620.30 248.60 2.56  296.00 17210.00  21.84
498.40 147.50 2.50 284.00  13578.00 13.49
469.40 56.10 3.68 119.00 6911.00 1.72
434.50 73.00 3.36 99.00 5795.00 1.68
81.90 16.30 3.02 19.00 876.00   0.52
138.60 8.20   1.40 31.00 1411.00 1.28
92.20 9.80 2.61 31.00 1751.00 0.35
174.90 5.00 5.12 24.00 1101.00 0.48
169.00 6.50   3.68 40.00 1796.00 1.45
262.20 49.40 2.66  68.00 3067.00 3.09
195.50 88.40 4.19 53.00    2734.00 1.25
78.60 27.80 4.95  22.00 1662.00  0.11
13.60 0.30  6.28  2.00  101.00  0.01
559.10 42.90 1.27 201.00 11702.00 4.76
521.10 122.50 0.98 248.00 14461.00 11.91];
x2=zscore(x); %数据标准化
y2=pdist(x2,‘euclidean’); %采用欧氏距离计算样品距离
z2=linkage(y2,'centroid') %采用重心距离法
c2=cophenet(z2,y2) %利用pdist函数生成的Y和linkage
函数生成的Z计算cophenet相关系数。
t=cluster(z2,6) %根据linkage函数的输出Z2创建分类
h=dendrogram(z2) %生成只有顶部n个节点的冰柱图
(谱系图)

4.结果分析



注意:本例也可以采用其他方法聚类,但是总体上结果差异不大;

统计分析:聚类分析(详细讲解)相关推荐

  1. 2023年美赛C题Wordle预测问题三、四建模及Python代码详细讲解

    更新时间:2023-2-19 16:30 相关链接 (1)2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 (2)2023年美赛C题Wordle预测问题二建模及Python代码详 ...

  2. 适合新手练手,用Python爬取OPGG里英雄联盟英雄胜率及选取率,详细讲解加注释(建议收藏练手)

    今天来个简单的小项目,适合新手拿来练手,在OPGG上爬取英雄联盟里的法师,ADC,打野,辅助所有英雄的胜率及选取率,是不是感觉很高大上,但是却很简单,只要用三十多行代码就能实现,详细讲解每一行代码加注 ...

  3. Python的零基础超详细讲解(第十三天)-Python的类与对象

    基础篇往期文章如下: Python的零基础超详细讲解(第一天)-Python简介以及下载 Python的零基础超详细讲解(第二天)-Python的基础语法1 Python的零基础超详细讲解(第三天)- ...

  4. Python的零基础超详细讲解(第十二天)-Python函数及使用

    基础篇往期文章: Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博 ...

  5. Python的零基础超详细讲解(第七天)-Python的数据的应用

    往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...

  6. Python的零基础超详细讲解(第五天)-Python的运算符

    往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...

  7. java异常详细讲解_Java异常处理机制的详细讲解和使用技巧

    一起学习 1. 异常机制 1.1 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 1.2 ...

  8. 未来网络发展的趋势——IPv6详细讲解与基本配置

    实验目的: 1. 掌握IPv6的基本工作原理: 2. 区别IPv6和IPv4有什么区别: 3. 掌握IPv6的一些新的特征: 4. 掌握IPv6的发展进程和部署情况: 实验拓扑: 实验步骤:   一. ...

  9. Php中如何记录本报时间,详细讲解PHP的日期时间函数date()

    详细讲解PHP的日期时间函数date() 作者:wang 日期:2009-06-06 字体大小: 小 中 大 1,年-月-日 echo date('Y-m-j'); 2007-02-6 echo da ...

  10. PE格式详细讲解4 - 系统篇04|解密系列

    PE格式详细讲解4 - 系统篇04 让编程改变世界 Change the world by program   到此为止,小甲鱼和大家已经学了许多关于 DOS header 和 PE header 的 ...

最新文章

  1. Bert 中文使用方式
  2. stm32通用定时器的PWM输出
  3. Flask框架(flask中的数据库SQLAlchemy(python3),配置、模型类、创建表)
  4. 基于Boost::beast模块的同步HTTP客户端
  5. codevs1219 骑士遍历(棋盘DP)
  6. 准确率、召回率、F1、mAP、ROC、AUC
  7. 设计模式--1(设计模式基础,设计模式基本原则,设计模式分类)
  8. 详细解析Java中抽象类和接口的区别(很容易理解错)
  9. Quick BI v3.0版本全新起航——2018杭州云栖大会
  10. Linux笔记-iptables模拟公司环境配置
  11. ie11浏览器可以下载java吗_如何卸载IE11? 如何安装低版本的IE浏览器?
  12. 5g的基础知识,发展及现状
  13. java版spring cloud+spring boot+redis社交电子商务平台-docker-feign配置(五)
  14. 动态规划实战8 leetcode-53. Maximum Subarray
  15. 数据结构与计算机网络参考书,2019计算机考研:数据结构参考书及复习重点
  16. 大数据_HDFS原理
  17. 数列极限:无穷量与待定型
  18. Cocos2d-JS 项目接入AnySDK
  19. 解决图片闪烁问题(雪碧图)
  20. 如何用手机来拍证件照

热门文章

  1. 谷歌扩展装不上,清单文件缺失或不可读取 无法加载清单。解决方法
  2. LaTeX技巧218:LaTeX如何正确输入引号:双引号“”单引号‘’
  3. 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
  4. 2021年美容师(初级)模拟考试题及美容师(初级)实操考试视频
  5. linux中清理缓存命令,linux清理缓存的命令
  6. linux下shell命令之cut
  7. 知识付费内容靠什么“变现”
  8. 绝大多数交互式电子白板与计算机通过链接,交互式电子白板实现了白板与计算机之间的双向交互通信与操.ppt...
  9. windows强制杀死进程方法
  10. 移动端开启调试器 手机上也能看到console