这篇文章与上一篇的回归分析是一次实习作业整理出来的。所以参考文献一并放在该文最后。CNBlOG网页排版太困难了,又不喜欢live writer……

聚类分析是将物理或者抽象对象的集合分成相似的对象类的过程。本次实验我将对同一批数据做两种不同的类型的聚类;它们分别是系统聚类和K-mean 聚类。其中系统聚类的聚类方法也采用3种不同方法,来考察对比它们之间的优劣。由于没有样本数据,因此不能根据其数据做判别分析。评价标准主要是观察各聚 类方法的所得到的类组间距离和组内聚类的大小。

分析数据依然采用线性回归所使用的标准化后的能源消费数据。

1.1 系统聚类

本次实验的系统聚类都是凝聚系统聚类,为了控制变量,都采用平方Euclidean距离。

1.1.1 最短距离聚类法

最短距离法聚类步骤如下:

  1. 规定样本间的距离,计算样本两两之间的距离,得到对称矩阵。开始每个样品自成一类。
  2. 选择对称矩阵中的最小非零元素。将两个样品之间最小距离记为D1,将这两个样品归并成为一类,记为G1。
  3. 计算G1与其他样品距离。重复以上过程直到所有样品合并为一类。

我们在SPSS中实现最短距离分析非常简单。单击“”-->“” -->“”。将弹出如图1-1所示的对话框,设置相应的参数即可。

图1-1 最短距离法

我们的数据已经做过标准化,在“转化值”-->“标准化”选项上选无。

在统计量的聚类成员中选择“无”,因为这是非监督分类,不需要指定最终分出的类个数。在绘制中选择绘制“树状图”。单击确定,得到以下结果。

  1. 表3-1显示了数据的缺失情况:

                                                            案例处理汇总a

案例

有效

缺失

总计

N

百分比

N

百分比

N

百分比

30

100.0

0

.0

30

100.0

表1-1 数据汇总

我们的数据经过预处理,所以缺失值个数为0.

2. 由于相关矩阵过于庞大,无法在文档中贴出,得到的是一个非相似矩阵。表1-2是样品聚类过程。样品21和28在第一步合并为一类,它们之间的非相关系数最 小,为0.211。在下一次合并是第十步。在第五步的时候,样品2、27、14组成一类,出现群集,样品个数为3。如上类推,可以解释表格。

聚类表

群集组合

系数

首次出现阶群集

下一阶

群集 1

群集 2

群集 1

群集 2

1

21

28

.211

0

0

10

2

12

24

.465

0

0

6

3

2

27

.491

0

0

5

4

13

20

.585

0

0

9

5

2

14

.645

3

0

6

6

2

12

.678

5

2

7

7

2

7

.702

6

0

8

8

2

25

.773

7

0

9

9

2

13

.916

8

4

11

10

21

29

1.085

1

0

12

11

2

18

1.106

9

0

12

12

2

21

1.115

11

10

13

13

2

17

1.360

12

0

14

14

2

26

1.564

13

0

15

15

2

22

1.627

14

0

16

16

2

5

1.649

15

0

17

17

2

8

1.877

16

0

18

18

2

16

3.027

17

0

19

19

2

30

3.543

18

0

20

20

2

11

4.930

19

0

21

21

2

4

5.024

20

0

22

22

2

10

6.445

21

0

24

23

1

9

8.262

0

0

26

24

2

15

10.093

22

0

25

25

2

23

10.096

24

0

26

26

1

2

10.189

23

25

27

27

1

6

11.387

26

0

28

28

1

3

13.153

27

0

29

29

1

19

32.367

28

0

0

表1-2 聚类过程

我们可以通过更加形象直观的树状图来观察整个聚类过程和聚类效果。如图1-2所示,最短距离法组内距离小,但组间距离也较小。分类特征不够明显,无法凸显各个省份的能源消耗的特点。但是我们可以看到广东省能源消耗组成和其他省份特别不同,在其他方法中也显现出来。

图1-2 最短距离法聚类图

1.1.2 组间联接聚类

组间联接聚类法定义为两类之间的平均平方距离,即。类CK和CL  合并为下一步的CM 则CM   与CJ距离的递推公式为:

我们依然贴出组间联接法的聚类表和树状图。

  1. 聚类表如表1-3所示,相关解释类似于表1-1所述。

      

