聚类分析数据集_SAS聚类分析

聚类大致分为以下两类:
模糊聚类:对象与类的从属关系是确定的;属于或者不属于;
非模糊聚类:对象与类的从属关系则是有一定的概率。

以下考虑的是非模糊聚类且聚类对象为离散的情况,称为离散聚类。

  • 聚类分析方法有以下两种:
  1. 层次法:适用于观测数比较多的情形。
  2. 划分法:不需要输入类别,适合观测数比较少的情形。
凝聚式层次法:指的是先将每个观测归于一类,然后每次将最相似的两个大类合并成一个新的类,直至所有的观测成为一类或者达到预定的分类条件为止。
分裂式层次法是在聚类开始时就把所有观测归于一类,接下来每次都把现有的类别按相似程度一分为二,直至每一个观测都各自成为一类或达到所预定的分类条件为止。
  • 衡量聚类分析方法的好坏:
  1. 在同一个类别的内部,对象是都具有高度相似性;
  2. 不同类别的对象间是否几乎不具有相似度。
  • 如何度量两个对象间的相似性:
  1. 使用距离函数的d(x,y)来表示对象x与y间的距离,其值越小表示对象越相似。
  2. sas允许客户自定义距离函数,技能距离函数计算的结果作为其他聚类分析过程的输入数据使用。
  3. SAS工提供11种层次法,proc cluster使用不同的方法其聚类结果也会不一样。
data test19_1; 													/*创建数据集*/
input area$ x1-x9;
cards;
北京	4308.5	2684.8	673.8	77.5	12.9	302.6	9.9	357.6	592.4
天津	2949	1316.6	1383	350.1	0	435.2	0	62	187.4
河北	1730.4	652.8	922.9	410	4.6	229.8	0.1	41.6	113
山西	1255	554	537.7	216.4	1.5	152.6	0	48	115.3
内蒙古	1844.1	343	1315.7	880.2	2.1	374.4	0	24.7	160.7
辽宁	2751	896.9	1660.9	835.1	4.8	598.6	25	37.4	155.7
吉林	2432.5	266.4	2021.6	1646.4	4.2	289.5	0.5	35.8	108.7
黑龙江	2296.3	288	1894.1	1528.5	2.4	285.2	0.3	36.6	77.5
上海	5671.1	3989.7	290.3	95.5	0	39.1	21.5	420.6	970.5
江苏	3774.8	2359.1	1014.1	221	21.8	143	71.9	144.3	257.3
浙江	4725	2201.6	1974.5	284	50.2	458.3	94.1	226.4	322.6
安徽	1692.5	905.9	636.9	250	14.3	134.7	27.8	38	111.7
福建	1989	789.6	928.6	271.1	51.1	177.8	47.5	67.7	203.1
江西	1440.2	622.7	702.6	321	18.3	151.4	22.2	18.7	96.2
山东	2276.9	891.5	1182	526.2	22.4	298.8	9.1	78.2	125.2
河南	1301.4	532.1	690.1	277	10.3	251.5	3.8	18.8	60.4
湖北	1662.9	789.4	786.4	296.9	14.6	184.6	111	26.5	60.6
湖南	1707	758.6	705.2	168.8	13.9	183.8	38.3	33.7	209.6
广东	2398.6	1251.1	762.4	259.4	7.1	187.2	134.1	190.6	194.6
广西	1328	422.7	803.8	490.6	16.4	178.3	12.3	10.9	90.6
海南	1594.5	301.6	1153.9	506.6	93.5	197	153.5	19.3	119.7
重庆	1556.8	669	631.5	181.5	11.1	281.1	17.4	31	225.2
四川	1564.8	710	628	123	9.2	306.4	18.1	49.1	177.7
贵州	785.9	335.8	327.3	61.1	12.8	152.7	1.7	15.4	107.4
云南	1034.8	309.8	547.3	196.5	29.7	195.9	7.1	78.9	98.7
西藏	563.5	154.7	308.2	60.7	20.2	98.6	0.6	11.4	89.2
陕西	1251.4	482.1	607.2	290.2	6.6	153.7	1.7	27.3	134.7
甘肃	924.7	332.3	495.9	302.6	5.5	96.6	0	10.2	86.3
青海	1031.8	425	390.8	116.6	2.8	121	0	18.3	197.7
宁夏	1338.4	301.2	942.3	379	0.6	389.3	10.9	16.4	78.4
新疆	1058	120.9	804.2	318.7	24	341.6	0	31.2	101.7
;
run;
proc cluster data=test19_1 standard method=ward outtree=result pseudo ccc; /*聚类分析*/
id area;
var x1-x9;
run;
proc tree data=result  horizontal; /*绘制水平谱系图*/
id area;
run;

