一些介绍
灰色系统、白色系统、黑色系统
- 白色系统是指一个系统的内部特征是完全已知的,既系统信息是完全充分的。
- 黑色系统是一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
- 灰色系统介于白色和黑色之间,灰色系统内的一部分信息是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系。
关联分析
几何形状越接近,关联程度也就越大
预测模型选择
- GM(1,1)模型适用于具有较强指数规律的序列,只能描述单调的变化过程,如指数型
- 非单调的摆动发展序列或具有饱和状态的 S 形序列, Verhulst 模型,GM(2,1)模型,DGM等更适用
- G(1,1)一个数据序列,G(1,n)n个数据变量
GM(1,1)模型
% 灰色预测
%{
积累
syms
a=cumsum(b) 累积和 b=[1,2,3,4,5] a=[1,3,6,10,15]
inv() 矩阵求逆
%}
clear
syms a b;
c=[a b]';
A=[89677,99215,109655,120333,135823,159878,182321,209407,246619,300670];
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);
%--这里预测后面十个数据 n可更改
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=1999:2008;
t2=1999:2018;
G
plot(t1,A,'ko', 'LineWidth',2)
hold on
plot(t2,G,'k', 'LineWidth',2)
xlabel('年份', 'fontsize',12)
ylabel('利润/(元/年)','fontsize',12)
set(gca, 'LineWidth',2); %set图形属性设置 gca当前坐标轴或图
title('预测结果');
legend('真实值','预测值');
%{
预测效果检验
输出q c p,与灰色模型精度表对比
%}
%后验差检验
e=A-G(1:n);%残差
q=e/A%相对误差
s1=var(A);%原始数据的方差
s2=var(e);%残差的方差
c=s2/s1%方差比
p=0; %小误差概率
for i=1:n
if(abs(e(i))<0.6745*s1)
p=p+1;
end
end
p=p/n