如何预测灰色模型GM(1,1)?我有近十一年的数据,想预测2020年和2030年的数据。请给我一些建议!
给你一个程序模型。我这里还有完整的程序。如果有必要,给我写信。
色度控制中心
清理所有
该程序主要用于计算根据灰色理论建立的模型的预测值。
%应用的数学模型是GM(1,1)。
%原始数据的处理方法是一次累加法。
Y=input('请输入数据');%请按照示例中所示的格式输入数据:[48.7 57.17 68.76 92.15]
n =长度(y);
yy=ones(n,1);
YY(1)= y(1);
对于i=2:n
YY(I)= YY(I-1)+y(I);
结束
b =一(n-1,2);
对于i=1:(n-1)
B(i,1)=-(YY(I)+YY(I+1))/2;
B(i,2)= 1;
结束
BT = B’;
对于j=1:n-1
YN(j)= y(j+1);
结束
YN = YN ';
a = inv(BT * B)* BT * YN;
A = A(1);
u = A(2);
t = u/a;
T_test=input('请输入要预测的数字:');
I = 1:t _ test+n;
yys(i+1)=(y(1)-t)。* exp(-a . * I)+t;
yys(1)= y(1);
对于j=n+t_test:-1:2
ys(j)= yys(j)-yys(j-1);
结束
x = 1:n;
xs = 2:n+t _ test;
yn = ys(2:n+t _ test);
plot(x,y,'^r',xs,yn,'*-b');
det = 0;
对于i=2:n
det = det+ABS(yn(I)-y(I));
结束
det = det/(n-1);
Disp(['百分比绝对误差为:',num2str(det),' % ']);
Disp(['预测值为:',num 2 str(ys(n+1:n+t _ test)));