matlab zscore pdist,聚类分析数学建模论文

引言

近年来,全国大学生数学建模竞赛迅速发展,为国家培养了大批应用型人才。但由于各地区教育水平不同、相关部门对竞赛的重视程度不同,导致各地区组织学生参加大学数学建模竞赛的规模不同,在该项赛事中取得的成绩差异比较显著。2013年全国大学生数学建模竞赛评选出的奖项有:赛区优秀组织工作奖9个,本科组高教社杯奖1个,专科高教社杯奖1个,本科组MATLAB创新奖1个,专科组MATLAB创新奖1个,本科组IBMSPSS创新奖1个,专科组IBMSPSS创新奖1个,本科组一等奖共273名,本科组二等奖共1292名,专科组一等奖共44名,专科组二等奖共211名[1],但成绩相对于参赛区分布不太均匀。分析各地区在2013年全国大学生数学建模竞赛中取得的成绩,明确各地区数学建模发展状况的差异和特点,将有利于相关部门从宏观上了解我国大学生数学建模竞赛的整体发展现状,分类制定相关政策[2-3],从而充分发挥数学建模的重要作用。

1建立综合评价指标体系

全国大学生数学建模竞赛现状的一个重要方面就是全国大学生数学建模竞赛获奖情况。依据全国大学生数学建模竞赛设置的奖项,遵循可比性原则,参考文献[4-5],选取x1-x7共七项评价指标,具体如下:x1:本科组高教社杯、MATLAB创新奖和IBMSPSS创新奖获奖情况;x2:本科组一等奖获奖数;x3:本科组二等奖获奖数;x4:专科组高教社杯、MATLAB创新奖和IBMSPSS创新奖获奖情况;x5:专科组一等奖获奖数;x6:专科组二等奖获奖数;x7:年度竞赛优秀组织工作奖获得情况。说明:鉴于本科组与专科组的高教社杯、MAT-LAB创新奖和IBMSPSS创新奖三类奖项每年只有一个队获奖,且基本不可重复获得(参见历年大学生数学建模竞赛获奖名单)故将其合并作为一类。

2数据资料依据

2013年全国大学生数学建模竞赛获奖名单,按指标对各个赛区的获奖情况统计如表1所示。

3R型聚类分析定性分析

