2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 灰色预测模型matlab_Matlab数据分析 研究生报名人数灰色预测

灰色预测模型matlab_Matlab数据分析 研究生报名人数灰色预测

时间:2024-03-18 07:43:09

相关推荐

灰色预测模型matlab_Matlab数据分析 研究生报名人数灰色预测

考研季已经来临,也许我们最关心的是下一年考研的报名人数,作者用自己所学的知识做一次大胆的预测,学术不严谨的地方还请批评指正,好奇想知道结果的同学,请直接跳至文末,看结果。

本文选取~每年的研究生报名人数,报考人数单位为/万人,数据来源于网络。

做出散点图,我们看到,从~有明显的增长趋势,~呈下降趋势,至今又持续上升。

做灰色预测,预测未来的研究生报考人数,按照预测模型的求解步骤进行:

对原始数据进行累加;构造累加矩阵B与常数向量;求解灰参数;将参数带入预测模型进行数据预测;

程序代码如下:

clear syms a b; c=[a b]'; A=[141,151,166,176,172,165,177,201,238,290];%至研究生报考人数 B=cumsum(A); % 原始数据累加 n=length(A); for i=1:(n-1)C(i)=(B(i)+B(i+1))/2; % 生成累加矩阵end % 计算待定参数的值 D=A;D(1)=[]; D=D'; E=[-C;ones(1,n-1)]; c=inv(E*E')*E*D; c=c'; a=c(1);b=c(2); % 预测后续数据 F=[];F(1)=A(1);for i=2:(n+10)F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a ; end G=[];G(1)=A(1); for i=2:(n+10)G(i)=F(i)-F(i-1); %得到预测出来的数据 end t1=:; t2=:2029; G plot(t1,A,'k*', 'LineWidth',1) hold on plot(t2,G,'b', 'LineWidth',1) xlabel('年份', 'fontsize',10) ylabel('研究生报考人数','fontsize',10) set(gca, 'LineWidth',1)

得出预测值如下表所示:

从拟合的图像上,未来的研究生报考人数是增长的,这符合实际,但模型不能正确表达预测值,与真实值有很大的误差,采用线性拟合进行预测。

我们得出拟合曲线如下图所示:

用拟合工具箱重新预测,得出4次拟合的模型最好,R2=0.9907,接近于1,模型显著,用拟合出来的回归方程,来预测研究生报考人数。

Linear model Poly4: f(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5 Coefficients (with 95% confidence bounds): p1 = 0.01253 (-0.1037, 0.1288) p2 = -100.2 (-1037, 836.5) p3 = 3.005e+05 (-2.53e+06, 3.131e+06) p4 = -4.005e+08 (-4.202e+09, 3.401e+09) p5 = 2.002e+11 (-1.714e+12, 2.114e+12) Goodness of fit: SSE: 168.4 R-square: 0.9907 Adjusted R-square: 0.9833 RMSE: 5.803

得出研究生报名人数为:

polyval(p,) ans =376.3321

是的,你没有看错,用4次拟合出来的模型,得出研究生报名人数为376.3321万人,重要的话说三遍,研究生报名人数为:376.3321万人,咋么样?是不是有点慌了,那抓紧去看书吧!不要妄自菲薄,加油,少年

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。