SAS聚类分析(系统聚类cluster,动态聚类fastclus,变量聚类varclus)

1. 从21各工厂抽了同类产品,每个产品检测了两个指标,测得的数据如下(已作了适当变换)欲将各厂产品的质量情况进行分类。

No

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

X1

0

0

2

2

4

4

5

6

6

7

-4

-2

-3

-3

-5

1

0

0

-1

-1

-3

X2

6

5

5

3

4

3

1

2

1

0

3

2

2

0

2

1

-1

-2

-1

-3

-5

2. 数据见下表为某年各地农民生活费用支出数据,试对这些指标做变量聚类分析

地区

食品

衣着

家庭设备用品及服务

医疗保健

交通和

通信

教育文化娱乐服务

居住

杂项商品和服务

北京

4560.52

1442.42

977.47

1322.36

2173.26

2514.76

1212.89

621.74

天津

3680.22

864.89

634.39

1049.33

1092.87

1452.17

1368.2

405.99

河北

2492.26

849.58

460.27

737.43

875.43

827.72

864.92

235.88

山西

2252.5

1016.69

441.82

589.97

825.18

1007.92

830.38

206.48

内蒙古

2323.55

1168.93

464.55

555

928.48

1052.65

802.26

371.19

辽宁

3102.13

846.91

362.1

767.13

797.64

853.92

909.42

348.23

吉林

2457.21

907.61

318.65

671.44

815.02

890.22

984.95

307.56

黑龙江

2215.68

971.44

319.37

634.3

665.01

843.94

755.32

250.37

上海

5248.95

1026.87

877.59

762.92

2332.83

2431.74

1435.72

645.13

江苏

3462.66

886.82

647.52

600.69

1203.45

1467.36

997.53

362.56

浙江

4393.4

1383.63

615.45

852.27

2492.01

1946.15

1229.25

436.37

安徽

3091.28

869.55

336.99

441.42

788.25

869.23

694.17

203.83

福建

3854.26

784.71

525.65

513.61

1232.7

1321.33

1233.49

341.96

江西

2636.93

725.72

451.32

357.03

600.16

894.58

742.93

236.87

山东

2711.65

1091.22

526.29

624.06

1175.57

1201.97

838.17

299.48

河南

2215.32

919.31

431.02

520.57

762.08

847.12

737

252.76

湖北

2868.39

877.01

401.22

517.19

763.14

997.74

752.56

220.08

湖南

2850.94

868.23

513.63

632.52

965.09

1182.18

871.7

285

广东

4503.86

719.26

633.03

707.86

2394.66

1813.86

1254.69

405

广西

2857.4

477.67

360.62

401.06

785.01

850.9

826.86

232.43

海南

3097.71

375.42

405.81

369.33

1154.87

791.24

743.6

188.8

重庆

3415.92

1038.98

615.74

705.72

976.02

1449.49

954.56

242.26

四川

2838.22

754.93

505.83

449.87

1009.35

976.33

728.43

261.85

贵州

2649.02

832.74

446.53

329.77

775.07

938.37

627.23

249.66

云南

3102.46

745.08

335.14

600.08

1076.93

754.69

585.35

180.07

西藏

3107.9

734.83

211.1

221.7

694.21

359.34

612.67

250.82

陕西

2588.91

768.47

478.58

612.3

824.46

1280.14

746.59

253.84

甘肃

2408.37

854

403.8

562.74

703.07

1034.42

716.35

291.46

青海

2366.42

724.96

420.31

542.93

753.07

793.72

653.04

275.66

宁夏

2444.98

874.39

480.7

578.75

774.57

846.72

890.97

314.49

新疆

2386.97

953.03

364.11

472.35

765.72

819.72

698.66

269.45

实验代码:

