SPSS聚类分析(含k-均值聚类,系统聚类和二阶聚类)

本文介绍了SPSS中的三种聚类方法:k-均值聚类适用于大样本,对连续数据进行;系统聚类可处理连续或分类变量,适用于小样本;二阶聚类则能自动确定类别数量。文章详细阐述了每种方法的操作要点、结果解读以及实例分析,包括数据标准化、ANOVA结果分析和图表制作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇博客主要是根据 1、聚类的基本知识点_哔哩哔哩_bilibili系列视频进行的学习记录

一、SPSS聚类分析的基本知识点

1、什么是聚类分析?

聚类分析(Cluster analysis)又叫做群集分析,通过一些属性将对象或变量 分成不同的组别,在 同一类下的对象或变量在这些属性上具有一些相似的特点

两种聚类类型

对个案(样品、对象、被试)进行分类——Q型聚类。
对变量进行分类——R型聚类。

或者换一种说法:

样本聚类又称Q型聚类,它针对实测量进行分类,将特征相近的实测量分为一类,特征差异较大的实察量分在不同的类。
变量聚类又称R型聚类,它针对变量分类,将性质相近的变量分为一类,将性质差异较大的变量分在不同的类。

例如:

对每一行进行聚类——Q型聚类
对每一列进行聚类——R型聚类(比如车重和油箱进行聚类)

2、SPSS聚类分析的方法。

(1) 快速聚类(k-均值聚类):最简单的聚类方法,只能对 连续数据进行聚类,只能对样品进行聚类,适合 大样本聚类,不能自动确定类别数量。
(2) 系统聚类:可以对个案、变量进行聚类,可以对连续变量或分类变量进行聚类,适合样本容量较小的情况,不能自动确定类别数量。
(3) 二阶聚类:最 智能的聚类方法,可以对个案进行聚类,可以对 连续变量+分类变量进行聚类,适合 大样本聚类能自动确定类别数量

二、聚类分析的SPSS实操

1.k-均值聚类。

(1)操作要点。

首先把数据标准化。(SPSS: 分析->统计描述->描述)
聚类数:根据计算结果来定。
迭代数:可以改大一些。
保存:“聚类成员和"与"聚类中心的距离”
选项:“ANOVA”和“每个个案聚类信息”

(2)结果解读:

a、读最终聚类中心能够反映分出来的这两类的特点,可以自己起名字。
b、ANOVA显示两个或者多个类别的群体在聚类的各个变量上是否有差异,有差异说明聚类相对成功。
c、个案数显示两个或者多个类别的群体各有多少个被试。最好比较均匀,不要有类别太少。

(3)三线表的制作

SPSS步骤:

1. 数据标准化:分析->统计描述->描述
2. 分析->分类 -> K-均值聚类
选变量、聚类数(多尝试几个)、迭代(次数大一些,比如99次)、保存(聚类变量、与聚类中心的距离)、选项(√ANOVA表——给出每个类别之间有没有差异,我们是希望不同类别之间是有差异的,√每个类别的聚类信息)
根据聚类中心我们看看能不能自己起名字

最终聚类中心

聚类

1

2

Zscore(Income)

.97179

-.51186

Zscore(Children)

-.45904

.24179

Zscore(Family_Quotient)

1.11281

-.58614

ANOVA

聚类

误差

F

Sig.

均方

df

均方

df

Zscore(Income)

298.452

1

.503

598

593.830

.000

Zscore(Children)

66.595

1

.890

598

74.799

.000

Zscore(Family_Quotient)

391.353

1

.347

598

1127.055

.000

F 检验应仅用于描述性目的,因为选中的聚类将被用来最大化不同聚类中的案例间的差别。观测到的显著性水平并未据此进行更正,因此无法将其解释为是对聚类均值相等这一假设的检验。

我们可以看到显著性是有差异的,这说明聚类相对成功。
至于三线表的制作我们可以借助excel(先把SPSS的表格复制粘贴到excel,在excel中进行必要行的删减或修改,添加三条线,最后粘贴到word文档即可)

2.系统聚类

(1)操作要点。

绘制:树状图(谱系图)。
方法:“聚类方法"用"组间连接"。
“度量标准"根据数据类型选定:Q型聚类选“平方欧氏距离",R型聚类用“Pearson相关"。
“标准化"选定"Z得分"。
分群:根据聚类类型选定。

(2)结果解读:

画聚合系数随分类数变化图:以聚合系数为纵坐标,类别为横坐标,开始是N-1类。聚合系数图从哪里开始平缓就取那里的分类数。

(3)图表的制作。

我们可以看到在分成两类比较合适

3、两阶聚类

(1)操作要点。

分类变量和连续变量按要求填入。
距离测量:全连续变量选“欧氏",否则选“对数似然"聚类数目:“自动确定"
输出:“透视表”"、“创建聚类成员变量"

(2)结果解读:

(3)图表的制作。

很抱歉,我无法直接提供代码。但是,我可以向您解释一下二阶聚类算法的概念,并指导您在MATLAB中实现该算法的代码。 二阶聚类算法是一种用于数据聚类的方法,它通过对数据进行两次聚类来获取更详细的信息。首先,将数据点分成较大的聚类簇,然后在每个聚类簇中再次进行聚类,将数据点进一步细分为更小的子簇。 在MATLAB中,您可以使用以下步骤来实现二阶聚类算法的代码: 1. 加载数据:将您的数据加载到MATLAB工作区中,可以使用`load`命令或其他适合的函数。 2. 第一次聚类:使用适当的聚类算法(如k-means或层次聚类)对数据进行第一次聚类。可以使用MATLAB中的`kmeans`函数或`clusterdata`函数来执行此操作。 3. 子簇选择:根据第一次聚类的结果选择一个或多个聚类簇进行进一步的聚类。可以根据您的需求问题选择合适的子簇。例如,您可以选择具有特定特征或属性的聚类簇。 4. 第二次聚类:对所选择的子簇进行第二次聚类。可以使用与第一次聚类相同的算法或其他合适的算法来执行此操作。 5. 结果分析:分析第二次聚类的结果,并进一步处理或可视化数据,以获得更详细的信息。 需要注意的是,具体的代码实现取决于您选择的聚类算法数据的特点。您可能需要根据您的具体情况进行适当的调整修改。 希望这些指导能帮助您在MATLAB中实现二阶聚类算法的代码。如果您还有任何问题,请随时提问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值