七项指标之间的相关性。编写MAT-LAB程序如下:>>clc,clear>>symxy;>>x=xlsread(‘shuju.xls’);%将上表中的数据保存到MATLAB中WORK文件夹excel文件shu-ju.xls中,并将其赋于x>>y=corr(x)%输出七项指标间的相关系数矩阵(如表2所示)>>d=pdist(y,’correlation’);%计算相关系数导出的距离>>z=linkage(d,’average’);%按类平均法聚类>>h=dendrogram(z);%画聚类图(如图1所示)>>T=cluster(z,’maxclust',5);%把变量划分为5类>>fori=1:5tm=find(T==i);tm=reshape(tm,1,length(tm));>>fprintf(’第%d类的有%s\n’,i,int2str(tm));>>end程序输出:第1类的有4;第2类的有56;第3类的有7;第4类的有23;第5类的有1。即:若将指标分为5类,则指标1、4、7各为一类,指标2、3为一类,指标4、5为一类。

4Q型聚类分析

4.1选取5个指标的分类从R型聚类分析分出的5类指标中各选一个,即选取5个指标体系,对33个参赛地区进行聚类分析。首先对变量数据进行标准化处理,采用欧氏距离度量样本间相似性,选用类平均法计算类间距离。在MATLAB命令窗口输入下列程序:>>symsxy;>>x=xlsread(’shuju.xls’);%将上表中的数据保存到MATLAB中WORK文件夹excel文件shu-ju.xls中,并将其赋于x>>x(:,[3,5])=[];%删除数据矩阵的3,5两列,即使用变量1,2,4,6,7>>x=zscore(x);%将数据标准化>>s=pdist(x);%每一行是一个对象,求对象间的欧式距离>>z=linkage(s,’average’);%按类平均法聚类>>h=dendrogram(z);%画聚类图(如图2所示)>>T=cluster(z,’maxclust’,3);%把样本点划分成3类>>fori=1:3;tm=find(T==i);%求i类的对象tm=reshape(tm,1,length(tm));%变成行向量>>fprintf(’第%d类的有%s\n’,i,int2str(tm));%现实分类结果>>end程序输出:第1类的有11318第2类的有2345678910111216171920212224252627282930313233第3类的有141523即:第一类:北京,福建,湖南;第三类:江西,山东,四川;第二类:其它地区。

4.2选取7个指标的分类考虑到指标2与指标3,指标5与指标6具有一定的独立性,若七个指标体系全部取用,将33个地区分为4类,程序输入如下:>>symsxy;>>x=xlsread(’shuju.xls’);>>s=pdist(x);>>z=linkage(s,’average’);>>h=dendrogram(z);%画聚类图(如图3所示)>>T=cluster(z,’maxclust’,4);>>fori=1:4tm=find(T==i);tm=reshape(tm,1,length(tm));>>fprintf(’第%d类的有%s\n’,i,int2str(tm));>>end程序输出:第1类的有116第2类的有6710151927第3类的有23489111213141718202223242528第4类的有521262930313233即:第一类:北京,河南;第二类:辽宁,吉林,江苏,山东,广东,陕西;第四类:内蒙古,海南,西藏,青海,宁夏,新疆,香港,澳门。4.3选取本科层次指标的分类只考虑本科层次取得的成绩,即选用指标1,2,3,对33个参赛地区进行聚类分析,从而明确掌握其本科阶段的差异,则有:输入程序:>>symsxy;>>x=xlsread(’shuju.xls’);>>x(:,[4,5,6,7])=[];>>x=zscore(x);>>s=pdist(x);>>z=linkage(s,’average’);>>h=dendrogram(z);%画聚类图(如图4所示)>>T=cluster(z,’maxclust’,3);>>fori=1:3;tm=find(T==i);tm=reshape(tm,1,length(tm));>>fprintf(’第%d类的有%s\n’,i,int2str(tm));>>end程序输出:第1类的有11318第2类的有101115161719222327第3类的有2345678912142021242526282930313233即:第一类:北京,福建,湖南;第二类:江苏,浙江,山东,河南,湖北,广东,重庆,四川,陕西;第三类:其它地区。4.4选取专科层次指标的分类只考虑专科层次取得的成绩,即选用指标4,5,6,对33个参赛地区进行聚类分析,从而明确掌握其专科阶段的差异,则有:输入程序:>>symsxy;>>x=xlsread(’shuju.xls’);>>x(:,[1:3,7])=[];>>x=zscore(x);>>s=pdist(x);>>z=linkage(s,’average’);%画聚类图(如图5所示)>>h=dendrogram(z);>>T=cluster(z,’maxclust',4);>>fori=1:4;tm=find(T==i);tm=reshape(tm,1,length(tm));>>fprintf(’第%d类的有%s\n’,i,int2str(tm));>>end程序输出:第1类的有14第2类的有1523第3类的有41927第4类的有1235678910111213161718202122242526282930313233即:第一类:江西;第二类:山东,四川;第三类:山西,广东,陕西;第四类:其余各地区。

5结束语

通过2013年高教社杯大学生数学建模竞赛奖项的设置建立评价指标体系,首先运用R聚类分析法对指标间的相关性做了分析。在此基础上,重新确立评价指标,对各地区在本年度该项赛事中取得的成绩进行四个方面的Q聚类分析,并给出分类结果。特别分别给出了本科阶段、专科阶段的分类。希望能够有利于赛区明确其在全国大学生数学建模竞赛中所处的位置、阶段差异等,从而有针对性的制定相关政策,充分发挥数学建模在人才培养中的重要作用。

作者:李翠平 单位:咸阳职业技术学院

你可能感兴趣的:(matlab,zscore,pdist)