索引:
1.需求简单描述
2.技术选择与分析
3.电力系统GRU网络模型结构
4.物料价格预测实现思路
一.需求简单描述
通过以往电力材料价格数据预测未来电力材料价格的走势
二.技术选择与分析
1.材料价格预测的待预测的Y值是连续的,因此该问题属于有监督学习中的回归问题。
2.因为价格是在连续的时序上分布的,所以需要采用区别于基本神经网络的RNN(循环神经网络)实现,RNN在全连接神经网络的基础上增加了前后时序上的关系,可以更好地处理比如数据预测、机器翻译等的与时序相关的问题。
3.由于物料价格是随时间变化不断增加的,所以数据量会越来越大,而RNN的局限性在于,当输入长度过长时,最早的输入可能会在神经网络反向传播时产生梯度爆炸或者梯度消失,导致RNN无法回忆起过于久远的记忆,会降低预测的准确率。因此需要在RNN的基础上使用 LSTM RNN(长短期记忆循环神经网络),LSTM RNN 和普通的 RNN 相比,多出了三个控制器(输入门,遗忘门和输出门)以便控制全局的记忆。
4.因为 LSTM RNN 的参数较多,所以训练时的收敛速度较慢,因此最终选择了与 LSTM RNN 在性能上不分仲伯的 GRU RNN (门循环单元循环神经网络)来训练预测网络模型,GRU 把 LSTM 中的三个门限(输入门,遗忘门和输出门),变成了两个(更新门和重置门),从而提升了收敛速度。
三.电力系统GRU网络模型结构
共10层网络,结构如下:
【1】输入层
【2】80个神经元的 GRU层,使用RELU函数激活
【3】遗忘层(丢弃10%的神经元)
【4】120个神经元的 GRU层,使用RELU函数激活
【5】遗忘层(丢弃10%的神经元)
【6】100个神经元的 GRU层,使用RELU函数激活
【7】遗忘层(丢弃10%的神经元)
【8】80个神经元的 GRU层,使用RELU函数激活,最后一个时间步输出结果
【9】遗忘层(丢弃10%的神经元)
【10】通过全连接层将预测结果输出
总训练参数:203,001
四.物料价格预测实现思路
1.将往期材料含税价格和报价日期组成时间序列数组(缺失数据取前后数据的均值+正如态分布随值进行补充),将时间序列数组以2为批次每次送入5个值(前4个作为特征值和最后一个作为样本)到GRU RNN模型中,每种规格训练至损失函数值小于0.05时为止,最少200轮,损失值函数是所有训练结果和真实值之间的均方误差,通过神经网络反向传播矫正预测值的误差。
2.将训练后的模型参数保存,此模型接收近四个月的值作为输入,通过网络模型的隐含层预测下一个月的值,然后将近三个月的值与下个月的值作为输入预测下下个月的值,从而实现连续两个月的价格预测。理论上可以通过这种方式实现无限长度的数据预测,但是随着大量预测值作为真实值输入后,预测结果会逐渐趋于理想化,就失去了参考的价值,所以预测未来数据的长度不宜过长。