聚类表

群集组合

系数

首次出现阶群集

下一阶

群集 1

群集 2

群集 1

群集 2

1

21

28

.211

0

0

10

2

12

24

.465

0

0

5

3

2

27

.491

0

0

6

4

13

20

.585

0

0

8

5

7

12

.840

0

2

7

6

2

14

.937

3

0

7

7

2

7

1.105

6

5

11

8

13

25

1.331

4

0

11

9

17

18

1.360

0

0

14

10

21

29

1.495

1

0

13

11

2

13

1.703

7

8

15

12

8

26

1.877

0

0

15

13

21

22

2.133

10

0

18

14

5

17

2.378

0

9

16

15

2

8

3.715

11

12

16

16

2

5

3.926

15

14

18

17

4

16

5.024

0

0

23

18

2

21

5.526

16

13

21

19

10

11

6.445

0

0

22

20

1

9

8.262

0

0

25

21

2

30

8.744

18

0

23

22

6

10

11.508

0

19

24

23

2

4

14.202

21

17

25

24

6

15

14.288

22

0

27

25

1

2

19.822

20

23

26

26

1

23

23.363

25

0

28

27

3

6

26.516

0

24

28

28

1

3

31.210

26

27

29

29

1

19

69.114

28

0

0

表1-2 组间联接聚类法

2. 树状图如图1-3所示,可以看到聚类的组间距离较大,组内距离较小。聚类结果较为理想。可以看到海南与青海,宁夏自治区,重庆市的能源消耗特点近似,北京、上海两地能源消耗特点也近似。江浙两地亦然。

最后广东和各地能源消耗特点都不同。

1.1.3 Ward法聚类

Ward即离差平方和法。它的思想是,同类离差平方和较小,类间偏差平方和较大。Ward方法并类时总是使得并类导致的类内离差平方和增量最小。公式:

递推公式:

我依然贴出ward法聚类表和树状图。

  1. 聚类表如表1-4所示,相关解释类似于表1-1所述.

    

                                                                        聚类表

群集组合

系数

首次出现阶群集

下一阶

群集 1

群集 2

群集 1

群集 2

1

21

28

.106

0

0

11

2

12

24

.338

0

0

5

3

2

27

.584

0

0

6

4

13

20

.876

0

0

9

5

7

12

1.359

0

2

12

6

2

14

1.902

3

0

8

7

17

18

2.582

0

0

13

8

2

29

3.351

6

0

12

9

13

25

4.140

4

0

14

10

8

26

5.079

0

0

16

11

21

22

6.290

1

0

19

12

2

7

7.647

8

5

14

13

5

17

9.006

0

7

21

14

2

13

11.211

12

9

19

15

4

16

13.723

0

0

23

16

8

30

16.642

10

0

21

17

10

11

19.865

0

0

20

18

1

9

23.996

0

0

25

19

2

21

30.556

14

11

24

20

6

10

37.154

0

17

22

21

5

8

43.898

13

16

24

22

6

15

52.159

20

0

26

23

3

4

62.103

0

15

26

24

2

5

73.051

19

21

27

25

1

23

86.143

18

0

27

26

3

6

106.442

23

22

28

27

1

2

139.001

25

24

29

28

3

19

177.895

26

0

29

29

1

3

286.000

27

28

0

表1-4 Ward法聚类表

2. 树状图如图1-4所示,我们可以看到这个结果较以上两种方法都为理想,组内距离都很小,控制在五次迭代之内。然后组间距离非常大。各分类的样品也基本符合 它们的能源消耗特点。最后在接近10次迭代,广东被归入山东、山西这两个分别是能源消耗大省和能源产量大省的一类,说明它们之间的相似度也不大。

图1-4 Ward法聚类树状图

1.2 K-mean聚类

K-mean聚类是用户指定类别数的大样本资料的逐步聚类分析。所谓逐步聚类分析就是先把被聚对象进行初始分类,然后逐步调整,得到最终K个分类。 K-mean法对离群点敏感容易扭曲数据分布。

单击“”-->“” -->“”将弹出如图1-5所示的对话框,我们根据系统聚类法的经验将K选择为5。迭代次数和系统聚类一样选择25次。

图1-5 K-mean聚类设置