聚类分析数据集_SAS聚类分析_第1张图片

聚类分析数据集_SAS聚类分析_第2张图片
  1. 从聚类历史上看,第1列显示当前的聚类数,在最开始所有的观测都各自为一类,到了最后一步,所有观测都会归于一类。
  2. 第2列和第3列表示的是当前合并的聚类。
  3. 第4列频数指的是当前类包含的观测数。
  4. 第5~6列为半偏R方与R方,这两个统计量是用来帮助确定分类个数的;R方越大表示类之间区别分得越开,聚类效果越好;另一方面,不能以R方的大小简单地确定分类的个数,而应考察其值的变化,即上一步与该步R方值的差异,这就是半偏R方,若是R半偏方越大,说明本次并类的效果不好,应当考虑到上一步停止。
  5. 第7列为R方期望的近似值。(近似期望R方)
  6. 第8~10列为类数判定标准。
  7. 第8列(立方聚类条件)显示的是CCC值,CCC值的峰值标志建议聚类数。
  8. 第9列显示的是伪F统计量,该统计量描述的是在当前情况下(按当前类数聚类),类与类之间的分离程度。因此,该值越大分类效果越好。
  9. 第10列为伪t方,该统计量衡量的是当前合并的两个类之间的分离程度,该值越小说明当前合并的两个类越合理,反之,则说明该步的聚类效果不好,应当考虑聚类到上一步是否就应用停止。
  10. 第11列为标准化的均方根距离,该值由类间距离除以观测间距离均方根得到,可以用来帮助判断聚类的合适数量,当某一步的标准化均方根距离增加的幅度最大时,此步骤前的聚类数最合适。

聚类分析数据集_SAS聚类分析_第3张图片
根据CCC值、伪F值以为伪T方值分别生成的聚类数准则图

上图为聚类数准则图,该图的横坐标表示类数,共包含3个子图,分别如下:

  1. 三次聚类准则图,从该图可以看出,类数为4的时候CCC值达到最高峰;
  2. 伪F图,从该图中可以看出,当类数为4时,该统计量最大(类与类的区别效果最好);
  3. 伪T放方图,当类数为4时,该值最小,当将类别数合并为3时,该值有较大的上升,说明合并不合理。因此,可以考虑在类数为4时停止合并。

综合上面的分析,可以判断出PROC CLUSTER的建议类数为4。

聚类分析数据集_SAS聚类分析_第4张图片
outtree=result

代码中的关键字outtree=result生成用于生成树形的数据集result,PROC CLUSTER自动调用PROC TREE生成树形图,该图如上。

从该树形图中可以看出每一个类具体包含的观测,例如,西藏和贵州组成一个类。

至此,完成对整个代码输出结果的解释。

现在来了解下聚类过程。聚类过程的输入不仅仅可以是源数据集,也可以是有方法计算得出的距离数据集。例如,我们计算出观测的距离,通过聚类分析,将结果以树形图的形式展现出来。从上面的例子可以看出,如果过程 CLUSTER包含选项outtree,系统会自动调用过程tree生成树形图。除了系统自动调用外,也可以利用过程CLUSTER的输出直接调用PROC TREE。直接调用PROC_TREE允许我们更灵活第控制树形的输出。

从tree过程可以看出,可以把数据分成4类。

聚类分析数据集_SAS聚类分析_第5张图片
data test;
input y$ x1-x6;
cards;
南京 	6.15	9.8	7.04	10.0	14.91	8.4
无锡 	7.77	12.3	8.51	12.1	13.74	7.8
徐州	 3.73	5.9	4.23	6.0	13.78	7.8
常州 	5.38	8.5	5.78	8.2	11.45	6.5
苏州 	13.53	21.4	14.62	20.8	25.65	14.5
南通 	5.67	9.0	6.33	9.0	23.55	13.3
连云港	2.25	3.6	2.69	3.8	7.70	4.4
淮安 	2.58	4.1	3.11	4.4	9.38	5.3
盐城 	3.99	6.3	4.55	6.5	18.01	10.2
扬州 	3.57	5.7	4.10	5.8	10.99	6.2
镇江 	2.98	4.7	3.24	4.6	6.85	3.8
泰州 	3.49	5.6	3.93	5.6	13.19	7.5
宿迁	 1.99	3.1	2.24	3.2	7.58	4.3
;
run;
proc cluster data=test method=median standard outtree=testdata;
var x1-x6;
id y;
run;
proc tree data=testdata;
run;

