灰色模型预测GM(1,1) 就业率 升学率

Posted studyer_domi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了灰色模型预测GM(1,1) 就业率 升学率相关的知识,希望对你有一定的参考价值。

1、内容简介

灰色模型预测GM(1,1) 就业率 升学率
319-可以交流、咨询、答疑

2、内容说明

灰色系统理论是以“部分信息已知、部分信息未知”的“小样本”、“贫信息”不确定性系统为研究对象,用已知的确定的数据去预测未来未知的数据。

灰色预测模型中最基本的是一次拟合参数模型,即GM(1,1)它是通过对原始数据进行累加生成后,得到规律性较强的序列,再用指数曲线去拟合得到预测值,即累加之后属于指数增长型的数据适合用灰色预测。

灰色系统,就是介于白色和黑色系统之间,一部分信息是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系。

例题:城市1986到1992年道路噪声平均声级数据见下表,请预测下一年的数据。

•某城市交通噪声数据/dB(A)

灰色系统的特点:

  • 数据量太少,无法用回归或神经网络预测
  • 年份和噪声的数据是已知的
  • 年份和噪声之间存在内在联系
  • 具体函数关系未知
  • 短期预测(只预测下一年)

问题中的“年份”和“噪声值”就是一种灰色系统。当题目中的数据量少、无明显规律时,一般可以使用灰色预测模型。

3、仿真分析

%% 就业率(%)
y=[	88.75	94.56	92.21	92.94	95.81];   %输入数据
n=length(y);
yy=ones(n,1);
yy(1)=y(1);
for i=2:n
yy(i)=yy(i-1)+y(i);
end
B=ones(n-1,2);
for i=1:(n-1)
    B(i,1)=-(yy(i)+yy(i+1))/2;
    B(i,2)=1;
end
BT=B';
for j=1:n-1
    YN(j)=y(j+1);
end
YN=YN';
A=inv(BT*B)*BT*YN;
a=A(1);
u=A(2);
t=u/a;
t_test=input('请输入需要预测年数N:');
i=1:t_test+n;
yys(i+1)=(y(1)-t).*exp(-a.*i)+t;
yys(1)=y(1);
for j=n+t_test:-1:2
    ys(j)=yys(j)-yys(j-1);
end
x=1:n;
xs=2:n+t_test;
yn=ys(2:n+t_test);
figure
plot(x,y,'^r',xs,yn,'*-b');
legend('真实就业率','预测就业率');
ylabel('就业率(%)');xlabel('时间序列');
det=0;
for i=2:n
    det=det+abs(yn(i)-y(i));
end
det=det/(n-1);
disp(['百分绝对误差为:',num2str(det),'%']);
disp(['预测值为: ',num2str(ys(n+1:n+t_test))]);

请输入需要预测年数N:3
百分绝对误差为:1.3039%
预测值为: 95.0178      95.4774      95.9393

4、参考论文


 

以上是关于灰色模型预测GM(1,1) 就业率 升学率的主要内容,如果未能解决你的问题,请参考以下文章

python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导

灰色预测GM(1,n)模型_python

灰色预测 模型GM(1,1)级比检验不在区域(exp(-2/(n+1)),exp(2/(n+1)))内,怎么处理

Matlab:数模03-灰色预测

数学建模-灰色预测模型GM(1,1)_MATLAB

灰色预测改进—三角残差拟合_python