B 题:综合奖学金评定摘要高校奖学金是每一届大学生奋力拼搏的目标,在极大一部分学生眼中,奖学金所包含的荣誉远远超过了其金钱价值。
综合奖学金与单项奖学金最大区别在于,要求获奖者各方面都表现优秀,其评选程序亦严谨公正,过程公开透明。
本文根据140名学生信息进行分析,对不同专业学生不同学科成绩分布进行研究并建立模型,评选出获得综合奖学金的学生,同时提出模型建立的关键以及对获奖学生相关影响因素的估计与评定。
针对问题一,为了统一不同专业学生的成绩,首先将各成绩等级制换算为百分制,再根据学生平均成绩分布,利用Excel 建立模拟正态分布模型,从而建立不同专业学生群体的综合能力统一标准基础。
在这一基础上,又考虑到低于平均分的“落后群体”对优生群体的影响,于是通过提出并利用MATLAB 多次扫描仿真确定权重因子η与阶数常量σ,减小该影响,建立难度归一化模型:p c,n,i =q c,n,ic,i×ηc,n,i其中ηc,n,i ={1,q c,n,i >mean c,i(q c,n,i mean c,i)σ,q c,n,i >mean c,i最后求得每名学生的总成绩:t c,n =∑p c,n,i ·s ii ∑s ii针对问题二,考虑到鼓励学生全面发展和综合奖学金的精神,结合各高校奖学金评测办法,制定出了一套针对于不同专业学生统一评比奖学金的算法。
针对问题三,利用Excel 对获奖者信息归纳并可视化,再根据所得图像进行合理分析与推测,最终得出结论:该140名学生中,综合奖学金获得者与专业无关;但与性别有关,且女性获得综合奖学金的可能性更大。
【关键词】 综合奖学金 难度归一化 权重因子 MATLAB 扫描仿真一、问题重述高校奖学金制度设立的目的是为了鼓励先进、鞭策后进,促进大学生全面素质的提高。
其中,综合奖学金是对各方面综合表现都比较优秀的学生设立的,需要参考各考核项目的测试结果,进行综合评估后做出评定。
附件中是某高校两个专业共计140名学生某年度的各种成绩数据汇总,两个专业开设课程门数不同,每门课程的学分不尽相同,课程难易程度也有所不同,但要求将两个专业的学生放在一起,尽量全面、公平地考虑各种因素进行综合奖学金的评定。
各等奖学金人数占学生总数的比例分别为:一等奖学金,5%;二等奖学金,10%;三等奖学金,15%。
试根据这些数据,解答如下问题:1.由于两个专业所开设课程不同,试选用合适的模型对这两个专业的学生课程成绩进行处理,以便于比较汇总。
2.建立你认为合理的评价体系对所有学生进行综合评价,制定评选标准,按照上述比例给出各等奖学金的评定,排定并输出各等奖学金学生名单(学生编号)。
3.分析奖学金获得者和专业、性别等因素是否有关。
二、问题分析本问题是一个针对特殊环境的奖学金评定问题。
目的是设定一套公平公正且合理的学生综合水平排序算法,而学生的综合能力取决于其专业成绩、德育测评、体质测试和其他奖项获得情况等。
由于要求统一评比两个不同专业的学生,因此本问题不同于传统的学分加权评测方法。
针对问题一,附表中各专业学生课程的成绩以等级和分数形式显示,需换算成统一的计量方式。
对于德育、体育素质等没有分配学分的测评成绩,也待建立相应算法以兼容各科成绩。
附表中W、X两专业的学生人数、课程数量、课程学分分布、总学分等都不尽相同,所以最关键需要建立拥有能够跨越专业而反映学生综合水平的统一标准的数学模型。
针对问题二,通过问题一的处理,我们得到了具有统一标准的两专业学生汇总信息,所以接下来的问题就是学生总评排序和附加奖项的处理。
同样需要建立以公平合理为原则的数学模型以制定最终奖学金评价体系。
针对问题三,我们认为应全面而深入地分析综合奖学金获得者信息,并适时使用Excel、MATLAB等工具将信息归纳提炼,利用可视化的图表帮助分析,从而抓住有效信息,最后得出结论。
三、模型假设1.假设所有学生信息均为真实可信,且没有遗漏现象。
2.假设两个专业生源与招生渠道均相差不大。
3.假设该140名学生能够反映一般学生的普遍情况。
4.由于学生成绩分布基本与正态分布曲线相近,假设其服从于正态分布,即各专业成绩分布处于峰值的学生水平一致。
四、符号说明五、 模型建立与求解5.1对问题一建立模型与求解5.1.1各专业学生平均成绩层次分布柱状图根据题目附件中学生成绩信息,用Excel 统计各专业学生平均成绩,并作出如下柱状图(图1):图 1柱状图从图1可看出个专业学生成绩分布基本与正态分布曲线相近,且均在“80-90”分段达到峰值。
5.1.2各课程成绩积分形式统一参考“第九条 看课程考核成绩和绩点对应关系如下:(附件1)”[1],认为图 2表格0.050.10.150.20.250.30.350.40.450.5频率平均成绩分数段W 专业X 专业参考“第三条 对批准免修免考课程的成绩,按‘合格’记载”[2],认为题目附件中“免修”成绩等同于“及格”。
5.1.3“难度归一”模型由于两专业的科目数量、学分分布及总学分等都不同,现建立统一标准将各专业学生成绩统一,即尝试建立“难度归一”模型。
由于成绩分布处于峰值的学生水平一致,因此以各科平均成绩为基准,初步实现“难度归一”,即:p c,n,i =q c,n,imean c,i又考虑到低于平均分的“落后群体”和旷考缺考的学生对向上“优生群体”造成了较大影响,因此我们对平均分以下的学生优化成绩换算方法,从而尽量减小其影响。
这里我们构造权重因子ηc,n,i 将算法优化为:p c,n,i=q c,n,ic,i×ηc,n,i 然后提出阶数常量σ,用以调节后等学生成绩的权重,并确定ηc,n,i ,即:ηc,n,i ={1,q c,n,i >mean c,i(q c,n,i mean c,i)σ,q c,n,i >mean c,i现在要确定ηc,n,i 并实现“难度归一”,则需要确定阶数常量σ,于是我们适量修改两个专业学生成绩,再利用MATLAB R2014a 将σ进行[1,10]的扫描(程序见附件2),对比修改前后的扫描图像(图2-4)。
多次仿真,得出结论:σ在区间(3.5,4.5)上,所得ηc,n,i 将上述影响减至最小。
为便于计算,取:σ=4图 3扫描图图4扫描图图5扫描图现在我们将学生每门课程(除德育和体育素质)的难度归一化得分加权求和为个人总分,即:t c,n=∑p c,n,i·s i i∑s i i利用MATLAB R2014a计算并输出、拼合到Excel(程序见附件3)得到两个专业全体学生成绩汇总(附件4)。
5.2对问题二建立模型与求解5.2.1其他课程权重统一对于德育与体育素质测试,我们可以看作学生的心理及身体素质,本着“促进学生德智体美全面发展”的原则,德育、体育素质测试理应分配合理学分并计入学生成绩总评。
由于体育课程(包括体育一和体育二)共占2个学分,因此为德育的体育素质测试分别分配2个学分并计入学生成绩总评。
5.2.2获得奖项情况附加分本着“鼓励学生自主学习,多维发展”的思想,对于学生获得课外奖项的情况,授予附加分并计入奖学金评比。
具体附加分值参考《苏州大学文正学院奖学金评比条例》即:非英语专业四级英语成绩568分(优秀级)以上者加1分,六级考试通过者加1分,六级成绩568分(优秀级)以上者加2分;非计算机专业的学生参加省教育厅组织的等级考试并通过三级者加2分。
由于不确定学生四六级成绩是否达到568分(优秀级),这里认为所有学生四六级成绩没有达到568分。
即所有奖项中,只有英语六级证书能获得附加分1分,且直接加到学生奖学金计评总分。
对于其他单项奖获得情况,我们认为该类单项奖有名额限制,不能客观反映所有学生该方面的能力,因此不考虑对其他单项奖授予附加分。
5.2.3奖学金获奖人数图6表格5.2.4附加条件考虑综合奖学金注重学生综合全面评优,因此奖学金评比还应要求参与评选的学生没有未通过学科(即没有课程成绩低于60分)。
5.2.5评比奖学金根据重新设定的算法,再次对学生综合成绩进行计算与统计(结果见附件5),图 7统计表5.3对问题三建立模型与求解5.3.1奖学金获得者专业、性别等分布柱状图根据奖学金获得者信息,利用Excel 作出如下堆积柱状图(图8):图 8堆积柱状图由图8可以看出:1. 两个专业获奖人数相等,可以大致认为奖学金获得者与专业无关;2. 获奖者男女比例明显失衡,所以可以粗略估计奖学金获得者与性别有关,且女生有更大的可能获得奖学金。
六、 模型评价与推广510152025WX人数专业男女6.1模型评价6.1.1优点:1.考虑到了不同专业学生能力差别问题,并基本解决;2.本模型的算法相对简单,计算过程逻辑合理,计算量较小,计算结果基本符合常识。
3.本模型在创建过程中,利用MATLAB R2014a的强大运算能力,通过对大量数据的绘制出的曲线图从而分析得到模型中参数的取值,使该参数的值的可信度大大提高。
4.在分析结果时,除了运用MATLAB以外,还充分利用了Excel的数据分析和图表绘制功能,使分析结果有图有据。
6.1.2不足:1.算法虽然在形式上比较简单,但其时间复杂度仍不够小,须对每一个数据至少扫描两次(第一次求科目均值,第二次求难度归一化得分)。
2.纵然阶数常量σ能使“落后群体”的成绩对其他同学排名的影响降低,但影响仍然存在,个人总成绩仍然不够独立。
6.2模型推广虽然以上模型仅根据题目所提供两个专业共140名学生数据建立,但有理由相信,这两个专业应当是学校内各专业大致情况的缩影。
因此将其推广到全校进行排名应该是可行的。
但是在应用时,最好能够先确认一下,对于大数据量情况下的阶数常量σ是否有更恰当的取值。
七、参考文献[1] 苏州科技学院,《学生手册(2013年修订)》,苏州:苏州科技学院,2013.8。
[2] 中央广播电视大学,《中央广播电视大学免修免考课程管理办法(试行)》,,2015年4月26日。
[3] 苏州大学文正学院,《苏州大学文正学院奖学金评比条例》,苏大文正学[2011]80号,2011。
八、附录附件2:MATLAB程序代码i.test.m代码:clc;clear all;s=1;start=1;step=0.01;stop=10;D1=xlsread('data.xlsx',1);D2=xlsread('data.xlsx',2);D3=xlsread('data2.xlsx',1);D4=xlsread('data2.xlsx',2);for sigma=start:step:stop[p1,i1,g1]=CP(D1,sigma);[p2,i2,g2]=CP(D2,sigma);[p3,i3,g3]=CP(D3,sigma);[p4,i4,g4]=CP(D4,sigma);d1=[i1,p1;i2,p2];d2=[i3,p3;i4,p4];[point1,index1]=sort(d1(:,2),'descend');[point2,index2]=sort(d2(:,2),'descend');for i=1:length(index1)data(index1(i),1:3)=[i,d1(index1(i),1:2)]; data2(index2(i),1:3)=[i,d2(index2(i),1:2)]; endcount1(s)=0;count2(s)=0;for i=1:length(index1)if data(i,1)~=data2(i,1)count1(s)=count1(s)+1;end;count2(s)=count2(s)+abs(data(i,1)-data2(i,1));ends=s+1;endfigure(1);plot(start:step:stop,count1);figure(2);plot(start:step:stop,count2);ii.CP.m代码:function [ point,index,gender ] = CP( data,sigma )%UNTITLED Summary of this function goes here% Detailed explanation goes herelessens=length(data(1,:))-2; %该班科目数stus=length(data(:,1))-1; %该班学生数index=data(2:end,1); %该班学号序列gender=data(2:end,2); %该班性别序列score=data(1,3:end); %该班各科学分数lessen=data(2:end,3:end); %该班各人各科成绩(不同行为不同人,不同列为不同科)for i_L=1:lessens %计算各人各科难度归一成绩means(i_L)=mean(lessen(:,i_L)); %计算各科算数平均for i_S=1:stusif(lessen(i_S,i_L)>means(i_L)) %计算比例因子factor(i_S,i_L)=1;elsefactor(i_S,i_L)=(lessen(i_S,i_L)/means(i_L))^sigma;end;end;means_t(i_L)=sum(lessen(:,i_L).*factor(:,i_L))./sum(factor(:,i_L));%计算各科的难度归一均值for i_S=1:stuslessen_t(i_S,i_L)=lessen(i_S,i_L)/means_t(i_L)*100;end; %计算各人各科的难度归一成绩end;for i_S=1:stus %计算各人的总评分point(i_S)=sum(lessen_t(i_S,:).*score)/sum(score);end;point=point';end附件3:MATLAB程序代码i.main.m代码:clc;path='data.xlsx';sheet_w=1;sheet_x=2;[point_x,index_x,gender_x]=ClassPoint(path,sheet_x,4);[point_w,index_w,gender_w]=ClassPoint(path,sheet_w,4);data=[zeros(length(point_w),1),index_w,point_w,gender_w;zeros(length(point_x),1)+1,index_x,point_x,gender_x];%将数据组合成 [班级学号评分性别][point,index]=sort(data(:,3),'descend');%对评分进行降序排序,原行标存放于index中len=length(data(:,1));for i=1:lendata_sorted(i,1:5)=[i,data(index(i),1:4)];end; %将各行数据按照评分由高到低重新排列,并且添加新列"序号列"disp(' rank class ID points gender')disp(data_sorted);%显示xlswrite('E:\data_sorted.xls',{'rank'})xlswrite('E:\data_sorted.xls',{'class'},1,'B1')xlswrite('E:\data_sorted.xls',{'ID'},1,'C1')xlswrite('E:\data_sorted.xls',{'points'},1,'D1')xlswrite('E:\data_sorted.xls',{'gender'},1,'E1')xlswrite('E:\data_sorted.xls',data_sorted,1,'A2');ii.ClassPoint.m代码:function [ point,index,gender] = ClassPoint( path, sheet,sigma ) %ClassPoint 对该班级的分数进行难度归一化% input:% path 存放数据的excel工作簿位置% sheet 该班数据在工作簿中的工作表序号% sigma 比例因子的阶数% output% point 该班难度归一化后以学分为权重的加权平均值% index 对应于point中同行的同学的学号% gender 对应于point中同行的同学的性别data=xlsread(path,sheet); %该班所有数据lessens=length(data(1,:))-2; %该班科目数stus=length(data(:,1))-1; %该班学生数index=data(2:end,1); %该班学号序列gender=data(2:end,2); %该班性别序列score=data(1,3:end); %该班各科学分数lessen=data(2:end,3:end); %该班各人各科成绩(不同行为不同人,不同列为不同科)for i_L=1:lessens %计算各人各科难度归一成绩means(i_L)=mean(lessen(:,i_L)); %计算各科算数平均for i_S=1:stusif(lessen(i_S,i_L)>means(i_L)) %计算比例因子factor(i_S,i_L)=1;elsefactor(i_S,i_L)=(lessen(i_S,i_L)/means(i_L))^sigma;end;end;means_t(i_L)=sum(lessen(:,i_L).*factor(:,i_L))./sum(factor(:,i_L)); %计算各科的难度归一均值for i_S=1:stuslessen_t(i_S,i_L)=lessen(i_S,i_L)/means_t(i_L)*100;end; %计算各人各科的难度归一成绩end;for i_S=1:stus %计算各人的总评分point(i_S)=sum(lessen_t(i_S,:).*score)/sum(score);end;point=point';end附件4:学生成绩汇总表(data_sorted.xls)附件5:奖学金评比结果(注:其中3名红标学生有科目未及格,因此不予参考评选奖学金;仅截取前45。