一篇文章透彻解读聚类分析及案例实操
【数盟致力于成为最卓越的数据科学社区,聚焦于大数据、分析挖掘、数据可视化领域,业务范围:线下活动、在线课程、猎头服务、项目对接】【限时优惠福利】数据定义未来,2016 年 5 月12 日-14 日DTCC2016 中国数据库技术大会登陆北京!大会云集了国内外数据行业顶尖专家,设定2 个主会场,24 个分会场,将吸引共3000 多名IT 人士参会!马上领取数盟专属购票优惠88 折上折,猛戳文末“阅读原文” 抢先购票!摘要:本文主要是介绍一下SAS 的聚类案例,希望大家都动手做一遍,很多问题只有在亲自动手的过程中才会有发现有收获有心得。这里重点拿常见的工具SAS+R语言+Python 介绍!
1 聚类分析介绍1.1 基本概念聚类就是一种寻找数据之间一种内在结构的技术。聚类把全体数据实例组织成一些相似组,而这些相似组被称作聚类。处于相同聚类中的数据实例彼此相同,处于不同聚类中的实例彼此不同。聚类技术通常又被称为无监督学习,因为与监督学习不同,在聚类中那些表示数据类别的分类或者分组信息是没有的。通过上述表述,我们可以把聚类定义为将数据集中在某些方面具有相似性的数据成员进行分类组织的过程。因此,聚类就是一些数据实例的集合,这个集合中的元素彼此相似,但是它们都与其他聚类中的元素不同。在聚类的相关文献中,一个数据实例有时又被称为对象,因为现实世界中的一个对象可以用数据实例来描述。同时,它有时也被称作数据点(Data Point) ,因为我们可以用r 维空间的一个点来表示数据实例,其中r 表示数据的属性个数。下图显示了一个二维数据集聚类过程,从该图中可以清楚
地看到数据聚类过程。虽然通过目测可以十分清晰地发现隐藏在二维或者三维的数据集中的聚类,但是随着数据集维数的不断增加,就很难通过目测来观察甚至是不可能。
1.2 算法概述目前在存在大量的聚类算法,算法的选择取决于数据的类型、聚类的目的和具体应用。大体上,主要的聚类算法分为几大类。
聚类算法的目的是将数据对象自动的归入到相应的有意义的聚类中。追求较高的类内相似度和较低的类间相似度是聚类算法的指导原则。一个聚类算法的优劣可以从以下几个方面来衡量:
(1)可伸缩性:好的聚类算法可以处理包含大到几百万个对象的数据集;(2) 处理不同类型属性的能力:许多算法是针对基于区间的数值属性而设计的,但是有些应用需要针对其它数据类型(如符号类型、二值类型等)进行处理;(3)发现任意形状
的聚类:一个聚类可能是任意形状的,聚类算法不能局限于规则形状的聚
类;(4) 输入参数的最小化:要求用户输入重要的参数不仅加重了用户的负担,也使聚类的质量难以控制;(5) 对输入顺序的不敏感:不能因为有不同的数据提交顺序而使聚类的结果不同;(6) 高维性:一个数据集可能包含若干维或属性,一个好的聚类算法不能仅局限于处理二维或三维数据,而需要在高维空间中发现有意义的聚类;(7) 基于约束的聚类:
在实际应用中要考虑很多约束条件,设计能够满足特定约束条件且具有较好聚类质量的算法也是一项重要的任务;(8) 可解释性:聚类的结果应该是可理解的、可解释的,以及可用的。
1.3 聚类应用在商业上,聚类分析被用来发现不同的客户群,并且通过购买模
式刻画不同的客户群的特征。聚类分析是细分市场的有效工具,同时也可用于研究消费者行为,寻找新的潜在市场、选择实验的市场,并作为多元分析的预处理。在生物上,聚类分析被用来动植物分类和对基因进行分类,获取对种群固有结构的认识。在地理上,聚类能够帮助在地球中被观察的数据库商趋于的相似性。在保险行业上,聚类分析通过一个高的平均消费来鉴定汽车保险单持有者的分组,同时根据住宅类型,价值,地理位置来鉴定一个城市的房产分组。在因特网应用上,聚类分析被用来在网上进行文档归类来修复信息。在电子商务上,聚类分析在电子商务中网站建设数据挖掘中也是很重要的一个方面,通过分组聚类出具有相似浏览行为的客户,并分析客户的共同特征,可以更好的帮助电子商务的用户了解自己的客户,向客户提供更合适的服务。
2 kmeans 算法2.1 基本思想划分聚类算法是根据给定的n 个对象或者元组的数据集,构建k 个划分聚类的方法。每个划分即为一个聚簇,并且k ? n 。该方法将数据划分为k 个组,每个组至少有一个对象,每个对象必须属于而且只能属于一个组。1 该方法的划分采用按照给定的k 个划分要求,先给出一个初始的划分,然后用迭代重定位技术,通过对象在划分之间的移动来改进划分。为达到划分的全局最优,划分的聚类可能会穷举所有可能的划分。但在实际操作中,往往采用比较流行的k-means 算法或者k-median 算法。
2.2 算法步骤k-means 算法最为简单,实现比较容易。每个簇都是使用对象的平均值来表示。
步骤一:将所有对象随机分配到k 个非空的簇中。步骤二:计算每个簇的平均值,并用该平均值代表相应的值。步骤三:根据每个对象与各个簇中心的距离,分配给最近的簇。步骤四:转到步骤二,重新计算每个簇的平均值。这个
过程不断重复直到满足某个准则函数或者终止条件。终止(收敛)条件
可以是以下任何一个:没有(或者最小数目)数据点被重新分配给不同的聚类;没有(或者最小数目)聚类中心再发生变化;
误差平方和(SSE) 局部最小。
其中,k 表示需要聚集的类的数目,Cj 表示第j 个聚类,mj 表示聚类Cj 的
聚类中心,dist 表示数据点x 和聚类中心mj 之间的距离。利用该准则可以使所生成的簇尽可能的紧凑和独立。
SAS kmeans 实现主要是通过proc fastclus 过程实现,示例如下:proc import datafile= ” E:cars.txt ” out=cars
dbms=dlm replace;delimiter= ' 09' x;getnames=yes;run;proc
print data=cars;run;proc standard data=cars out=stdcars mean=0 std=1;var Mpg Weight Drive_Ratio Horsepower Displacement;run;proc fastclus
data=stdcars summary maxc=5 maxiter=99outseed=clusterseed
out=clusterresult cluster=cluster least=2;id Car;var Mpg Weight Drive_Ratio Horsepower Displacement;run;
2.3 算法分析k-means 算法对于大型的数据库是相对高效的,一般情况下结束于局部最优解。但是,k-means 算法必须在平均值有意义的情况下才能使用,对分类变量不适用,事先还要给定生成聚类的数目,对异常数据和数据噪
声比较敏感,不能对非凸面形状的数据进行处理。另外,k-means算
法在聚类过程中可能有的聚类中心没有被分配任何数据而使得某些聚类变为
空,这些聚类通常被称为空聚类。为了解决空聚类问题,我们可以选择一个数
据点作为替代的聚类中心。例如,某一个含有大量数据的聚类的聚簇中心最远的数据点。如果算法的终止条件取决于误差平方和,具有最大误差平方和的聚类可以被用来寻找另外的聚类中心。
3 层次聚类算法3.1 基本思想层次聚类主要有两种类型:合并的层次聚类和分裂的层次聚类。前者是一种自底向上的层次聚类算法,从最底层开始,每一次通过合并最相似的聚类来形成上一层次中的聚类,整个当全部数据点都合并到一个聚类的时候停止或者达到某个终止条件而结束,大部分层次聚类都是采用这种方法处理。后者是采用自顶向下的方法,从一个包含全部数据点的聚类开始,然后把根节点分裂为一些子聚类,每个子聚类再递归地继续往下分裂,直到出现只包含一个数据点的单节点聚类出现,即每个聚类中仅包含一个数据点。层次聚类技术是一种无监督学习的技术,因此可能没有确定的、一致的正确答案。正是由于这个原因,并且在聚类的特定应用的基础之上,可以设计出较少或较多数量的簇。定义了一个聚类层次,就可以选择希望数量的簇。在极端的情况下,所有的对象都自成一簇。在这样的情形下,聚类的对象之间非常相似,并且不同于其他的聚类。当然,这种聚类技术就失去了实际意义,因为聚类的目的是寻找数据集中的有意义的模式,方便用户理解,而任何聚类的数目和数据对象一样多的聚类算法都不能帮助用户更好地理解数据,挖掘数据隐藏的真实含义。这样,关于聚类的很重要的一点就是应该比原先的数据的数目更少的簇。到底要形成多少个聚类数目,要根据实际业务的理解,这是如何解释实际项目的事情。层次聚类算法的好处是它可以让用户从这些簇中选择所感兴趣的簇,这样更具有灵活性。层次聚类通常被看做成一棵树,其中最小的簇合并在一起创建下一个较高层次的簇,这一层次的簇再合并在一起就创建了再
下一层次的簇。通过这样的过程,就可以生成一系列的聚类树来完成聚类。单点聚类处在树的最底层,在树的底层有一个根节点聚类。根节点聚类覆盖了全部数据节点,兄弟节点聚类则划分了它们共同的父节点中的所有的数据点。图1-5 是采用统计分析软件SAS 对Cars2 数据集进行层次聚类的层次聚类结果图。通过该层次聚类树,用户可以选择查看在树的各个层次上的聚类情况。基于层次的聚类算法方法比较简单,但是缺乏伸缩性,一旦一个合并或者分裂被执行,就不能撤销。为了改进层次聚类的效果,可以将层次聚类算法和其他聚类算法结合使用,形成多阶段的聚类算法。
3.2 算法步骤层次聚类(hierarchical clustering) 算法递归的对对象进行合并或者分裂,直到满足某一终止条件为止。层次聚类分为两种,按自底向上层次分解称为聚合的层次聚类,反之,称为分解的层次聚类。层次聚类算法的计算复杂度为O(n2) ,适合小型数据集的分类。CURE 、ROCK 、BIRCH 和CHAMELEON 是聚合层次聚类中最具代表性的方法。
CURE(Clustering Using REpresentatives) 算法采用了抽样 和分区的技术,选择数据空间中固定数目的、具有代表性的 一些点来代表相应的类,这样就可以识别具有复杂形状和不 同大小的聚类,从而很好的过滤孤立点。 ROCK(RObust Clustering using linKs) 算法是对 CURE 算法的改进, 除了具 有 CURE 算法的一些优良特性外, 还适用于类别属性的数据。 BIRCH(Balanced Iterative
Reducing and Clustering using Hierarchy) 算法首次提出了通过局部聚类对数据库进行预处 理的思想。 CHAMELEON 是 Karypis 等人 1999 年提出的, 它在聚合聚类的过程中利用了动态建模技术。
SAS 实例 options nocenter nodate pageno=1 linesize=132;title h = 1 j = l
‘ File: cluster.mammalsteeth.sas ' ;title2 h = 1 j = l ‘ Cluster Analysis of Mammals ” teeth data ' ;data teeth;input mammal $ 1-
16@wf0007 (v1- v8) (1.);label v1= ' Top
incisors ' v2= ' Bottom incisors 'v3='Top canines ' v4=' canines ' v5=' Top premolars ' v6= ' Bottom premolars 'v7 molars ' v8='
Bottom molars ' ;cards;BROWN BAT 23113333MOLE 32103333SILVER HAIR BAT 23112333PIGMY BAT 23112233HOUSE BAT 23111233RED BAT
13112233PIKA 21002233RABBIT 21003233BEAVER 11002133GROUNDHOG 11002133GRAY SQUIRREL 11001133HOUSE MOUSE
11000033PORCUPINE 11001133WOLF 33114423BEAR 33114423RACCOON Bottom
'Top
喀什大学实验报告 《多元统计分析SPSS》 实验报告 实验课程:基于SPSS的数据分析 实验地点:现代商贸实训中心实验室名称:经济统计实验室 学院: xxx学院年级专业班: xxx班 学生姓名: xxx 学号: XXXX1808015 完成时间: XXXX年x月x日 开课时间: XXXX 至 2017 学年第 1 学期
实验项目:中国上市银行竞争力分析 (一)实验目的 本实验目的围绕上市商业银行竞争力这一主线,遵循一般理论、具体分析到对策建议的研究思路,以我国国内上市的十家商业银行为研究对象,采用其XXXX 年度财务报告的数据,从盈利能力、安全能力和发展能力三方面共选取了8个重要指标,试图通过这些指标量化影响竞争力的因素,构建我国上市商业银行的竞争力评价指标体系,并运用因子分析方法,对我国上市商业银行的竞争力状况进行了分析评价。最后针对分析的结果,通过对我国上市银行竞争力进行优劣势比较,提出了提升我国上市商业银行竞争力的一些建议。 (二)实验资料 通过对资产利润率、不良贷款率、资产负债率、资本充足率、每股收益增长率、贷款增长率、存款增长率、总资产增长率等指标的选择分析不同指标在进行因子分析时所考虑的因素是否存在差异,影响我国上市商业银行的竞争力状况的因素与上述指标是否有关。 具体数据如下所示: 十家同类型上市商业银行XXXX年指标 (三)实验步骤 1、选择菜单
2、选择参与因子分析的变量到(变量V)框中 3、选择因子分析的样本 4、在所示窗口中点击(描述D)按钮,指定输出结果,输出基本统计量、图形等 5、在所示窗口中点击(抽取E)按钮指定提取因子的方法为:主成分分析法 6、在所示的窗口中点击(旋转T)按钮选择因子旋转方法
《应用多元统计分析》 ——报告 班级: 学号: 姓名:
聚类分析的案例分析 摘要 本文主要用SPSS软件对实验数据运用系统聚类法和K均值聚类法进行聚类分析,从而实现聚类分析及其运用。利用聚类分析研究某化工厂周围的几个地区的 气体浓度的情况,从而判断出这几个地区的污染程度。 经过聚类分析可以得到,样本6这一地区的气体浓度值最高,污染程度是最严重的,样本3和样本4气体浓度较高,污染程度也比较严重,因此要给予及时的控制和改善。 关键词:SPSS软件聚类分析学生成绩
一、数学模型 聚类分析的基本思想是认为各个样本与所选择的指标之间存在着不同程度的相 似性。可以根据这些相似性把相似程度较高的归为一类,从而对其总体进行分析和总结,判断其之间的差距。 系统聚类法的基本思想是在这几个样本之间定义其之间的距离,在多个变量之间定义其相似系数,距离或者相似系数代表着样本或者变量之间的相似程度。根据相似程度的不同大小,将样本进行归类,将关系较为密切的归为一类,关系较为疏远的后归为一类,用不同的方法将所有的样本都聚到合适的类中,这里我们用的是最近距离法,形成一个聚类树形图,可据此清楚的看出样本的分类情况。 K 均值法是将每个样品分配给最近中心的类中,只产生指定类数的聚类结果。 二、数据来源 《应用多元统计分析》第一版164 页第6 题 我国山区有一某大型化工厂,在该厂区的邻近地区中挑选其中最具有代表性的 8 个大气取样点,在固定的时间点每日 4 次抽取6 种大气样本,测定其中包含的8 个取样点中每种气体的平均浓度,数据如下表。试用聚类分析方法对取样点及 大气污染气体进行分类。 三、建立数学模型 一、运行过程
5.2酿酒葡萄的等级划分 5.2.1葡萄酒的质量分类 由问题1中我们得知,第二组评酒员的的评价结果更为可信,所以我们通过第二组评酒员对于酒的评分做出处理。我们通过excel计算出每位评酒员对每支酒的总分,然后计算出每支酒的10个分数的平均值,作为总的对于这支酒的等级评价。 通过国际酿酒工会对于葡萄酒的分级,以百分制标准评级,总共评出了六个级别(见表5)。 在问题2的计算中,我们求出了各支酒的分数,考虑到所有分数在区间[61.6,81.5]波动,以原等级表分级,结果将会很模糊,不能分得比较清晰。为此我们需要进一步细化等级。为此我们重新细化出5个等级,为了方便计算,我们还对等级进行降序数字等级(见表6)。 通过对数据的预处理,我们得到了一个新的关于葡萄酒的分级表格(见表7):
考虑到葡萄酒的质量与酿酒葡萄间有比较之间的关系,我们将保留葡萄酒质量对于酿酒葡萄的影响,先单纯从酿酒葡萄的理化指标对酿酒葡萄进行分类,然后在通过葡萄酒质量对酿酒葡萄质量的优劣进一步进行划分。 5.2.2建立模型 在通过酿酒葡萄的理化指标对酿酒葡萄分类的过程,我们用到了聚类分析方法中的ward 最小方差法,又叫做离差平方和法。 聚类分析是研究分类问题的一种多元统计方法。所谓类,通俗地说,就是指相似元素的集合。为了将样品进行分类,就需要研究样品之间关系。这里的最小方差法的基本思想就是将一个样品看作P 维空间的一个点,并在空间的定义距离,距离较近的点归为一类;距离较远的点归为不同的类。面对现在的问题,我们不知道元素的分类,连要分成几类都不知道。现在我们将用SAS 系统里面的stepdisc 和cluster 过程完成判别分析和聚类分析,最终确定元素对象的分类问题。 建立数据阵,具体数学表示为: 1111...............m n nm X X X X X ????=?????? (5.2.1) 式中,行向量1(,...,)i i im X x x =表示第i 个样品; 列向量1(,...,)'j j nj X x x =’,表示第j 项指标。(i=1,2,…,n;j=1,2,…m) 接下来我们将要对数据进行变化,以便于我们比较和消除纲量。在此我们用了使用最广范的方法,ward 最小方差法。其中用到了类间距离来进行比较,定义为: 2||||/(1/1/)kl k l k l D X X n n =-+ (5.2.2) Ward 方法并类时总是使得并类导致的类内离差平方和增量最小。 系统聚类数的确定。在聚类分析中,系统聚类最终得到的一个聚类树,如何确定类的个数,这是一个十分困难但又必须解决的问题;因为分类本身就没有一定标准,人们可以从不同的角度给出不同的分类。在实际应用中常使用下面几种方法确定类的个数。由适当的阀值确定,此处阀值为kl D 。
1. 模糊聚类分析模型 环境区域的污染情况由污染物在4个要素中的含量超标程度来衡量。设这5个环境区域的污染数据为1x =(80, 10, 6, 2), 2x =(50, 1, 6, 4), 3x =(90, 6, 4, 6), 4x =(40, 5, 7, 3), 5x =(10, 1, 2, 4). 试用模糊传递闭包法对X 进行分类。 解 : 由题设知特性指标矩阵为: * 80106250164906464057310124X ????????=???????? 数据规格化:最大规格化' ij ij j x x M = 其中: 12max(,,...,)j j j nj M x x x = 00.8910.860.330.560.1 0.860.671 0.60.5710.440.510.50.11 0.1 0.290.67X ????????=?? ?????? 构造模糊相似矩阵: 采用最大最小法来构造模糊相似矩阵55()ij R r ?=, 1 0.540.620.630.240.5410.550.700.530.62 0.5510.560.370.630.700.5610.380.240.530.370.381R ?? ??? ???=?? ?????? 利用平方自合成方法求传递闭包t (R ) 依次计算248,,R R R , 由于84R R =,所以4()t R R =
2 10.630.620.630.530.6310.560.700.530.62 0.5610.620.530.630.700.6210.530.530.530.530.531R ?? ??????=?? ??????, 4 10.630.620.630.530.6310.620.700.530.62 0.6210.620.530.630.700.6210.530.53 0.530.530.531R ????????=?? ?????? =8R 选取适当的置信水平值[0,1]λ∈, 按λ截矩阵进行动态聚类。把()t R 中的元素从大到小的顺序编排如下: 1>0.70>0.63>062>053. 依次取λ=1, 0.70, 0.63, 062, 053,得 11 000001000()0 010******* 0001t R ????? ? ??=?? ??????,此时X 被分为5类:{1x },{2x },{3x },{4x },{5x } 0.7 1000001010()001000101000001t R ?????? ??=?? ??????,此时X 被分为4类:{1x },{2x ,4x },{3x },{5x } 0.63 1101011010()001001101000001t R ?????? ??=?? ??????,此时X 被分为3类:{1x ,2x ,4x },{3x },{5x } 0.62 1111011110()11110111100 0001t R ?????? ??=?? ?????? ,此时X 被分为2类:{1x ,2x ,4x ,3x },{5x }
各地区各行业工资水平的分析(2009年数据) 小组成员:张艺伟、赵月、陈媛、邹莉、朱海龙、曾磊、胡瑛、候银萍 1.研究背景及意义 1.1 研究背景 工资水平是指一定区域和一定时间内劳动者平均收入的高低程度。生产决定分配,只有经济发展才能提供更多的可分配的社会产品,因此一个地区的工资水平在一定程度上反映了其经济发展的水平。 1.2 研究意义 1. 通过多元统计分析方法,探究一个地区的工资水平与其经济发展水平之间的内在联系。 2. 将平均工资水平划分为3类,分析哪些地区、哪些行业的工资水平较高,可以为大学生就业提供宏观上的方向指引。 2.数据来源与描述 2.1 数据来源——《中国劳动统计年鉴─2010》 (URL:https://www.sodocs.net/doc/a69764352.html,/Navi/YearBook.aspx?id=N2011010069&floor=1###) 主编单位:国家统计局人口和就业统计司,人力资源和社会保障部规划财务司 出版社:中国统计出版社 简介:《中国劳动统计年鉴─2010》是一部全面反映中华人民共和国劳动经济情况的资料性年刊。本刊收集了2009年全国和各省、自治区、直辖市、香港特别行政区、澳门特别行政区的有关劳动统计数据。本书资料的取得形式主要有国家和部门的报表统计、行政记录和抽样调查。 2.2 数据描述 本数据集记录了全国31个省市(港、澳、台除外)的工资状况,各省市分别记录了其23个主要行业的平均工资水平,这23个主要行业包括:企业、事业、机关、金融业、制造业、建筑业、房地产业、农林牧渔业等等,具体数据格式参见图-0。
图-0 3.分析方法及原理 3.1 通过描述统计分析方法,判断哪些行业平均工资水平较高 描述统计分析方法主要是从基本统计量(诸如均值、方差、标准差、极大/小值、偏度、峰度等)的计算和描述开始的,并辅助于SPSS提供的图形功能,能够把握数据的基本特征和整体的分布特征。 在本案例中,通过比较不同行业(诸如企业、事业、机关、建筑业、制造业……)工资的均值、极大/小值,可以从总体上判断哪些行业的平均工资水平较高,哪些行业的较低。 3.2 通过聚类分析方法,判断哪些地区平均工资水平较高 聚类分析是依据研究对象的个体特征,对其进行分类的方法,分类在经济、管理、社会学、医学等领域,都有广泛的应用。聚类分析能够将一批样本(或变量)数据根据其诸多特征,按照在性质上的亲疏程度在没有先验知识的情况下进行自动分类,产生多个分类结果。类内部个体特征之间具有相似性,不同类间个体特征的差异性较大。 在本案例中,我们将采用两种方法进行聚类分析:一种是系统聚类法,另一种是K-均值法(快速聚类法)。 3.2.1系统聚类法 系统聚类法的基本原理:首先将一定数量的样本或指标各自看成一类,然后根据样本(或指标)的亲疏程度,将亲疏程度最高的两类进行合并,然后考虑合并后的类与其他类之间的亲疏程度,再进行合并。重复这一过程,直到将所有的样本(或指标)合并为一类。 系统聚类分为Q型聚类和R型聚类两种:Q型聚类是对样本进行聚类,它使具有相似特征的样本聚集在一起,使差异性大的样本分离开来;R型聚类是对变量进行聚类,它使差异性大的变量分离开来,相似的变量聚集在一起,这样就可以在相似变量中选择少数具有代表性的变量参与其他分析,实现减少变量个数、降低变量维度的目的。 在本例中进行的是Q型聚类。 类与类之间距离的计算方法主要有以下几种: (1)最短距离法(Nearest Neighbor),是指两类之间每个个体距离的最小值; (2)最长距离法(Farthest Neighbor),是指两类之间每个个体距离的最大值; (3)组间联接法(Between-groups Linkage),是指两类之间个体之间距离的平均值;
SPSS软件操作实例——某移动公司客户细分模型 数据准备:数据来源于telco.sav,如图1所示,Customer_ID表示客户编号,Peak_mins表示工作日上班时期电话时长,OffPeak_mins表示工作日下班时期电话时长等。 图1 telco.sav数据 分析目的:对移动手机用户进行细分,了解不同用户群体的消费习惯,以更好的对其进行定制性的业务推销,所以需要运用聚类分析。 操作步骤: 1,从菜单中选择【文件】——【打开】——【数据】,在打开数据窗口中选择数据位置以及文件类型,将数据telco.sav导入SPSS软件中,如图2所示。 图2 打开数据菜单选项 2,从菜单中选择【分析】——【描述统计】——【描述】,然后在描述性窗口中,将需要标准化的变量选到右边的“变量列表”,勾选“将标准化得分另存为变量”,点确定,如图3所示。
图3 数据标准化 3,从菜单中选择【分析】——【分类】——【K-均值聚类】,在K-均值聚类分析窗口中将标准化之后的结果选入右边“变量列表”,客户编号选入“个案标记依据”,聚类数改为5。点击迭代按钮,在迭代窗口将最大迭代次数改为100,点击继续。点击保存按钮,在保存窗口勾选“聚类成员”、“与聚类中心的距离”,点击继续。点击选项按钮,在选项窗口勾选“ANOV A表”、“每个个案的聚类信息”,点击继续。点击确定按钮,运行聚类分析,如图4所示。 图4 聚类分析操作
由最终聚类中心表可得最终分成的5个类它们各自的均值。 第一类:依据总通话时间长,上班通话时间长,国际通话时间长等特征,将第一类命名为高端商用客户。 第二类:依据其在各项指标中均较低,将第二类命名为不常使用客户。 第三类:依据总通话和上班通话时间居中等特征,将第三类命名为中端商用客户。第四类:依据下班通话时间最长等特征,将第四类命名为日常客户。 第五类:依据平均每次通话时间最长等特征,将第五类命名为长聊客户。 由ANOVA表可根据F值大小近似得到哪些变量对聚类有贡献,本例题中重要程度排序为:总通话时长>工作日上班时期电话时长>工作日下班时期电话时
Lab 6 聚类分析 一、分析背景 Chrysler公司为了赢得市场竞争地位,决定推出新产品Viper,该种产品的目标客户是雅皮士阶层。为了进一步了解这种人群的心理特征,定位自己的产品,吸引目标客户,Chrysler公司进行了一次市场调研。研究者使用九点量表测量400名被试者对30项陈述的态度,从而了解这些目标客户的心理特征。调研还询问被试者对Dodge Viper型汽车的态度来测量标准变量,标准变量的测量通过九点量表来测试消费者对“我愿意购买Chrysler公司生产的Dodge Viper型汽车”的态度。 本次分析的目的是:通过聚类分析,将原始变量分别聚成三类和四类,比较两种方法的效果。同时,比较使用原始变量得到的聚类结果和使用因子得分得到的聚类结果,看哪一种方法能更好地解释数据。 二、分析结果 1、根据原始变量进行的聚类分析 首先根据原始变量进行聚类分析,由于样本数较大,采用迭代聚类法,分别将样本聚为三类和四类,下面是聚类分析的结果比较。 表 1 聚为三类后的组重心表 2 聚为四类后的组重心 表 3 聚为三类的每组样本数表 聚为四类的每组样本数
表5 聚为三类后组重心之间的距离 表 6 聚为四类后组重心之间的距离 由方差分析的结果(结果略)可知,在聚为三类和四类的分析中,V8,V9,V18,V19,V20和V27的组间差异均大于0.05,结果不显著。 2、 根据因子得分进行的聚类分析 以下是根据因子得分,采用迭代法将样本聚为三类和四类的结果: 表7 聚为三类后的组重心 -.45298 .16364 .29950 .36038 -.22794 -.15239 .28739 -.32881 .00765 .25444 .70915 -.87203 .52946 -.29355 -.26021 .18363 .11953 -.28471 .00228 .20936 -.18616 .56772 -.64844 .01414 消费因子 时尚因子 社会因子 爱国因子 期望因子 偏好因子 个性因子 家庭因子 1 2 3 Cluster 表 8 聚为三类时的样本数 137.000 123.000 140.000 400.000 .000 1 2 3 Cluster Valid Missing
基于K―means聚类的客户细分案例分析 【摘要】当今流行的客户细分理论的视角主要关注在 消费市场的细分上,现有的客户细分理论中根据客户购买的 产品特征进行细分的分析和研究相对较少,因此本文的研究 就是把某品牌鞋子的风格特征作为细分变量,基于某企业的 销售数据来进行分析,选择K-means聚类分析方法结合企业 的实际情况,划分出不同的客户群,企业可以根据不同客户 群的需求和对企业的贡献制定不同的宣传营销策略,降低企 业的销售成本,提高企业的竞争力。 【关键词】客户细分K-means聚类案例分析营销策略 一、案例介绍 某公司是一个以鞋类的研发制造及品牌管理为主的时 尚集团公司,业务遍及大中华区(中国大陆、香港、台湾)、亚洲、欧洲及北美洲,是中国最成功的国内品牌之一。该公 司在中国经营的组织架构为:总公司――分公司――专卖 店。其中,总公司负责拓展策略和公司年度工作计划的制定, 以及成本控制和分公司事务管理。分公司负责执行总公司的 战略,对专卖店、专卖店人员实施管理,工作内容包括:新 开专卖店寻址、申请开店、签约、开店;对分公司人员管理、分公司销售指标达成、执行总公司促销活动等。
二、数据处理 (一)数据准备 原始数据包括两张表:客户交易记录表和鞋子具体属性 表,其中客户交易记录表与鞋子属性表连接的变量是鞋子 ID,交易记录数据的时间是过去一年2013年9月1日到2014年9月1日。 (二)数据清洗 该企业一年的交易记录有几千万条,所以原始的交易数 据量非常大,这样就很容易出现噪声数据、空缺数据和不一 致数据,所以必须要经过一系列的分析与处理,包括对缺失 值的处理和异常值的处理,例如:去除客户属性为空的客户 记录、剔除消费额和消费次数不在正常范围内的客户记录 等。 (1)剔除异常的正负交易。从客户交易记录表中选出 过去一年交易ID不为空的正常交易记录,交易记录表中的 金额有正负之分,正表示购买记录,负表示退货记录,要剔 除掉没有正交易与之对应的退货记录。 (2)剔除异常的购买数量和金额。由于有些客户不是 会员,专卖店的销售员会帮客户刷自己的会员卡,这样就会 出现一个会员ID在一段时间内交易数量和交易金额超出正 常范围。本文用3δ准则剔除不在正常范围内异常客户。 (三)数据转换和整合
k-means聚类”——数据分析、数据挖掘 一、概要 分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但就是很多时候上述条件得不到满足,尤其就是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。聚类属于无监督学习,相比于分类,聚类不依赖预定义的类与类标号的训练实例。本文介绍一种常见的聚类算法——k 均值与k 中心点聚类,最后会举一个实例:应用聚类方法试图解决一个在体育界大家颇具争议的问题——中国男足近几年在亚洲到底处于几流水平。 二、聚类问题 所谓聚类问题,就就是给定一个元素集合D,其中每个元素具有n 个可观察属性,使用某种算法将D 划分成k 个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇。 与分类不同,分类就是示例式学习,要求分类前明确各个类别,并断言每个元素映射到一个类别,而聚类就是观察式学习,在聚类前可以不知道类别甚至不给定类别数量,就是无监督学习的一种。目前聚类广泛应用于统计学、生物学、数据库技术与市场营销等领域,相应的算法也非常的多。本文仅介绍一种最简单的聚类算法——k 均值(k-means)算法。 三、概念介绍 区分两个概念: hard clustering:一个文档要么属于类w,要么不属于类w,即文档对确定的类w就是二值的1或0。 soft clustering:一个文档可以属于类w1,同时也可以属于w2,而且文档属于一个类的值不就是0或1,可以就是0、3这样的小数。 K-Means就就是一种hard clustering,所谓K-means里的K就就是我们要事先指定分类的个数,即K个。 k-means算法的流程如下: 1)从N个文档随机选取K个文档作为初始质心 2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类
一篇文章透彻解读聚类分析及案例实操 【数盟致力于成为最卓越的数据科学社区,聚焦于大数据、分析挖掘、数据可视化领域,业务范围:线下活动、在线课程、猎头服务、项目对接】【限时优惠福利】数据定义未来,2016 年 5 月12 日-14 日DTCC2016 中国数据库技术大会登陆北京!大会云集了国内外数据行业顶尖专家,设定2 个主会场,24 个分会场,将吸引共3000 多名IT 人士参会!马上领取数盟专属购票优惠88 折上折,猛戳文末“阅读原文” 抢先购票!摘要:本文主要是介绍一下SAS 的聚类案例,希望大家都动手做一遍,很多问题只有在亲自动手的过程中才会有发现有收获有心得。这里重点拿常见的工具SAS+R语言+Python 介绍! 1 聚类分析介绍1.1 基本概念聚类就是一种寻找数据之间一种内在结构的技术。聚类把全体数据实例组织成一些相似组,而这些相似组被称作聚类。处于相同聚类中的数据实例彼此相同,处于不同聚类中的实例彼此不同。聚类技术通常又被称为无监督学习,因为与监督学习不同,在聚类中那些表示数据类别的分类或者分组信息是没有的。通过上述表述,我们可以把聚类定义为将数据集中在某些方面具有相似性的数据成员进行分类组织的过程。因此,聚类就是一些数据实例的集合,这个集合中的元素彼此相似,但是它们都与其他聚类中的元素不同。在聚类的相关文献中,一个数据实例有时又被称为对象,因为现实世界中的一个对象可以用数据实例来描述。同时,它有时也被称作数据点(Data Point) ,因为我们可以用r 维空间的一个点来表示数据实例,其中r 表示数据的属性个数。下图显示了一个二维数据集聚类过程,从该图中可以清楚
例题1:下表是我国16个地区农民在1982年支出情况的抽样调查数据的汇总资料,每个地区都调查了反映每人平均生活消费支出情况的六个指标。试利用调查资料对16个地区进行分类。 地区食品衣着燃料住房 生活用品及其 他文化生活服务支出 北京: 天津{ 河北 山西? 内蒙古? 辽宁 ^ 吉林 黑龙江】 上海?江苏 浙江! 5安徽@ 福建 江西、 山东— 河南 ]
下面用统计学软件SAS(Statistical Analysis System) data dfdf; input city $ x1 x2 x3 x4 x5 x6;cards; beijing tianjing hebei shanxi neimenggu liaoning … jilin heilongjiang shanghai jiangsu zhejiang anhui fujian jiangxi shandong henan ;run; ^ proc cluster data=dfdf std outtree=tree method=ave pesudo rsq;id city;run; /*ward离差平方和法war; 类平均法ave; 重心法cen;最长
距离法com;中间距离法med; 最短距离法sin;密度估计法den;极 大似然法eml; 可变类平均fle;相似分析法mcq; 两阶段密度估计 two; */ proc tree data=tree out=new graphics horizontal; id city;run; Cluster History、 ] Norm RMS @ NCL Clusters Joined---FREQ SPRSQ RSQ PSF PST2Dist 15 , anhui fujian2. 14hebei ; henan 2. 13CL14shanxi !3 12CL15jiangxi3(4 11jiangsu zhejiang2》. 10CL13neimengg4) 9tianjing shandong2! . 8CL9CL114《7liaoning jilin2. |heilongj CL124
聚类分析案例 This model paper was revised by the Standardization Office on December 10, 2020
SPSS软件操作实例——某移动公司客户细分模型 数据准备:数据来源于,如图1所示,Customer_ID表示客户编号,Peak_mins表示工作日上班时期电话时长,OffPeak_mins表示工作日下班时期电话时长等。 图1 数据 分析目的:对移动手机用户进行细分,了解不同用户群体的消费习惯,以更好的对其进行定制性的业务推销,所以需要运用聚类分析。 操作步骤: 1,从菜单中选择【文件】——【打开】——【数据】,在打开数据窗口中选择数据位置以及文件类型,将数据导入SPSS软件中,如图2所示。 图2 打开数据菜单选项 2,从菜单中选择【分析】——【描述统计】——【描述】,然后在描述性窗口中,将需要标准化的变量选到右边的“变量列表”,勾选“将标准化得分另存为变量”,点确定,如图3所示。 图3 数据标准化 3,从菜单中选择【分析】——【分类】——【K-均值聚类】,在K-均值聚类分析窗口中将标准化之后的结果选入右边“变量列表”,客户编号选入“个案标记依据”,聚类数改为5。点击迭代按钮,在迭代窗口将最大迭代次数改为100,点击继续。点击保存按钮,在保存窗口勾选“聚类成员”、“与聚类中心的距离”,点击继续。点击选项按钮,在选项窗口勾选“ANOVA表”、“每个个案的聚类信息”,点击继续。点击确定按钮,运行聚类分析,如图4所示。
图4 聚类分析操作 结果分析 表 1 最终聚类中心 聚类 1 2 3 4 5 Zscore: 工作日上班时期电话时长 .6134 2 .3730 3 Zscore: 工作日下班时期电话时长 .4608 1 Zscore: 周末电话时长 .3584 5
多元统计分析中的降维方法在四川省社会福利中的应用 由于计算机的发展和日益广泛的使用,多元分析方法也很快地应用到社会学、农业、医学、经济学、地质、气象等各个领域。在国外,从自然科学到社会科学的许多方面,都已证实了多元分析方法是一种很有用的数据处理方法;在我国,多元分析对于农业、气象、国家标准和误差分析等许多方面的研究工作都取得了很大的成绩,引起了广泛的注意。在许多领域的研究中,为了全面系统地分析问题,对研究对象进行综合评价,我们常常需要考虑衡量问题的多个指标(即变量),由于变量之间可能存在着相关性,如果采用一元统计方法,把多个变量分开,一次分析一个变量,就会丢失大量的信息,研究结果也会偏差很大。因此需要采用多元统计分析的方法,同时对所有变量的观测数据进行分析。多元统计分析就是一种同时研究多个变量之间的相互关系,经过对变量的综合处理,充分提取变量之间的信息,进行综合分析和评价的统计方法。多元统计分析法主要包括降维、分类、回归及其他统计思想。 一.多元统计分析方法中降维的方法 1.概述 多元统计分析方法是同时对多个变量的观察数据做综合处理和分析。在不损失有价值信息的情况下,简化观测数据或数据结构,尽可能简单地将被研究对象描述出来,使得对复杂现象的解释变得更容易些。同时,采用多元统计分析中的聚类分析或判别分析可以对变量或样品进行分类与分组。根据所测量的特征和分类规则将一些“类似的”对象或变量分组。多元统计分析也可以研究变量间依赖性。即对变量间关系的本质进行研究。是否所有的变量都相互独立?还是一个变量或多个变量依赖于其他变量?它们又是怎样依赖的?通过观测变量数据的散点图,我们可以建立多元回归统计模型,确定出变量之间具体的依赖关系,进而可以根据某些变量的观测值预测另一个或另一些变量的值对事物现象的发展作预测。最后我们需要构造假设,并对所建立的以多元总体参数形式陈述的多种特殊统计假设进行检验。 在多元统计分析方法中数据简化或结构简化,实质上就是数学中的降维方法。多元统计分析中的降维方法主要包括聚类分析、判别分析、主成分分析、因子分析、对应分析和典型相关分析等几种方法。其中主成分分析和因子分析是在作综合评价方面应用最广泛、较为有效的方法。本文主要介绍这两种多元统计分析方法的应用。 2 主成分分析 2.1主成分分析的基本思想 在大部分实际问题中,需要考察的变量多,变量之间是有一定的相关性的,主成分分析就是以损失很少部分信息为代价,保留绝大部分信息的前提下, 将原来众多具有一定线性相关性的p个指标压缩成少数几个互不相关的综合指 标(主成分),并通过原来变量的少数几个的线性组合来给出各个主成分的具有实际背景和意义的解释。由于主成分分析浓缩了众多指标的信息,降低了指标的
六、聚类分析 (一)概述 1.聚类分析的目的 根据已知数据,计算样本或者变量之间亲疏关系的统计量(距离或相关系数)。根据某种准则(最短距离法、最长距离法、中间距离法、重心法),使同一类内的差别较小,而类与类之间的差别较大,最初达到的就是将样本或变量分成若干类。 2.聚类分析的分类 3.距离与相似性 为了对样本或者变量进行分类,就需要研究样本之间的关系,最常用的方法有两个。
(二)系统聚类 1.系统聚类的步骤 距离的具体定义及计算方式 计算n各样本两两之间的距离 将距离接近的数据依次合并为一类,再计算,再合并 画聚类图,解释类与类之间的关系 2.亲疏程度度量方法 3.系统聚类的分类
4.SPSS操作及实例 SPSS采用的是凝聚法。 案例:根据30个省的23个主要行业的平均工资情况,通过聚类分析来判断哪些地区平均工资水平高。 SPSS操作及结果: 打开SPSS上方菜单栏中的分析->分类->系统聚类 选择变量->勾选统计量->在绘制里选择树状图和冰柱图 勾选方法(通常使用组间联接)->度量区间->选择标准化方式(全距从0到
1) 下图为近似矩阵表,标注了相关系数,数值越大,距离越接近 下图为聚类分析结果表,第一类表示这是聚类分析的第几步,第二三列表示该步中那几个样本或者小类聚成一类,第四列表示距离,第五六列表示本步骤中参与的是个体还是小类(0表示样本,非0表示第n步生成的小类),第七列表示本步骤的聚类结果将在以下第几步中用到。
下面是冰柱图和树状图的结果,根据树状图可以看出,如果分为三类的话,第一类包括北京上海,第二类包括天津、广东、浙江、江苏、西藏,剩下的归为一类。 (三)快速聚类(适合大样本聚类) 1.快速聚类的步骤 指定聚类数目K 确定K个初始类的中心(自定义或者根据数据中心初步确定) 根据距离最近的原则进行分类 根据新的中心位置,重新计算每一记录距离新的类别中心的的距离,并重新分类 重复步骤4,直到达到标准
案例数据源: 有20种12盎司啤酒成分和价格的数据,变量包括啤酒名称、热量、钠含量、酒精含量、价格。 【一】问题一:选择那些变量进行聚类?——采用“R型聚类” 1、现在我们有4个变量用来对啤酒分类 2、先确定用相似性来测度,度量标准选用pearson系数,聚类方法选最远元素,将来的相似性矩阵里的数字为相关系数。若果有某两个变量的相关系数接近1或-1,说明两个变量可互相替代。
3、只输出“树状图”就可以了,从proximity matrix表中可以看出热量和酒精含量两个变量相关系数0.903,最大,二者选其一即可,没有必要都作为聚类变量,导致成本增加。至于热量和酒精含量选择哪一个作为典型指标来代替原来的两个变量,可以根据专业知识或测定的难易程度决定。(与因子分析不同,是完全踢掉其中一个变量以达到降维的目的。)这里选用酒精含量,至此,确定出用于聚类的变量为:酒精含量,钠含量,价格。
【二】问题二:20中啤酒能分为几类?——采用“Q型聚类” 1、现在开始对20中啤酒进行聚类。开始不确定应该分为几类,暂时用一个3-5类范围来试探,这一回用欧式距离平方进行测度。
2、主要通过树状图和冰柱图来理解类别。最终是分为4类还是3类,这是个复杂的过程,需要专业知识和最初的目的来识别。我这里试着确定分为4类。选择“保存”,则在数据区域内会自动生成聚类结果。 【三】问题三:用于聚类的变量对聚类过程、结果又贡献么,有用么?——采用“单因素方差分析” 1、聚类分析除了对类别的确定需讨论外,还有一个比较关键的问题就是分类变量到底对聚类有没有作用有没有贡献,如果有个别变量对分类没有作用的话,应该剔除。 2、这个过程一般用单因素方差分析来判断。注意此时,因子变量选择聚为4类的结果,而将三个聚类变量作为因变量处理。方差分析结果显示,三个聚类变量sig值均极显著,我们用于分类的3个变量对分类有作用,可以使用,作为聚类变量是比较合理的。
模糊聚类分析例子
————————————————————————————————作者: ————————————————————————————————日期:
1. 模糊聚类分析模型 环境区域的污染情况由污染物在4个要素中的含量超标程度来衡量。设这5个环境区域的污染数据为1x =(80, 10, 6, 2), 2x =(50, 1, 6, 4), 3x =(90, 6, 4, 6), 4x =(40, 5, 7, 3), 5x =(10, 1, 2, 4). 试用模糊传递闭包法对X 进行分类。 解 : 由题设知特性指标矩阵为: * 80106250164906464057310124X ?? ??????=???????? 数据规格化:最大规格化' ij ij j x x M = 其中: 12max(,,...,)j j j nj M x x x = 00.8910.860.330.560.1 0.860.671 0.60.5710.440.510.50.11 0.1 0.290.67X ???????? =?? ?????? 构造模糊相似矩阵: 采用最大最小法来构造模糊相似矩阵55()ij R r ?=, 1 0.540.620.630.240.5410.550.700.530.62 0.5510.560.370.630.700.5610.380.240.530.370.381R ?? ??? ???=?? ?????? 利用平方自合成方法求传递闭包t (R ) 依次计算248,,R R R , 由于84R R =,所以4()t R R =