聚类分析(2)聚类技术
系列文章:聚类分析(1)之市场细分
需要了解的内容:
-
方法有哪些
-
如何选择各种方法
-
聚类的结果和效果如何衡量
-
需要注意哪些
-
源数据要求:数据类型,数据分布,极端值
聚类分析方法分为快速聚类和系统聚类(层次聚类)。快速聚类spss使用的是K-means聚类算法。该聚类方法需要指定聚类数量,通常我们需要多次尝试并分析多少个类合适。聚类分析适合大样本量情况。样本个数超过500,变量数超过50(并不是强制的)。
聚类分析数据类型为数值型,非数值型变量需要做转换,二分类变量(0,1)可以参与聚类分析。聚类多数适用于连续变量,分类变量适用对应分析。
聚类分析对极端值敏感,同时变量数据的量纲也会影响到聚类结果,需要做标准化处理。
结果依赖于第一次初始分类,聚类中绝大多数重要变化均发生在第一次分配中。
聚类分析中,关于分类时,一种是利用相似系数,性质越接近的,相似系数就越接近1或者-1,通过此来确定归类。另一种是利用空间距离,将每一个点看做m维空间上的一个点,并在空间中定义距离。
K-means均值知识
-
样本间距离测量:在刚开始学聚类,听到最多的就是“组内距离最小化,组间距离最大化”。K-means采用的是欧式距离。计算距离的方式和数据类型有关。因为聚类采用的是距离,不同量纲下,大数之间的距离就会大些,方差更大,对结果的影响程度也就更大,量纲就相当于权重了。
-
K-means是一种迭代式算法,指定聚类数后,先确定初始点,逐步迭代修改分类。因此结果依赖于第一次初始分类,聚类中绝大多数重要变化均发生在第一次分配中。
(1)设定k值,确定聚类数(软件随机分配聚类中心所需的种子)。
(2)计算每个记录到类中心的距离(欧氏距离),并分成k类。 (3)然后把k类中心(均值)作为新的中心,重新计算距离。 (4)迭代到收敛标准停止。
在spss中可以设定迭代次数。
聚类模型的评估:
来自《Python数据科学:技术详解与商业实践》。聚类效果的评估基于结果的可解释性,通常需要多次聚类才能找到合适的分类。
-
轮廓系数
-
平方根标准误差
-
R方
-
ARI
参考书籍:
-
《市场研究中的统计分析方法 基础篇》 了解
-
《spss统计分析高级教程 张文彤》 入门
-
《Python数据科学:技术详解与商业实践》案例
-
《多元统计分析 清华大学出版社》 系统介绍
-
《多元统计分析引论 张尧庭》有配套视频 深入
案例:电信数据聚类分析
原数据
数据包含6个变量(字段),除了客户编号为名义变量外,其他都是连续变量。
-
客户编号(Customer_ID)
-
工作日上班时期电话时长(Peak_mins)
-
工作日下班时期电话时长(OffPeak_mins)
-
周末电话时长(Weekend_mins)
-
国际电话时长(International_mins)
-
总通话时长(Total_mins)
-
平均每次通话时长(average_mins)
原数据分布了解
不论什么做什么数据分析,第一步就是查看原始数据的分布,这里应该查看一下各变量的数据分布状态:均值,极大极小值,方差,缺失情况。
通过spss分析-描述
可以看出1.量纲差异较大。2极大极小值组距很大。从这方面可以讲,我们需要做标准化处理。先尝试不做标准化处理。
决定细分人群数
通过业务知识等,决定先设定5个细分人群,后面可以再尝试4和6。
标准化处理
先做标准化处理:spss分析-描述。在左下角中有一个“将标准化值另存为变量”,标准化为Z分数。确定后会生成新的标准化后的变量。
K-means聚类
对标准化后的变量聚类:分析-分类-K-means
选择迭代次数同时将分类结果存在表中。
默认迭代次数是10次,迭代次数过少,可能已经迭代完了仍无法收敛,所以需要增加迭代次数。将分类结果保存在表中,是指对每个样本标注被分到哪一类了。这一步的目的是为了后续通过其他方法(比如比较均值)来看5类人群之间的差异。停
聚类结果
输出4个表格,都是经过标准化处理的。主要查看是否已经迭代收敛。然后下一步就是做均值比较等,目的是查看5类人群是否有差异,分类是否合理。同时还可以在对4和6类人群试做分类。聚类分析无法检验标准,
分析结果:做均值比较
通过比较均值,可以了解5类人群之间的差异
输出的结果
从结果中可以看出
第一类:高端商用客户,总通话时间长,工作日上班时间通话比例高
第二类:少使用低端客户,总通话时间短,各时段通话时间都短
第三类:中端商用客户,总通话时间居中,工作日上班时间通话比例高
第四类:中端日常用客户,总通话时间居中,工作日下班时间通话比例高
第五类:长聊客户,每次通话时间长