【统计分析数学模型】聚类分析: 系统聚类法

在这里插入图片描述

【统计分析数学模型】聚类分析: 系统聚类

  • 一、聚类分析
    • 1. 基本原理
    • 2. 距离的度量
      • (1)变量的测量尺度
      • (2)距离
      • (3)R语言计算距离
  • 三、聚类方法
    • 1. 系统聚类
    • 2. K均值法
  • 三、示例
    • 1. Q型聚类
      • (1)问题描述
      • (2)R语言求解
        • A. Ward法系统聚类
        • B. K均值法
    • 2. R型聚类
      • (1)问题描述
      • (2)R语言求解
        • A. 转换为距离矩阵
        • B. 最长距离法


一、聚类分析

1. 基本原理

聚类分析(Cluster Analysis) 是研究“物以类聚”的一种方法,有时称为群分析、点群分析、簇类分析等。

聚类分析是根据研究对象的特征对研究对象进行分类的多元分析技术的总称。聚类分析是应用最广泛的分类技术,它把性质相近的个体归为一类,使同一类的个体具有高度的同质性。

聚类分析大部分都属于探测性研究,最终结果是产生研究对象的分类,通过对数据的分类研究还能产生假设。聚类分析也可用于证实性目的,对于通过其他方法确定的数据分类,可以应用聚类分析进行检验。

  • 聚类分析和判别归类有着不同的分类目的,彼此之间既有区别又有联系。
  • 聚类分析分为Q型(分类对象为样品)和R型(分类对象为变量)两种。

2. 距离的度量

相似性度量包括:距离和相似系数.
样品之间的距离和相似系数有着各种不同的定义,而这些定义与变量的类型有着非常密切的关系.

(1)变量的测量尺度

变量的测量尺度:间隔、有序和名义尺度.

  1. 间隔变量: 变量用连续的量来表示,如长度、重量、速度、温度等.
  2. 有序变量: 变量度量时不用明确的数量表示,而是用等级来表示,如某产品分为一等品、二等品、三等品等有次序关系.
  3. 名义变量: 变量用一些类表示,这些类之间既无等级关系也无数量关系,如性别、职业、产品的型号等.

(2)距离

常用的距离包括:

  • 明考夫斯基(Minkowski)距离
  • 兰氏(Lance和Williams)距离
  • 马氏距离
  • 斜交空间距离

(3)R语言计算距离

dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2) 

其中参数含义:

参数含义
X数据矩阵
method距离计算方法包括"euclidean", "maximum“, “manhattan”, “canberra”, “binary” or “minkowski”
diag是否包含对角线元素
upper是否需要矩阵上三角
pMinkowski距离的幂次

示例:

X=c(1,2,6,8,11)
dist(X,diag=1,upper=1)

运行结果如下:

   1  2  3  4  5
1  0  1  5  7 10
2  1  0  4  6  9
3  5  4  0  2  5
4  7  6  2  0  3
5 10  9  5  3  0

三、聚类方法

1. 系统聚类

hclust(d, method = “complete”,)
plot(x, labels = NULL, hang = 0.1, ...)

参数的含义如下:

参数含义
d由dist函数产生的相似矩阵
method聚类方法“single“(最短距离), ”complete“(最长距离), ”average” (类平均法), “median” (中间距离法), “centroid” (重心法), “ward.D” (ward法)
xhclust得出的聚类结果.
labels树形图标签

2. K均值法

kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"), trace=FALSE)

参数的含义如下:

参数含义
x数据阵
centers聚类数或初始聚类
iter.max最大迭代步数

三、示例

1. Q型聚类

(1)问题描述

数据资料来源:《应用多元统计分析》(第五版,王学民 编著)配书资料 例6.3.3

数据包括1999年全国31个省、直辖市和自治区的城镇居民家庭平均每人全年消费性支出的八个主要变量数据. 这八个变量是:

  • x1:食品
  • x2:衣着
  • x3:家庭设备用品及服务
  • x4:医疗保健
  • x5:交通和通讯
  • x6:娱乐教育文化服务
  • x7:居住
  • x8:杂项商品和服务

分别用最短距离法、重心法和Ward方法对各地区作聚类分析. 为同等地对待每一变量,在作聚类前,先对各变量作标准化变换.。

(2)R语言求解

A. Ward法系统聚类

代码如下:

d6.3.3=read.csv('examp6.3.3.csv',header=1)
d6.3.3s=scale(d6.3.3[,-1]) #标准化数据
rownames(d6.3.3s)=d6.3.3[,1]
hc=hclust(dist(d6.3.3s),'ward.D')  #使用Ward法系统聚类
plot(hc,hang=-1) #做出树形图
rect.hclust(hc,k=3) #作聚类
cutree(hc, k=3) #将聚成三类的结果分别以1, 2, 3表示

在这里插入图片描述

> cutree(hc, k=3) #将聚成三类的结果分别以1, 2, 3表示
  北京   天津   河北   山西 内蒙古   辽宁   吉林 黑龙江   上海   江苏   浙江   安徽   福建 
     1      2      2      3      3      3      3      3      1      2      1      3      3 
  江西   山东   河南   湖北   湖南   广东   广西   海南   重庆   四川   贵州   云南   西藏 
     3      2      3      2      2      1      3      3      2      2      3      2      2 
  陕西   甘肃   青海   宁夏   新疆 
     3      3      3      3      2 