下面输出和解释K-mean聚类结果。

  1. 表1-5是K-mean的迭代历史记录,非常明了。

                                       迭代历史记录a

迭代

聚类中心内的更改

1

2

3

4

5

1

2.796

1.414

1.813

.000

2.299

2

1.014

.000

.990

.000

.000

3

.000

.000

.000

.000

.000

a. 由于聚类中心内没有改动或改动较小而达到收敛。任何中心的最大绝对坐标更改为 .000。当前迭代为 3。初始中心间的最小距离为 5.209。

表1-5 迭代历史记录

2.  表1-6是每个聚类样品数表。就是该次K-mean聚类所形成的类它们的样品数量。

每个聚类中的案例数

聚类

1

3.000

2

19.000

3

3.000

4

1.000

5

4.000

有效

30.000

缺失

.000

表1-6 聚类样品数

3.  表1-7是K-mean聚类的各个类的具体成员。距离代表的是样品自身和种子点的距离。

                                       聚类成员

案例号

地区名称

聚类

距离

1

北京市

1

1.489

2

天津市

2

.596

3

河北省

3

2.575

4

山西省

3

1.381

5

内蒙古自治区

2

1.951

6

辽宁省

5

2.299

7

吉林省

2

.646

8

黑龙江省

2

1.785

9

上海市

1

2.506

10

江苏省

5

1.569

11

浙江省

5

2.034

12

安徽省

2

.850

13

福建省

2

1.096

14

江西省

2

.960

15

山东省

5

2.489

16

河南省

3

1.980

17

湖北省

2

2.096

18

湖南省

2

1.211

19

广东省

4

.000

20

广西壮族自治区

2

.926

21

海南省

2

1.905

22

重庆市

2

1.436

23

四川省

1

2.954

24

贵州省

2

.984

25

云南省

2

1.080

26

陕西省

2

1.007

27

甘肃省

2

.955

28

青海省

2

1.744

29

宁夏回族自治区

2

1.414

30

新疆维吾尔自治区

2

2.503

表1-7 聚类成员

最后看到分类结果与ward法有所相似,但是组内距离较大。实际效果不如Ward法。而且该方法需要事先设定分类的个数,并不适合没有先验知识的条件下的数据聚类。

2.总结

本次实习主要通过一批国内的能源消耗和产量数据,来实现回归分析和聚类分析。回归分析得到一个拟合度良好多元线性回归方程:Y=0.008+1.061x1+0.087x2+0.157 x3-0.365x4-0.105 x5-0.017x6 该方程的残差分析也通过了。聚类分析通过比较三种不同的系统聚类方法,同时还比较了K-mean方法与系统聚类法的不同。在处理该批数据的四种聚类方法中,以ward法最为理想。Ward法所做的聚类得到组间距离最大,组内距离最小。

3.参考文献

[1] Ronald .E et al..周勇..理工科概率统计.[M].北京:机械工业出版社,2010:311-326.

[2] 袁志发,周静芋.多元统计分析[M].北京:科学出版社,2003:110-145,241-250.

[3] J. Han and M. Kamber. Datamining: concepts and techniques[M]. Morgan Kaufmann, 2006:251-267.

[4]SPSS for Window:分类分析[EB/OL].

http://www.fjmu.edu.cn/news/spss/doc3/sp10.htm#j1,1999-10/2010-12-25,

1999-10/2010-12-25

[5] 聚类分析[EB/OL].

http://www.math.pku.edu.cn/teachers/lidf/docs/statsoft/html/sas-5/cluster.html ,

2010-12-26

[6]  张文彤.SPSS 10.0高级教程十二:多元线性回归与曲线拟合[EB/OL].

http://www.bioon.com/biology/spss/55215.shtml,2004-7-12/2010-12-25

[7] 了空. SPSS中多元回归分析实例(上)[EB/OL] 

http://hi.baidu.com/liaokong/blog/item/abe0be38344e1bc9d562259c.html,

2010-1-11/2010-12-25.

