这个现成的程序没有见过
不过北京化工大学信息科学与技术学院张利萍写的《灰色神经网络预测算法在DMF回收过程中的应用》一文中给出了基本思路,下面应用过来,希望对你有所帮助
对多个序列分别建立GM(1,1)模型后,可得到对原始序列数据的一系列预测值,这些预测值可能和原始数据有一定的偏差,而这多个原始序列之间也有一定的关联,并且这种关系并不直观。可以考虑将这些预测值与实际值之间的偏差关系及序列之间的相互关系综合到神经网络模型中考虑:将灰色模型的预测值作为神经网络的输入样本,实际值作为神经网络的输出样本,采取一定的网络结构,然后对神经网络训练,就可得到一系列对应于相应节点的权值与阈值。网络的结构固定之后,将GM(1,1)模型对下一时刻或几个时刻的预测值作为训练好的神经网络的输入,得到的输出即为对应下一时刻或下几个时刻最终的预测值。这种组合方法主要是通过神经网络能逼近任何有理函数的特性,通过训练使得神经网络来模拟序列数据之间与序列之间的复杂关系。
组合灰色神经网络模型预测的步骤:
假设有m个相互关联的数列,每个数列有n个数据,组合灰色神经网络预测模型的步骤如下:
(1) 用m个数列分别建立m个GM(1,1)模型.
(2) 分别用这m个模型预测各数列从第2到第n个数据,得到m个长度为n-1的数据序列P.
(3) 取原始数列中每个数列的第2到第n个数据,得到另m个长度为n-1的数据序列T.
(4) 将数列P作为神经网络的输入向量,T作为神经网络的输出向量,并进行网络结构与初始权值、阈值的设定。
(5) 训练BP网络,得到网络中对应于每个节点的一系列权值与阈值。
(6) 再次用第一步建立的GM(1,1)模型来预测未来时刻(如n+1时刻)的值,将这些预测值作为神经网络的输入,进行仿真,得到相应的输出,即为组合灰色神经网络预测模型的预测结果。 |