2022年天府杯全国大学生数学建模竞赛
D题 高等院校综合发展状况与学科质量评估
原题再现:
问题背景:
高等院校是我国经济社会发展中的重要参与者,一流大学与一流学科的建成是实现社会主义共同富裕的重要基础。随着国家第二轮“双一流”计划评选结果的公布以及第五轮学科评估的有序开展,高校整体发展质量与关键学科建设成效引起教职工、高考生、应届毕业生、准研究生、企事业单位等多方位的热切关注,如何合理地、有效地评判各类高校在过去几年建设发展中的利与弊,是较为困难的,也是有较强现实需求意义的。
请参赛者参照教育部第四轮学科评估办法、软科版、中国大学排行榜(CNUR)版、武书连版、校友会版大学排名办法和英国泰晤士高等教育世界大学排名、英国 QS 世界大学排名、美国 U.S. News 世界大学排名等评价方法,或查阅其它资料,自主设计院校与学科评价标准体系,并完成若干个相关问题。
请解决:
(1)请收集“西安交通大学、华中科技大学、哈尔滨工业大学、武汉大学、北京理工大学、北京航空航天大学、同济大学、厦门大学、中山大学、东南大学”等 10 个高校的相关数据,请从“国家级科研平台、重要科技奖项、重大科研项目、保研率、学科竞赛、社会声誉、国际化、杰出人才产出、高学历职工、预算经费、成果转化或高水平论文”中自选若干个指标或另选其它指标综合评价高校发展水平并给出相关依据,评估时间尺度可自定。
(2)以“计算机科学与技术(0812)”为对象,援引相关数据,评估下列高校 2020 年度或 2021 年度的该学科发展质量:北京大学、清华大学、浙江大学、国防科技大学、北京航空航天大学、北京邮电大学、哈尔滨工业大学、上海交通大学、南京大学、华中科技大学、电子科技大学。
(3)市属城市高校着重服务于本地经济社会发展,与城市发展质量息息相关,起步较晚但发展迅速是其典型特征。请综合评价分析“深圳大学、广州大学、成都大学、江汉大学、青岛大学”之间的共同点、发展特色与未来前景,并讨论学校发展与属地城市政策扶持之间的关联度。
注意:收集到的数据保存至附件中提交,结果无法在论文中完整展示的也放置于附件中。
整体求解过程概述(摘要)
高等院校是我国经济社会发展中的重要参与者,本文主要研究各项指标对于高校发展水平和学科发展质量的影响,建立了熵权法模型、TOPSIS 分析模型、秩和比模型、系统举类模型和灰色关联度模型。
针对问题一,首先考虑高校发展水平的影响主要体现在重要科技奖项和杰出人才产出上,本文选取高质量论文发表数量、国家级科研平台等指标进行评价。通过熵权法计算本文选取指标权重,其中高质量论文发表数量和杰出人才产出的权重分别为 0.0948和 0.0944,表明该指标对高校发展所占权重较大,具有较大的影响力。其次,本文建立Topsis 综合评价模型,定量分析各高校指标数据对高校发展水平的影响。最后,得到各高校的综合得分,其中排名前三的高校分别为西安交通大学、华中科技大学以及哈尔滨工业大学。
针对问题二,关于对计算机科学与技术学科为对象进行对各高校学科发展水平进行评价,本文主要选取有关计算机学科指标来分析各高校的发展情况,其中本文选择学科评估、生源质量、ACM 排名、学科经费、学科院士人数等作为评价指标。其次,本文通过秩和比综合评价法分析了计算机学科各高校的学科能力,采用熵权法对指标进行加权评分,其中学科院士人数权重达到 0.258 占比最高。最后通过线性回归结果分析,显示北京大学和清华大学的学科等级值为 3,电子科技大学的学科等级的值是 1,可以得出北京大学和清华大学计算机学科发展质量最好,电子科技大学计算机学科发展质量相对较差。
针对问题三,为了分析题中所给五所高校的共同点、发展特色与未来前景,本文选取地区 GDP、高校发展特色、政府经费、重点学科数量、重点学科类型共 5 个指标,首先,对收集的数据进行预处理,将高校发展特色、重点学科类型等定性指标转化为定量指标,导入 SPSS26.0 中进行系统聚类分析,结果显示深圳大学和广州大学被分为一类,是因为两者均为创新型大学,所在城市 GDP 和其经费较高,重点学科数多。同理,成都大学和江汉大学为同一类,青岛大学单独一类。在研究学校发展与所在城市政策扶持之间的关联度时,选取出台政策作为决定学校发展的主要因素,经费、占地面积、设备总值和产学研情况作为次要因素,建立灰色关联模型,得出 4 个次要因素的灰色关联度分析大小分别为 0.874、0.408、0.863 和 0.931,因此,对学校发展影响最大的是产学研情况和经费。
模型假设:
1.高校发布信息完全是学校真实数据。
2.收集的信息适用于所有高校。
3.编秩时出现的误差不影响后续回归分析。
4.特征指标与高校评估相关性密切。
5.假设学科发展不会出现突发外界因素影响。
问题分析:
问题一的分析
本问要求收集“西安交通大学、华中科技大学和哈尔滨工业大学”等 10 所高校的院校相关数据,选取“重要科技奖项数量、杰出人才产出数量和高水平论文数量”等指标对题中 10 个院校进行综合评估。因此,本文根据题中给出的指标收集数据,建立熵权法模型,找出特征指标与院校综合发展水平的权重占比,找出各个指标的权重关系后建立 TOPSIS 综合评价模型,将特征指标作为评估影响因素,计算出各高校的综合评分,并通过得分对高校发展水平进行排序。
问题二的分析
本问要求收集院校特征数据对“北京大学、清华大学和浙江大学”等 11 所高校的“计算机科学与技术”专业 2020 年度或 2021 年度进行发展质量的评估。本问与问题一不同在于给定了学科定量指标,问题一中熵权法和 TOPSIS 综合评价法是使用多个指标,从多个角度对院校进行综合评价,最终找出院校综合发展水平排名,问题二则是收集计算机科学与技术学科相关指标,对学科进行综合评估。本文通过官方平台收集了与教学质量发展有关的指标,利用熵权法找出指标权重,建立 RSR 法模型,画出线性回归曲线,对院校计算机科学与技术发展质量进行评级。
问题三的分析
要分析深圳大学、广州大学等五所年轻高校的共同点、发展特色与未来前景和学校发展与属地城市政策扶持之间的关联程度,考虑到这些高校均为地方市属高校,因此,这些高校的发展与所在城市的 GDP 和经费息息相关,同时,其发展定位和学校综合实力决定了自身的发展特色和前景。通过在各高校官网搜集的数据,进行系统聚类分析,可将这五所高校分成相应的类别。在各类别中,可以直观的看出其共同点、发展特色与前景未来。为挖掘出影响学校发展的关键因素,建立灰色关联模型,可根据灰色关联度大小判断与学校发展相关因素的重要程度。
模型的建立与求解整体论文缩略图
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码:(代码和文档not free)
clear;clc
load X.mat
[n,m] = size(X);
disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标'])
Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入 1 ,不需要
输入 0: ']);
if Judge == 1
position = input('请输入需要正向化处理的指标所在的列,例如第 2、3、6 三列需要
处理,那么你需要输入[2,3,6]: ');
disp('请输入需要处理的这些列的指标类型(1:极小型, 2:中间型, 3:区间型)
')
Type = input('例如:第 2 列是极小型,第 3 列是区间型,第 6 列是中间型,就输入[1,3,2]:
');
for i = 1 : size(position,2) %这里需要对这些列分别处理,因此我们需要知道一共要
处理的次数,即循环的次数
X(:,position(i)) = positivization(X(:,position(i)),Type(i),position(i));
end
disp('正向化后的矩阵 X = ')
disp(X)
end
Z = X ./ repmat(sum(X.*X) .^ 0.5, n, 1);
disp('标准化矩阵 Z = ')
disp(Z)
D_P = sum([(Z - repmat(max(Z),n,1)) .^ 2 ],2) .^ 0.5
D_N = sum([(Z - repmat(min(Z),n,1)) .^ 2 ],2) .^ 0.5
S = D_N ./ (D_P+D_N)
disp('Final Score:')
stand_S = S / sum(S)
[sorted_S,index] = sort(stand_S ,'descend')
function [posit_x] = Mid2max(x,best)
M = max(abs(x-best));
posit_x = 1 - abs(x-best) / M;
end
2.DBSCAN code
clc;
clear;
close all;
%% Input Data
X = xlsread('Latitude and longitude.xlsx');
%% Run DBSCAN Clustering Algorithm
epsilon=0.5;
MinPts=10;
IDX=DBSCAN(X,epsilon,MinPts);
%% Plot Results
PlotClusterinResult(X, IDX);
title(['DBSCAN Clustering (\epsilon = ' num2str(epsilon) ', MinPts = ' num2str(MinPts)
')']);
%DBSCAN
function [IDX, isnoise]=DBSCAN(X,epsilon,MinPts)
C=0;
n=size(X,1);
IDX=zeros(n,1); % Initialize all to 0, that is, all noise points
D=pdist2(X,X);
visited=false(n,1);
isnoise=false(n,1);
for i=1:n
if ~visited(i)
visited(i)=true;
Neighbors=RegionQuery(i);
if numel(Neighbors)<MinPts
% X(i,:) is NOISE
isnoise(i)=true;
else
C=C+1;
ExpandCluster(i,Neighbors,C);
end
end
end
function ExpandCluster(i,Neighbors,C)
IDX(i)=C;
k = 1;
while true
j = Neighbors(k);
if ~visited(j)
visited(j)=true;
Neighbors2=RegionQuery(j);
if numel(Neighbors2)>=MinPts
Neighbors=[Neighbors Neighbors2]; %#ok
end
end
if IDX(j)==0
IDX(j)=C;
end
k = k + 1;
if k > numel(Neighbors)
break;
end
end
end
function Neighbors=RegionQuery(i)
Neighbors=find(D(i,:)<=epsilon);
end
end