文章目录
- 灰色预测模型
- 相关基本概念
- GM(1,1)模型的使用步骤
- GM(1,1)模型的拓展模型
- GM(1,1)模型的注意事项
- BP神经网络
- 预测模型的注意事项
灰色预测模型
相关基本概念
系统的分类:
- 白色系统:系统的信息是完全明确的。
- 灰色系统:系统的部分信息已知,部分信息未知。
- 黑色系统:系统的内部信息完全未知。
灰色预测概述:对既含有已知信息又含有不确定信息的系统进行预测,就是对一定范围内变化的、与时间有关的灰色过程进行预测。
灰色预测基本原理:灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来的发展趋势。
GM(1,1)模型的使用步骤
GM(1,1)模型本质:有条件的指数拟合。
GM(1,1)模型原理:使用原始的离散非负数据列,通过一次累加生成削弱随机性的较有规律的新的离散数据列,然后通过建立微分方程模型,得到在离散点处的解经过累减生成的原始数据的近似估计值,从而预测原始数据的后续发展。
GM(1,1)模型参数解释:第一个1表示微分方程是一阶的,第二个1表示只有一个变量。
GM(1,1)模型的适用情况:
- 数据以年份度量的非负数据;
- 数据要求能够经准指数规律检验(除了前两期外,后面至少90%的期数要满足准指数规律)。
- 数据的期数较短且与其他数据之间的关联性不强。如果数据期数较长,一般用传统的时间序列模型比较合适。
GM(1,1)模型使用步骤:
- 获得1-AGO序列:对原始的非负数据列进行一次累加得到一个新的生成数据列(1-AGO序列)。
- 进行准指数规律检验:数据具有准指数规律是使用灰色系统建模的理论基础。对1-AGO序列,相邻的后一项除以前一项得到的商称为光滑比,光滑比加一后得到的称为级比。(1,1.5)内,则认为满足准指数规律。级比满足准指数规律的比例越高越好。一般认为除了前两期外,剩余的期数中要有90%以上满足准指数规律。只有满足准指数规律的数据才可以进行后续的步骤。
- 获得紧邻均值生成序列:对1-AGO序列中相邻两项求平均值,得到一个新的数据列,称为紧邻均值生成数列。
- 求出发展系数和灰作用量:将原始数据列视为因变量,紧邻均值生成序列视为自变量进行回归。求出拟合直线的斜率和参数。拟合直线的斜率负数称为发展系数,截距称为灰作用量。一般认为发展系数的绝对值大于2时模型没有意义;发展系数越小,GM(1,1)模型预测越精确。
- 使用平均相对残差和平均相对级比偏差来检验模型:
相对残差和平均相对残差的计算公式如下图所示:
判断标准:如果平均相对残差小于百分之二十,即认为对原始数据的拟合达到一般要求;如果平均相对残差小于百分之十,则认为对原始数据的拟合效果相当不错。(这个标准不是绝对的,需要根据实际需要进行调整)。
级比、级比偏差和平均级比偏差的计算公式如下所示:
判断标准:如果平均级比偏差小于百分之二十,则认为对原始数据的拟合达到一般要求;如果平均级比偏差小于百分之十,则认为模型对原始数据的拟合效果非常不错。
GM(1,1)模型的拓展模型
- 新信息GM(1,1)模型:新信息模型是把新的预测结果添加到原始数据中得到新的预测模型;
- 新陈代谢GM(1,1)模型:新陈代谢模型是指在新信息模型的基础上去除掉最早的数据,从而实现更新的目的。从预测的角度看,新陈代谢模型是最理想的模型。
GM(1,1)模型的注意事项
最好能在已知数据中选择后面几个期数的数据作为验证集,前面期数的数据作为训练集来从多种预测模型中选择最佳的预测模型进行预测。
BP神经网络
BP神经网络功能概括:BP神经网络预测可以说是预测类模型中的万金油,不管什么情况下的预测都可以进行处理。
BP神经网络算法流程:
Matlab中神经网络拟合工具箱使用步骤:
1.打开Matlab,点击APP,然后从下面的工具箱中选择Neural Net Fitting。
2.在窗体左边选择输入数据和输出数据,并选择样本是用行表示还是列表示。
3.选择训练集、验证集和测试集比例。
4.设置隐藏神经元数量。
5.设置神经网络模型的训练算法(三选一),并点击“Train”开始模型训练。训练完成后可以点击“Retrain”进行重新训练。
6.获得如下所示的训练结果:
7.点击Performance可以得到如下所示绘图结果:横坐标表示迭代次数,纵坐标表示验证集的MSE,也就是最小均方误差。训练得到的最佳模型对应于图中用圆圈标识出的点。
还可以点击Regression查看训练集和测试集的拟合优度:
8.获得想要的模型之后,可以点击Matlab Function生成神经网络的函数代码。还可以点击Neural Network Diagram 生成神经网络模型图。
9.点击Save Results 保存神经网络的各项结果。
10.使用Matlab的sim函数对未知值进行预测。使用语法如下:
sim(神经网络变量名,用于表示一个样本特征值的列向量)
备注:神经网络模型需要考虑过拟合问题。
预测模型的注意事项
- 结合背景
- 合理假设
- 不要硬套模型
- 不要不做解释