聚类分析数据集_SAS聚类分析_第6张图片

聚类分析数据集_SAS聚类分析_第7张图片

聚类分析数据集_SAS聚类分析_第8张图片
*习题3:;
data test;
input y$ x1-x8;
cards;
二九0	11314	4575	7933	413	39	16	80	89
绥滨 	13234	4949	7353	510	47	16	83	92
江滨 	10764	3891	6809	403	39	16	80	93
军川 	11792	4439	7282	378	39	15	66	86
名山	 11508	3828	5514	335	39	15	55	96
延军  	5849	2509	4206	428	31	13	62	96
共青	 11478	3524	7755	383	39	16	75	72
宝泉岭	11935	4105	7043	449	36	17	54	65
新华	 8250	3649	5795	349	37	15	76	100
普阳	 20082	5118	9275	544	39	15	98	100
汤原	 9055	3327	5129	343	35	14	83	100
依兰	 7850	3318	5368	307	30	12	88	86
梧桐河	7140	2342	4447	300	30	15	49	100
友谊 	6331	3783	6100	367	43	11	44	69
五九七	5572	3295	5425	320	32	15	68	51
八五二	11801	3810	5423	374	34	16	98	84
八五三	10797	3673	5337	366	36	15	98	93
饶河 	9564	3661	5564	383	37	15	93	86
二九一	11032	4270	8010	472	43	17	85	92
双鸭山	5260	3080	4941	436	35	15	80	79
江川 	10218	4507	5486	607	39	16	74	92
曙光	 7538	3440	4576	338	31	15	96	71
北兴 	6260	4012	6134	353	36	16	96	71
红旗岭	11602	3358	5037	316	32	14	91	91
宝山	 18925	3469	4924	406	39	12	91	100
八五九	11421	4129	6280	347	33	20	72	70
胜利	 9591	4184	6907	373	38	12	87	100
七星 	9864	3539	6277	367	35	13	51	78
勤得利	8435	3502	5233	279	28	14	71	55
大兴	 8045	3119	4815	294	27	12	30	82
青龙山	13130	5010	9621	394	36	15	76	95
前进	 12476	4162	5542	333	34	13	90	56
创业 	15492	6078	6942	414	37	16	85	78
红卫 	9746	3472	4570	247	27	14	80	70
前哨	 7846	3520	4839	307	34	15	57	68
前锋 	12052	3283	4717	267	28	13	57	81
run;
proc standard data=test out=testdata mean=0 std=1;
var x1-x8;
run;
proc fastclus data=testdata maxclusters=5 list;
var x1-x8;
id y;
run;

聚类分析数据集_SAS聚类分析_第9张图片
初始种子的信息图:首先,输出结果展示的是初始种子信息表,聚类1的中心为观测(0.3,0.4,0.19,-0.3,-0.5,2.99,-0.2,-0.92)。

聚类分析数据集_SAS聚类分析_第10张图片
y值与种子的距离

聚类分析数据集_SAS聚类分析_第11张图片

聚类分析数据集_SAS聚类分析_第12张图片

proc fastclus 过程解读:

  1. 首先,输出结果展示的是初始种子信息表,聚类1的中心为观测(0.3,0.4,0.19,-0.3,-0.5,2.99,-0.2,-0.92)。
  2. 从聚类列表上,可以看出每条观测所属的具体类,以及该观测到该类中心的距离。
  3. 在聚类汇总表中,可以看到每一类的具体信息。例如,聚类1中共含有7个观测,均方根标准差0.7,从聚类种子到其余观测的最大距离为2.4,距离聚类1最近的聚类是聚类2,二者之间的距离为聚类质心间的距离,即为2.117。
  4. 接下来的统计量图则给出了一系列统计量。
  5. 此外fastclus 给出聚类内部每一个变量的均值和标准差,如图所示。

你可能感兴趣的:(聚类分析数据集)