资源描述
各专业全套优秀毕业设计图纸
高考录取分数预测模型
姓名: 班级:
姓名: 班级:
姓名: 班级:
1
关于高考录取分数预测模型的探究
摘 要
本文通过差分指数平滑法和自适应过滤法分别建立模型,根据历年学校录取线预测下一年的录取分数线。最后,根据预测出来的最佳数据,给2014年报考本校的考生做出合理的建议。
对于问题一和问题二,首先根据题意和所给出的学校历年的录取分数线,不难分析出高校的录取分数线是由当年的题目难度、考生报考数量、“大年”和“小年”等因素决定的。每年的分数线还是有一定差距的,例如,本校2012在北京市电气专业的录取线是428分,而2013年是488分,相差60分。因此,预测的时候,需要通过一些方法使数据趋于平滑,使之便于预测。通过这些分析,建立了两种可靠的预测模型。
模型一通过差分的方法,利用Matlab软件将后一年Yt与前一年Yt-1的数据相减得到一个差分值,构成一个新序列。将新序列的值与实际值依次迭加,作为下一期的预测值。以此类推,预测出2014年的录取分数线。模型二是根据一组给定的权数w对历年的数据进行加权平均计算一个预测值y,然后根据预测误差调整权数以减少误差,这样反复进行直至找到一组最佳权数,使误差减小到最低限度,再利用最佳权数进行加权平均预测。这两种方法很好的解决了历年录取分数相差较大难以预测的问题。预测值相对准确。预测结果数据量较大,在此以河北省为例,给出预测结果模型一:2014年本校电气专业录取线为495,模型二:2014年本校电气专业录取线为536。
最后,通过预测出的数据,比对模型一和模型二,取最佳预测值,给报考科技学院的考生做出较为合理的建议。
关键词: 序列 权数 差分值 加权平均 高考录取线
一 问题的重述
对广大高考考生来说,填报志愿和高考一样都是人生中最重要的一步。那张薄薄的志愿表和高考分数一样,很大程度上影响到考生的未来和前途。填报志愿科学、合理,就能够被与自己考分相对应的理想高校录取;如果志愿选择不当,找不准与自己考分相对应的高校,即使考出高分,也可能与重点大学擦肩而过或高分低就,甚至落榜,留下终身的遗憾,这样的实例举不胜举,因此有人说,高考成功与否,60%靠实力,40%靠志愿。那么有没有一种行之有效的方法来准确预测高校的录取分数,从而根据自己的分数准确选择目标高校呢?
1. 请设计预测高校的录取分数的方法。
2. 结合科技学院近些年各专业在各省的录取分数线,预测一下科技学院2014年各专业在各省的录取分数线。
3. 给计划报考科技学院的考生一些建议。
二 问题的分析
问题一是问题二的前提,通过设计好的预测方法,来预测科技学院2014年各专业在各省的录取分数线。最后结合总体的预测数据,来解决第三个问题。因此,设计准确的预测方法是解决问题的关键。
首先,通过建立数学模型研究本校在各省的最低录取分数线,预测出本校2014年在各省的最低录取线。得出预测方法。然后导入科技学院前8年的在各省各专业的录取分数线,通过建立好的数学模型,运用得出的预测方法预测出本校2014年各专业在各省的录取分数线。
最后通过模型一和模型二的预测结果,将前7年的预测值和实际值进行比较,可以得出最佳的预测值,以此为依据,给2014年将要报考本校的考生做出建议。
三 模型的假设
1、 为计算方便,将学校没有招生的省份和专业的数据设为空;
2、 历年考生数量和素质水平无较大波动;
3、 时间序列的变动大概呈现直线趋势;
4、 2008年四川地区录取线全部按非延考计算;
5、 数据不足,工商管理专业不在预测范围内。
四 符号说明
Yt
t年的信息存储矩阵
▽yt
yt与yt-1之差
▽Ŷt+1
Yt+1与Yt之差的预测值
Ŷt+1
第t+1年的预测值
α
加权系数
wi
第t-i+1期的观测值权数
N
权数个数
n
样本个数
wi’
调整后的第t-i+1期的观测值
k
学习常数
et+1
第t+1期的预测误差
X0
给定的值
σ2
总体方差
Sy2
总体方差的无偏估计量
Xi
第i年
五 模型的建立与求解
5.1模型一的建立与求解
注:华电科院各年录取分数线见附表
5.1.1信息存储矩阵设计
设计高校录取分数线方法,建立差分指数平滑法数学模型。在预测之前,进行信息存储矩阵设计。下面是设计的矩阵
Yt=...
其中t为年份,行指标为各省同一专业的录取线,列指标是同一省份各个专业的录取分数线。
5.1.2差分指数平滑法
差分指数平滑法模型是从数据变换的额角度考虑,即先对数据作处理,使之适用于一次指数平滑模型,之后再对输出的结果作处理,使之恢复为原变量的形态,利用以下的计算公式:
▽为差分符号,(1)式表示对序列作一阶差分,构成一个平稳的新序列,(3)表示把经过一阶差分后的新序列的指数平滑预测值与变量当前的实际值迭加,作为变量下一期的预测值。由于计算量较大,我们编写了Matlab程序来计算▽Ŷt、▽Ŷt+1、Ŷt+1。
为近一步说明指数平滑的实质,把式(2)依次展开,有 ,
(4)式表明Yt是全部历史数据的加权平均,加权系数分别为α,α(1−α),α(1−α)2显然有
(5)
由于加权系数符合指数规律,又具有平滑数据功能,所以称为指数平滑。
5.1.3加权系数的选择
在进行指数平滑时,加权系数选择很重要,由式(4)和(5)可以看出,α的大小规定了在新预测值中新数据和原预测值所占的比重,α值越大,新数据所占的比重就愈大,原预测值所占的比重就愈小,反之亦然,若把式(4)改写为
(6)
则从上式可以看出,新预测值是根据预测误差对原预测值进行修正而得到的。α的大小则体现了修正的幅度,α值愈大,修正值幅度愈大,α值愈小,修正幅度也愈小。若选取α=0,则,即下期预测值就等于本期预测值,在预测过程中不考虑任何新信息;若选取α=1,,即下期预测值就等于本期实际值,完全不相信过去的信息。这种极端情况很难做出正确的预测。因此,α值应根据时间序列的具体性质在0~1之间选择。在本文中α=0.5。
初始值本文选择2007年数据的实际值。
下面是利用模型一所得出的2008年到2013年的预测值和实际值的对比图
图一
通过图一可以看出,凡是历年各专业均有招生的地区,预测的结果较为全面而且准确。例如河北省、山西省等地。而某些年份没有录取的地区,或者只有少数专业录取的地区,预测的结果准确性稍有下降,有的甚至没有预测结果。例如内蒙古、西藏等地。
5.2模型二的建立与求解
5.2.1自适应过滤法的基本过程
自适应过滤法与移动平均法、指数平滑法一样,也是以时间序列的历史观测值进行某种加权平均来预测的,它要寻找一组“最佳”的权数,其办法是先用一组给定的权数来计算一个预测值,然后计算预测误差,再根据预测误差调整权数以减少误差。这样反复进行,直至找出一组“最佳”权数,使误差减少到最低限度。由于这种调整权数的过程与通讯工程中的传输噪声过滤过程极为接近,故称为自适应过滤法。自适应过滤法的基本公式
式(7)中,为第t+1期的预测值,wi为第t-i+1期的观测值权数,yt-i+1为t-i+1期的观测值,N为权数的个数。其调整权数的公式为
式(8)中,i=1,2,N,t=N,N+1,n,n为序列数据个数,wi为调整前的第i个权数,wi’为调整后的第i个权数,k为学习常数,ei+1为第t+1期的预测误差。式(8)表明:调整后的一组权数应等于旧的一组权数加上误差调整项,这个调整项包括预测误差、院观测值和学习常数等三个因素。学习常数k的大小决定权数调整的速度。
下面举一个简单的例子来说明此法的全过程。设有一个时间序列包括 10 个观测值,如表 9 所示。试用自适应滤波法,以两个权数来求第 11 期的预测值。
表一某时间序列表
时期 t
1
2
3
4
5
6
7
8
9
10
观测值 yt
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
本例中 N = 2 。取初始权数 w1 = 0.5 ,w2 = 0.5 ,并设 k = 0.9 。t 的取值由 N = 2
开始,当 t = 2 时:
(1)按预测公式(7),求第 t + 1 = 3 期的预测值。
yˆt +1 = yˆ3 = w1 y2 + w2 y1 = 0.15
(2)计算预测误差。
et +1 = e3 = y3 − yˆ3 = 0.3 − 0.15 = 0.15
(3)根据式(8),
14
w1 = w1 + 2ke3 y2 = 0.554
2 2 3 1
w' = w + 2ke y = 0.527
(1)~(3)结束,即完成了一次权数调整,然后 t 进 1 再重复以前步骤。当 t = 3时:
(1)利用所得到的权数,计算第 t + 1 = 4 期的预测值。方法是,舍去最的一个观测值 y1 ,增加一个新的观测值 y3 。即
' '
yˆt +1 = yˆ 4 = w1 y3 + w2 y2 = 0.2716
(2)计算预测误差
et +1 = e4 = y4 − yˆ 4 = 0.13
(3)调整权数
1
w' = 0.554 + 2 × 0.9 × 0.13 × 0.3 = 0.624
w
2
' = 0.527 + 2 × 0.9 × 0.13 × 0.2 = 0.564
这样进行到 t = 10 时
' '
yˆt +1 = yˆ11 = w1 y10 + w2 y9
但由于没有t=11的观测值y11,因此
et +1 = e11 = y11 −
无法计算。这时,第一轮的调整就此结束。把现有的新权数作为初始权数,重新开始 t = 2的过程。这样反复进行下去,到预测误差(指新一轮的预测总误差)没有明显改进时,就认为获得了一个“最佳”权数,能实际用来预测第11期的数值。在实际应用中,权数调整计算工作量可能很大,必须借助于计算机才能实现。
下面试通过模型二预测出的结果,由于预测数据量大,在此给出几组有代表性的地区的预测结果。其他预测结果附件中给出。
(1) 河北省
由于本校在河北省历年均有招生,而且每年的分数线相差不大,所以得出的结果相对准确。图一是模型二预测出2011年到2014年的预测结果的比较。
图一
(2) 北京市
由于北京市每年的录取分数线相差较大,所以预测结果的准确性有所降低。图二是模型二预测出2011年到2014年的预测结果的比较。
图二
(3) 内蒙古
由于本校在内蒙古2012年没有招生,导致数据不足,无法预测结果,测值仅有一年。
图三
5.3 模型三的建立与求解
5.3.1均差法的具体过程
高校历年录取线与省控线有具体分差,通过计算历年的分差平均值,可以得出预测年份的录取线和提前给出的省控线的具体分差。根据得出的分差,考生可以在报考志愿的时候,得出自己想要的结果。
5.3.2 具体公式
(9) Y= yl - yk
给出具体计算结果和建议:
河北省2012年省控二本线509,华电科院最低录取线514,根据式(9)得出分差为5。 河北省报考本校考生分数线需超过本二线5分到10分。除西藏、青海、宁夏、等教育水平不高的地区,其他省份的考生在报考电气专业和热动专业的分数需超出当地二本线10到20分。本校电气专业和热动专业为热门专业,如果考生分数较低,但是想报考以上专业,可以采取先报其他要求较低专业,保证被学校录取后,在大二转专业到电气和热动。
六 模型的评价与推广
填报志愿对于考生来说尤为重要,本文所建立的模型和得出的方法,对考生预测学校各专业的录取线有很大的参考价值和帮助。本文所建立的两个模型,模型一可以将所给起始数据年份的下一年预测出来。模型二由于运用自适应过滤法,N取4,所以,只能预测出2014年以及前3年的结果。在预测录取分数线的时候,两种模型综合运用,可以得出最佳的预测值。
在广大考生和家长一起报考学校的时候,本文的方法行之有效。所以可将建立的模型进行推广。
模型的优点:
(1) 本文建立的数学模型对于学校每年均招生的省份和地区,可以很好的预测出下一年的录取分数线,预测误差均保持在30分以内。
(2) 模型一操作简单,只需将目标学校历年的专业录取线导入,即可预测出结。
(3) 模型二预测的结果平稳准确。
模型的待改进之处:
(1) 本文建立的模型在缺少数据的省份和地区,无法预测出结果。
(2) 模型二只能预测出预测年以及前三的结果。
七 建议
通过观察本文所建立的模型的计算结果,进行分析,可以给出报考本校考生以下几点建议。
(1) 河北省报考本校考生分数线需超过本二线5分到10分。
(2) 除西藏、青海、宁夏、等教育水平不高的地区,其他省份的考生在报考电气专业和热动专业的分数需超出当地二本线10到20分。
(3) 本校电气专业和热动专业为热门专业,如果考生分数较低,但是想报考以上专业,可以采取先报其他要求较低专业,保证被学校录取后,在大二转专业到电气和热动。
八 参考文献
[ 1] 王丽贤. 时间序列预测技术研究[D]. 天津理工大学 2012
[ 2] 李志芬,张家权. 平稳时间序列法的分析和应用[J]. 东北水利水电. 2001(03)
[ 3] 王长江. 指数平滑法中平滑系数的选择研究[J]. 中北大学学报(自然科学版). 2006(06)
[ 4] 张雪琴. 关于“指数平滑法”的研究[J]. 内蒙古农业大学学报(自然科学版). 2006(04)
[ 5] 吉培荣,张玉文,简作群. 优选平滑系数的指数平滑法电量预测系统[J]. 电网技术. 1996(06)
[ 6] 张雪琴. 关于“指数平滑法”的研究[J]. 内蒙古农业大学学报(自然科学版). 2006(04)
[ 7] 濮强国. 改进自适应过滤预测技术及其应用[J]. 苏州城建环保学院学报. 2001(03)
[ 8] 刘金伟. 高等数学课程教学改革与实践探讨[J]. 教育与职业. 2007(18)
[ 9] 唐晓静. 高考填报志愿的综合决策模型[J]. 统计教育. 2010(03)
[10] 唐晓静. 高考填报志愿的综合决策模型[J]. 统计教育. 2010(07)
[11] 唐晓静. 矩阵方程解的结构[J]. 高等数学研究. 2006(03)
[12] 王亚盛. 高考志愿网报系统性能优化与志愿预测分析[D]. 昆明理工大学 2011
[13] 史贞军. 高考志愿决策支持系统的设计与实现[D]. 北京交通大学 2010
[14] 毛竞飞,盛兰芳,李金波. 高考成绩群体差异性分析[J]. 现代教育管理. 2011(04)
[15] 毛竞飞. 高考命题中试题难度预测方法探索[J]. 教育科学. 2008(06)
九 附录
Matlab程序代码:
模型一
filenames=['2007.xls';'2008.xls';'2009.xls';'2010.xls';'2011.xls';'2012.xls';'2013.xls'];
m=7;
a=0.2;
[x,y]=size(xlsread('2007.xls'));
j=1
data_city=[];
for(i=1:m)
data(:,:,i)=xlsread(filenames(i,:))%将7个表的数赋给data三维数组
end
for i=2:3:y
if(i>=y)
break;
end
data1(:,j,:)=data(:,i,:)
j=j+1;
end
%取出data表里的最低分数组成新表data1
for(i=2:m)
y1(:,:,i)=data1(:,:,i)-data1(:,:,i-1)
end
y2(:,:,2)= y1(:,:,2);
for(i=2:m)
y2(:,:,i+1)=a.*y1(:,:,i)+(1-a).*y2(:,:,i)
end
for i=1:m
y3(:,:,i+1)=y2(:,:,i+1)+data1(:,:,i)
end
%[c,d,k]=size(data1(:,:,:));
%for i=1:k
% figure ;
% subplot(2,1,1);
% hold on;
% plot([1:m],data_city(1,:,i),'r.-.');
% plot([1:m],data_city(i,:,2),'g.-');
% plot([1:m],data_city(i,:,3),'b.-');
% plot([1:m],data_city(i,:,4),'c.-');
% xlabel('year');
% ylabel('score');
% legend('L分数线','Lmax','Lmin','Laverage');
% hold off
% subplot(2,1,2);
% hold on
% plot([1:m],data_city(i,:,5),'r.-.');
% plot([1:m],data_city(i,:,6),'g.-');
% plot([1:m],data_city(i,:,7),'b.-');
% plot([1:m],data_city(i,:,8),'c.-');
% legend('W分数线','Wmax','Wmin','Waverage');
% print(gcf,'-dpng',strcat(num2str(i),'.png'));
% hold off
% close all
% aver(i)=mean(data_city(i,:));
% pause;
%end
模型二
clc
clear
filenames=['2007.xls';'2008.xls';'2009.xls';'2010.xls';'2011.xls';'2012.xls';'2013.xls'];
m=7;
j=1;
[x,y]=size(xlsread('2007.xls'));
data_city=[];
for i=1:m
data(:,:,i)=xlsread(filenames(i,:));
end
for i=2:3:y
if(i>y)
break;
end
data1(:,j,:)=data(:,i,:);
j=j+1;
end
[a,b,c]=size(data1(:,:,:));
for i=1:b
for p=1:c
data2(:,p,i)=data1(:,i,p);
end
end
n=4;
terr=1000;
for h=1:31
for i=1:22
w=ones(1,n)/n;
while abs(terr)>0.00001
terr=[];
for r=n+1:c
yhat(i,r,h)=w(1)*data2(i,r-1,b)+w(2)*data2(i,r-2,b)+w(3)*data2(i,r-3,b)+w(4)*data2(i,r-4,b);
% yhat(i,r,h)=w*data2(i,r-1:-1:r-n,h)';
err=data2(i,r,h)-yhat(i,r,h);
terr=[terr,abs(err)];
k=fun2(data2(i,:,b));
w=w+2*k*err*data2(i,r-1:-1:r-n,b);
end
terr=max(terr);
end
yhat(i,c-2,h)=w(1)*data2(i,c-3,h)+w(2)*data2(i,c-4,h)+w(3)*data2(i,c-5,h)+w(4)*data2(i,c-6,h)
yhat(i,c-1,h)=w(1)*data2(i,c-2,h)+w(2)*data2(i,c-3,h)+w(3)*data2(i,c-4,h)+w(4)*data2(i,c-5,h)
yhat(i,c,h)=w(1)*data2(i,c-1,h)+w(2)*data2(i,c-2,h)+w(3)*data2(i,c-3,h)+w(4)*data2(i,c-4,h)
w, yhat(i,c+1,h)=w(1)*data2(i,c,h)+w(2)*data2(i,c-1,h)+w(3)*data2(i,c-2,h)+w(4)*data2(i,c-3,h)
end
end
function k=fun(y)
for(i=1:3)
sum(i)=y(i)^2+y(i+1)^2+y(i)^2+y(i+2)^2+y(i+3)^2+y(i+4)^2;
end
k=1/max(sum);
模型结果
w =
0.2500 0.2500 0.2500 0.2500
yhat(:,:,1) =
0 0 0 0 418.4469 382.0833 417.5269 398.7835
0 0 0 0 450.0000 440.0000 435.0000 444.0000
0 0 0 0 454.5000 444.0000 435.0000 442.5000
0 0 0 0 451.2500 440.0000 433.2500 441.7500
0 0 0 0 449.7500 437.7500 432.7500 440.7500
0 0 0 0 449.0000 436.7500 430.2500 437.5000
0 0 0 0 454.2500 443.7500 434.0000 440.0000
0 0 0 0 449.0000 436.2500 428.7500 436.0000
0 0 0 0 454.7500 440.0000 433.0000 441.7500
0 0 0 0 451.2500 440.2500 430.2500 437.7500
0 0 0 0 448.0000 435.7500 429.2500 438.2500
0 0 0 0 445.7500 433.2500 428.7500 441.5000
0 0 0 0 NaN NaN 426.5000 435.7500
0 0 0 0 449.7500 439.5000 431.5000 439.5000
0 0 0 0 NaN NaN 433.0000 443.5000
0 0 0 0 448.5000 436.7500 427.0000 435.0000
0 0 0 0 448.5000 438.0000 429.5000 436.7500
0 0 0 0 NaN NaN 429.7500 437.7500
0 0 0 0 448.5000 437.5000 431.0000 439.2500
0 0 0 0 456.7500 454.7500 448.0000 NaN
0 0 0 0 461.7500 462.2500 456.5000 459.2500
0 0 0 0 NaN NaN NaN NaN
yhat(:,:,2) =
0 0 0 0 441.2500 432.5000 417.2500 413.7500
0 0 0 0 432.0000 423.5000 402.5000 404.0000
0 0 0 0 429.5000 419.7500 400.0000 400.5000
0 0 0 0 424.0000 NaN NaN NaN
0 0 0 0 423.0000 NaN NaN NaN
0 0 0 0 417.0000 407.5000 381.7500 384.7500
0 0 0 0 428.5000 417.2500 390.7500 383.5000
0 0 0 0 425.5000 413.7500 383.0000 380.5000
0 0 0 0 423.0000 406.2500 374.7500 367.5000
0 0 0 0 418.0000 394.2500 363.2500 362.5000
0 0 0 0 417.5000 NaN NaN NaN
0 0 0 0 414.5000 NaN NaN NaN
0 0 0 0 411.5000 NaN NaN NaN
0 0 0 0 422.7500 404.5000 NaN NaN
0 0 0 0 417.2500 396.0000 361.5000 362.0000
0 0 0 0 426.2500 411.5000 378.5000 368.5000
0 0 0 0 410.2500 389.7500 371.7500 375.7500
0 0 0 0 417.0000 NaN NaN NaN
0 0 0 0 423.7500 404.2500 374.0000 367.2500
0 0 0 0 437.0000 422.0000 417.5000 414.2500
0 0 0 0 449.5000 435.2500 428.5000 428.2500
0 0 0 0 451.7500 434.5000 421.7500 421.5000
yhat(:,:,3) =
0 0 0 0 540.0000 540.7500 544.5000 536.7500
0 0 0 0 532.0000 532.7500 534.2500 526.2500
0 0 0 0 532.5000 533.5000 536.5000 526.5000
0 0 0 0 526.0000 525.0000 527.5000 521.5000
0 0 0 0 524.7500 523.7500 525.7500 518.7500
0 0 0 0 524.2500 523.2500 524.2500 517.5000
0 0 0 0 529.2500 530.2500 531.7500 522.7500
0 0 0 0 527.0000 526.5000 526.7500 518.2500
0 0 0 0 528.0000 527.5000 528.0000 520.2500
0 0 0 0 525.7500 524.5000 524.5000 516.2500
0 0 0 0 525.2500 524.0000 524.7500 516.7500
0 0 0 0 524.7500 523.7500 526.5000 520.5000
0 0 0 0 524.5000 523.2500 523.7500 516.2500
0 0 0 0 526.5000 527.0000 526.5000 517.7500
0 0 0 0 524.2500 523.2500 523.7500 515.7500
0 0 0 0 525.0000 525.0000 525.5000 496.5000
0 0 0 0 524.2500 523.0000 523.7500 515.7500
0 0 0 0 524.5000 523.5000 524.7500 517.0000
0 0 0 0 524.7500 525.0000 525.5000 517.5000
0 0 0 0 511.7500 509.2500 514.2500 518.5000
0 0 0 0 512.5000 509.7500 517.0000 522.7500
0 0 0 0 511.2500 509.0000 517.0000 522.0000
展开阅读全文