/*1、系统聚类*/
proc import out=temp1                                                                                                                                 
datafile="C:\Users\86166\Desktop\IT\SAS实验\实验10\1.xls"                                                                                             
DBMS=EXCEL2000 replace;                                                                                                                               
run;                                                                                                                                                  
proc cluster data=temp1 method=single std pseudo;
/*proc  cluster  data=temp1  method=ward  std  pseudo  ccc outtree=temp2;
var x1-x6
id group*/
proc tree hor graphics;   
run;
/*2、动态聚类*/
data temp1;
input area$   x1-x8 @@;
cards;
北京	4560.52	1442.42	977.47	1322.36	2173.26	2514.76	1212.89	621.74
天津	3680.22	864.89	634.39	1049.33	1092.87	1452.17	1368.2	405.99
河北	2492.26	849.58	460.27	737.43	875.43	827.72	864.92	235.88
山西	2252.5	1016.69	441.82	589.97	825.18	1007.92	830.38	206.48
内蒙古	2323.55	1168.93	464.55	555	928.48	1052.65	802.26	371.19
辽宁	3102.13	846.91	362.1	767.13	797.64	853.92	909.42	348.23
吉林	2457.21	907.61	318.65	671.44	815.02	890.22	984.95	307.56
黑龙江	2215.68	971.44	319.37	634.3	665.01	843.94	755.32	250.37
上海	5248.95	1026.87	877.59	762.92	2332.83	2431.74	1435.72	645.13
江苏	3462.66	886.82	647.52	600.69	1203.45	1467.36	997.53	362.56
浙江	4393.4	1383.63	615.45	852.27	2492.01	1946.15	1229.25	436.37
安徽	3091.28	869.55	336.99	441.42	788.25	869.23	694.17	203.83
福建	3854.26	784.71	525.65	513.61	1232.7	1321.33	1233.49	341.96
江西	2636.93	725.72	451.32	357.03	600.16	894.58	742.93	236.87
山东	2711.65	1091.22	526.29	624.06	1175.57	1201.97	838.17	299.48
河南	2215.32	919.31	431.02	520.57	762.08	847.12	737	252.76
湖北	2868.39	877.01	401.22	517.19	763.14	997.74	752.56	220.08
湖南	2850.94	868.23	513.63	632.52	965.09	1182.18	871.7	285
广东	4503.86	719.26	633.03	707.86	2394.66	1813.86	1254.69	405
广西	2857.4	477.67	360.62	401.06	785.01	850.9	826.86	232.43
海南	3097.71	375.42	405.81	369.33	1154.87	791.24	743.6	188.8
重庆	3415.92	1038.98	615.74	705.72	976.02	1449.49	954.56	242.26
四川	2838.22	754.93	505.83	449.87	1009.35	976.33	728.43	261.85
贵州	2649.02	832.74	446.53	329.77	775.07	938.37	627.23	249.66
云南	3102.46	745.08	335.14	600.08	1076.93	754.69	585.35	180.07
西藏	3107.9	734.83	211.1	221.7	694.21	359.34	612.67	250.82
陕西	2588.91	768.47	478.58	612.3	824.46	1280.14	746.59	253.84
甘肃	2408.37	854	403.8	562.74	703.07	1034.42	716.35	291.46
青海	2366.42	724.96	420.31	542.93	753.07	793.72	653.04	275.66
宁夏	2444.98	874.39	480.7	578.75	774.57	846.72	890.97	314.49
新疆	2386.97	953.03	364.11	472.35	765.72	819.72	698.66	269.45
;
run;                                                                                                                                             
proc fastclus data=temp1 maxc=4 list out=temp2;
var x1-x8;
id area;
proc candisc data=temp2 out=temp3;
var x1-x8;
class cluster;
run;
/*3、变量聚类
法一:行列转换后用系统聚类分析*/
proc transpose data=temp1 out=temp2;                                                                                                     
var x1-x8;                                                                                                                              
proc print data=temp2;   
proc cluster data=temp2 method=single std ; 
var COL1-COL31;
id _NAME_; 
proc tree hor graphics;                                                                                                                 
run;  
/*法二:使用varclus方差分析*/
proc varclus data=temp1 trace outtree=test; /*centroid  minc=4*/                                                                                     
var x1-x8;                                                                                                                              
proc tree data=test horizontal;                                                                                                         
run; 

实验结果:——》聚类分析结果压缩包

 实验分析:

由RSQ统计量得,当NCL为3时,下一步NCL变成2的适合RSQ的值骤降,说明当将数据分为3类比较合适,所以依次可以将21个工厂的产品质量分类三类:{1,2,3,4,5,6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20,21}。

上述结果中产生了三种情况,第一种用主成分分析法不指定最小聚类数得到分类结果为{x1,x2,x3,x4,x5,x6,x7,x8};第二种用重心法且指定最小聚类数为4得到分类结果为{x1,x5},{x4,x7},{x3,x6,x8},{x2};第三种用行列转置的方法得到分类结果为{x1},{x2,x7},{x5,x6},{x3,x4,x8}。

利用专业知识和经验分析知:可以之间采用第三种分类的结果比较合适,食品消费为单独一类;居住和衣着有着相关联系,居住地好的地方普遍衣着消费更多;对于农民来说交通和通信无非是用在教育文化和娱乐上产生的,所以分为一类;家庭设备,医疗保健和其他杂项商品和服务对于中国的广大农民来说都属于不必备的东西属于基本生活之外的额外需求,所以分为一类。

样品数量1~100的时候使用系统聚类proc cluster,样品数量100~100000的时候使用动态聚类proc fastclus,pseudo是得到PSF和PSFT2即伪F和伪t²统计量来判断分几类;由R²值来看,某个类骤降的时候,则是分为几个类的标准,伪F值是出现峰值的时候,分类以这个峰值所在类为标准,聚类分析有R型对变量或是指标进行聚类,Q型对样品进行聚类。而分别两者的统计量一个是相似系数,一个是距离。对于变量聚类的varclus方法,在结果中能直接得到分类结果,也可以自行分析。

猜你喜欢

转载自blog.csdn.net/weixin_56115549/article/details/125020349