SPSS19.0实战之聚类分析的更多相关文章

  1. SPSS19.0实战之多元线性回归

    线性回归数据来自于国泰安数据服务中心的经济研究数据库.网址:http://www.gtarsc.com/p/sq/.数据名称为:全国各地区能源消耗量与产量,该数据的年度标识为2006年,地区包括我国3 ...

  2. 【转】WF4.0实战系列索引

    转自:http://www.cnblogs.com/zhuqil/archive/2010/07/05/wf4-in-action-index.html 此系列的工作流文件案例比较多点,实用性好. W ...

  3. vue.js2.0实战(1):搭建开发环境及构建项目

    Vue.js学习系列: vue.js2.0实战(1):搭建开发环境及构建项目 https://my.oschina.net/brillantzhao/blog/1541638 vue.js2.0实战( ...

  4. ETL工具--DataX3.0实战

    DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成. DataX ...

  5. 没错,用三方 Github 做授权登录就是这么简单!(OAuth2.0实战)

    本文收录在个人博客:www.chengxy-nds.top,技术资源共享. 上一篇<OAuth2.0 的四种授权方式>文末说过,后续要来一波OAuth2.0实战,耽误了几天今儿终于补上了. ...

  6. OAuth2.0实战:认证、资源服务异常自定义!

    大家好,我是不才陈某~ 这是<Spring Security 进阶>的第4篇文章,往期文章如下: 实战!Spring Boot Security+JWT前后端分离架构登录认证! 妹子始终没 ...

  7. OAuth2.0实战之微信授权篇

    微信开发三大坑: 微信OAuth2.0授权 微信jssdk签名 微信支付签名 本篇先搞定微信OAuth2.0授权吧! 以简书的登陆页面为例,来了解一下oauth2.0验证授权的一些背景知识: 1) 传 ...

  8. ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息

    实战一 , 实战二 介绍了ActiveMQ的基本概念和配置方式. 本篇将通过一个实例介绍使用spring发送,消费topic, queue类型消息的方法. 不懂topic和queue的google 之 ...

  9. jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自己主动化(VSS、operamasks-UI框架)

    我的qq是2059055336,对这个课程有兴趣的能够加我qq联系. 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 jQuery 2.0 正式版公布.不在支持 IE 6/7/8  ...

随机推荐

  1. Android TextView drawableLeft 在代码中实现

    方法1 Drawable drawable= getResources().getDrawable(R.drawable.drawable); /// 这一步必须要做,否则不会显示. drawable ...

  2. ceph优秀博文

    ceph官方博文: http://ceph.com/community/blog/ rgw根据rgw用户来分pool存放数据 http://cephnotes.ksperis.com/blog/201 ...

  3. 集合的实现 -- 数据结构与算法的javascript描述 第九章

    集合 集合(set)是一种包含不同元素的数据结构. 集合中的元素称为成员. 集合的两个最重要特性是:首先,集合中的成员是无序的:其次,集合中不允许相同成员存在. code function Set() ...

  4. Asp.net的对Excel文档的导入导出操作

    刚刚初入职场,在休闲的时间写下了项目中用到的对Excel文档操作的方法以及总结,多的不说,直接上代码 public static void CreateExcel(DataSet ds, string ...

  5. 如何为你的美术妹子做Unity的小工具(三)

    绘制脚本组件监视面板的内容 我们写了一个脚本Test using UnityEngine; using System.Collections; using System.Collections.Gen ...

  6. 使用#define定义字面值和伪函数

    #define是C语言提供的宏命令,其主要目的是:在编程时,为程序员提供一定方便,并能在一定程度上提高程序的执行效率.#define将一个标示符定义为一个字符串,该标示符被称为宏,被定义的字符串称为字 ...

  7. EditText 双击才能获取点击事件

    在获取EditText点击事件的过程中,发现EditText setOnClickListener事件响应中,只有获取焦点的时候才会响应, 如当焦点在别的控件上时,只能先点击获取焦点,第二次点击才会响 ...

  8. Android 内部存储安装apk文件实现

    目前国内市场的山寨机横行,安卓手机升级也是一天一个样,对于原来老手机可能没有SDCARD,导致我们的APP不能下载资源,无法更新APP,针对这种情况有以下解决方案.通过以下函数判断是否有SD卡再判断下 ...

  9. java附件上传下载大字段版

    public int up2(Map map) { StringBuffer insertSQL = new StringBuffer(); insertSQL.append("insert ...

  10. 转: git常用命令

    # git配置 #---------------------------------------------- #配置用户名和邮箱: $ git config --global user.name & ...