聚类分析:基于数据自身信息来对数据进行分类的方法
要求:类别内部的差异尽可能小,类别间的差异尽可能大
模型好坏:依据模型在问题中的“有用性”来判断模型的好坏。
聚类分析的实质:按照距离的远近将数据分为若干个类别,以使得达到要求。
研究问题:事先不知道研究的问题分为几类
目的:通过对观测数据进行分析处理,选定一种度量个体接近程度的统计量,确定分类数目,建立一种分类方法,并按接近程度对观测对象给出合理的分类。
分类:根据距离和相似性定义的方法的不同,可以分为诸多的聚类分析方法,大概有一百多种,理解其本质才是我们应该做的。
我主要介绍几个比较常用的聚类方法:K-means、系统聚类、层次聚类、两步聚类
一:K-means (快速聚类、k-均值聚类)——非层次聚类 (只能对样本进行聚类,而不能对变量进行;使用变量必须是连续变量;对变量的多元正态性、方差齐性等条件要求较高,如果忽略这些问题就可能导致错误的结果)
(1)步骤
@1:确定聚类的类别数;由研究者根据实际问题指定;在实际问题中,往往需要反复把数据分成不同的类别数,并进行比较,从而找出最优的方案
@2:根据研究者指定的聚类中心,或者数据本身结构的中心,或者随机选择k个案例,来初步确定每个类别的初始聚类中心
@3:逐一计算各案例到各类别初始聚类中心的距离,将各案例按距离最近原则归入各个类别,并计算新的聚类中心(平均值表示)
@4:按照新的聚类中心位置,重新计算各案例距离新的聚类中心的距离,并重新进行归类,更新类别聚类中心
@5: 重复步骤@4,直到达到一定的收敛标准,或者达到事先指定的迭代次数为止
(2)案例:移动通信客户细分(mobile.sav)
说明:前期调研已知,用户应该被分为5个群体(数据如图所示)
@1:预分析(首先看数据的整体分布特点,判断是否需要标准化案例) 在描述统计中可见
明显的看到:变量之间的平均值差异和标准差差异极大,因此需要考虑对数据进行标准化处理,即另外生成标准化后的数据集;如图操作:
结果如图:
@2:k-means聚类分析操作步骤
1:选择“分析”——》“分类”——》“k-均值聚类”菜单项
2:将6个标准化后的变量选入“变量”框
3:将Customer_ID选入“个案标注依据”框
4:将“聚类数”框更改为5
5:在“迭代”子对话框中,将最大迭代次数改为50
6:在“保存”子对话框中,选中“聚类成员”复选框
7:确定
操作图如下:
@3:结果展示与解释
初始聚类中心默认由软件自动生成,也可人为选择!!
此为其迭代过程,一直到各类别均收敛于0!!
此为最终的聚类中心(各个变量在各个类别上的平均值)以及各个类别的案例数量,可以明显地看出,各类别之间差异都蛮大的!!并且突出了各个类别的特点,到这一步,问题就基本解决了,用户的分类特性已经呈现出来,根据其变量之间的最终聚类中心的比较即可得出结论。