B. K均值法

运行代码:

kcl=kmeans(d6.3.3s,3)
sort(kcl$cluster) #对聚类结果进行排序
fviz_nbclust(d6.3.3s,kmeans,method='wss')

在这里插入图片描述

> sort(kcl$cluster) #对聚类结果进行排序
  天津   江苏   福建   山东   湖南   重庆   云南   西藏   北京   上海   浙江   广东   河北 
     1      1      1      1      1      1      1      1      2      2      2      2      3 
  山西 内蒙古   辽宁   吉林 黑龙江   安徽   江西   河南   湖北   广西   海南   四川   贵州 
     3      3      3      3      3      3      3      3      3      3      3      3      3 
  陕西   甘肃   青海   宁夏   新疆 
     3      3      3      3      3 

2. R型聚类

(1)问题描述

数据资料来源:《应用多元统计分析》(第五版,王学民 编著)配书资料 例6.3.7

对305名女中学生测量八个体型指标:

  • x1:身高
  • x2:手臂长
  • x3:上肢长
  • x4:下肢长
  • x5:体重
  • x6:颈围
  • x7:胸围
  • x8:胸宽

(2)R语言求解

代码如下:

A. 转换为距离矩阵
d6.3.7 = read.csv('examp6.3.7.csv',header=1)
d = as.dist(1-d6.3.7[,-1], diag=T) #转换为距离矩阵
> d
        身高 手臂长 上肢长 下肢长  体重  颈围  胸围  胸宽
身高   0.000                                             
手臂长 0.154  0.000                                      
上肢长 0.195  0.119  0.000                               
下肢长 0.141  0.174  0.199  0.000                        
体重   0.527  0.624  0.620  0.564 0.000                  
颈围   0.602  0.674  0.681  0.671 0.238 0.000            
胸围   0.699  0.723  0.763  0.673 0.270 0.417 0.000      
胸宽   0.618  0.585  0.655  0.635 0.371 0.423 0.461 0.000
B. 最长距离法
hc = hclust(d, "complete") #最长距离法
plot(hc, hang=-1) #树形图
rect.hclust(hc, k=2) #将聚成的两类用边框界定
cutree(hc, k=2) #将聚成两类的结果分别以1, 2表示

在这里插入图片描述

> cutree(hc, k=2) #将聚成两类的结果分别以1, 2表示
  身高 手臂长 上肢长 下肢长   体重   颈围   胸围   胸宽 
     1      1      1      1      2      2      2      2 

http://www.niftyadmin.cn/n/5391589.html

相关文章

Mac OS 下载安装与破解Typora

文章目录 下载Typora破解Typora1. 进入安装目录2. 找到并打开Lincense文件3. 修改激活状态4. 重新打开Typora 下载Typora 官网地址:typora官网 下载最新Mac版,正常安装即可 破解Typora 打开typora,可以看到由于未激活,提示使用期限还剩下15…

第二十五章 : Springboot使用velocity模板引擎

第二十五章 : Springboot使用velocity模板引擎 前言 本章知识点: Velocity 是什么、Velocity引擎是如何进行模板加载、适用场景有哪些、资源加载器的类型、以及Velocity 在代码生成场景中的应用。 Springboot 版本 2.3.2.RELEASE ,xxl-job-core 2.4.0Velocity 是什么? V…

Android studio 下的APK打包失败问题解决办法

嗨,各位小伙伴们,我是你们的好朋友咕噜铁蛋!作为移动应用开发者,在使用Android Studio进行APK打包时,有时候可能会遇到各种问题导致打包失败,这给我们的开发工作带来了一定的挑战。今天,我将和大…

独立版表情包小程序完整版源码前后端源码,附带系统搭建教程

搭建要求: 1.系统要求Nginx 1.18.0PHP-7.2mysql5.6,开启 ssl,php需要安装 sg11 扩展 2.设置伪静态 location / { index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s$1; } } location /a…

unity学习(39)——创建(create)角色脚本(panel)——静态(static)

1.发现一个非常实用的功能,点击unity中console的输出项,可以直接跳转到vs的代码页! 2.static类(变量)有三个特点: (1)独一份(2)无法实例化。(3&…

第6.4章:StarRocks查询加速——Colocation Join

目录 一、StarRocks数据划分 1.1 分区 1.2 分桶 二、Colocation Join实现原理 2.1 Colocate Join概述 2.2 Colocate Join实现原理 三、应用案例 注:本篇文章阐述的是StarRocks-3.2版本的Colocation Join 官网文章地址: Colocate Join | StarRoc…

【MySQL】连接查询和自连接的学习和总结

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-x4sPmqTXA4yupW1n {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Java中替换集合中的元素

使用Collections类来替换集合中的元素 Collections 类是 Java 集合框架的一部分,它包含了许多静态方法,用于操作或返回集合对象。然而,Collections 类并没有提供直接替换集合中所有元素的方法。但你可以使用循环或其他方法来做到这一点。 如…