距离五一数学建模竞赛还有15天。

灰色预测

灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。

GM(1,1)模型:Grey(Gray)Model

GM(1,1)是使用原始的离散非负数据列,通过一次累加生成削弱随机性的较有规律的新的离散数据列,然后通过建立微分方程模型,得到在离散点处的解经过累减生成的原始数据的近似估计值,从而预测原始数据的后续发展。

GM(1,1)原理介绍

一阶微分方程

准指数规律的检验

image-20220418214358823

GM(1,1)模型的评价与检验

image-20220418214529891

灰色预测的应用场景

  1. 数据是以年份度量的非负数据(如果是月份或者季度数据一定要用我们上一讲学过的时间序列模型);
  2. 数据能经过准指数规律的检验(除了前两期外,后面至少90%的期数的光滑比要低于0.5);
  3. 数据的期数较短且和其他数据之间的关联性不强(小于等于10,也不能太短了,比如只有3期数据),要是数据期数较长,一般用传统的时间序列模型比较合适。

预测题小策略

  1. 看到数据后先画时间序列图并简单的分析下趋势(例如:我们上一讲学过的时间序列分解);
  2. 将数据分为训练组和试验组,尝试使用不同的模型对训练组进行建模,并利用试验组的数据判断哪种模型的预测效果最好(比如我们可以使用SSE这个指标来挑选模型,常见的模型有指数平滑、ARIMA、灰色预测、神经网络等);
  3. 选择上一步骤中得到的预测误差最小的那个模型,并利用全部数据来重新建模,并对未来的数据进行预测;
  4. 画出预测后的数据和原来数据的时序图,看看预测的未来趋势是否合理。

灰色预测例题

例题对应代码讲解

  1. 画出原始数据的时间序列图,并判断原始数据中是否有负数或期数是否低于4期,如果是的话则报错,否则执行下一步;

  2. 对一次累加后的数据进行准指数规律检验,返回两个指标:指标1:光滑比小于0.5的数据占比(一般要大于60%)指标2:除去前两个时期外,光滑比小于0.5的数据占比(一般大于90%)并让用户决定数据是否满足准指数规律,满足则输入1,不满足则输入0

  3. 如果上一步用户输入0,则程序停止;如果输入1,则继续下面的步骤。

  4. 让用户输入需要预测的后续期数,并判断原始数据的期数:

  • 数据期数为4:分别计算出传统的GM(1,1)模型、新信息GM(1,1)模型和新陈代谢GM(1,1)模型对于未来期数的预测结果,为了保证结果的稳健性,对三个结果求平均值作为预测值。

  • 数据期数为5,6或7:取最后两期为试验组,前面的n-2期为训练组;用训练组的数据分别训练三种GM模型,并将训练出来的模型分别用于预测试验组的两期数据;利用试验组两期的真实数据和预测出来的两期数据,可分别计算出三个模型的SSE;选择SSE最小的模型作为我们建模的模型。

  • 数据期数大于7:取最后三期为试验组,其他的过程和4.2类似。

  1. 输出并绘制图形显示预测结果,并进行残差检验和级比偏差检验。

灰色预测运行结果