1. 引言
天然气与传统的煤炭和石油相比具有较低的碳排放和污染物释放而被广泛使用中 [1] 。当前天然气供需矛盾逐步加剧,天然气市场的稳定发展面临巨大挑战。部分地区用气高月出现供气短缺现象,商业、工业乃至居民用户面临天然气减供甚至停气问题,同时提高了天然气管道的修建、维护管理难度。另一方面,天然气是不可再生能源,需要精心管理和有效开发。因此,准确预测天然气负荷成为了一种必要的方式 [2] 。
在天然气负荷预测研究中,预测效果一般受到数据质量、地理位置、气候条件、预测范围、预测方法、市场细分和预测来源等等多种因素的影响 [3] 。在预测方法方面,有关天然气负荷预测模型的种类较多,主要可分为统计模型,机器学习模型,时间序列模型等及上述方法的组合模型等 [4] [5] 。GRU是一种循环神经网络架构,在处理较短时间序列数据时有较好的表现被广泛应用于负荷预测 [6] [7] [8] 。LSTM能够捕捉和利用较远时间步之间的依赖关系,因此在处理需要长期记忆的任务上表现优秀 [9] [10] 。SOA [11] 作为一种新兴的优化算法,在全局搜索能力、收敛速度、适应性和鲁棒性等方面都具有一定的优势 [12] 。在提高数据质量上SVD作为一种重要的数学工具,具有数据降维、去噪能力、特征提取等优点,对于处理高维数据和提取关键信息非常有效 [13] 。综上,本文提出一种基于SVD-SOA-GRU-LSTM的预测模型。
2. 模型建立
2.1. SVD
SVD [14] (奇异值分解)是将一个矩阵分解为三个部分的数学技术,可以通过提取数据的主要特征和结构来降低数据的维度,并减少数据中的噪声和冗余信息。同时可以将数据表示为较小的奇异值和相关向量的组合,因此它可以用较少的存储空间表示原始数据,实现数据的压缩和存储效率的提。第三,在面对数据中的噪声、缺失值或异常值时具有较好的稳定性。即使数据存在一些扰动或非线性关系,SVD仍然可以提供较为可靠的数据分解结果。在特征提取方面,SVD可以从数据中提取出重要的特征信息。通过选择最大的奇异值和相应的奇异向量,可以捕捉到数据中的主要模式和结构,有助于理解数据的本质和提取有用的特征。
对于一个
的实数矩阵
,它的奇异值分解可以表示为以下公式:
(1)
其中
是一个m行n列的元素均为实数的矩阵,
是一个m行m列的行向量和列向量两两垂直的矩阵,它的列向量被称为左奇异向量,这些向量对应于
矩阵的行空间,
是一个m行n列的除主对角线歪其余元素均是0的矩阵,它的对角线上的每一个元素都被称为
的奇异值,记为
。它们是非负实数且按照从大到小的顺序排列。奇异值表示了
在每个特征空间方向上的重要性或能量分布。
是一个n行n列的行向量和列向量两两垂直的矩阵,它的列向量被称为右奇异向量,这些向量对应于
矩阵的列空间。
由公式(1)分别左乘和右乘
可得公式(2) (3)如下:
(2)
(3)
由公式(2) (3)可以看出,
和
的特征向量分别组成了
和
的列向量,而特征值则对应于
乘以其转置矩阵的对角线上的元素,这个关系提供了一种计算
特征向量和特征值的方法。
2.2. SOA
在2019年,Gaurav Dhiman等人通过观察海鸥的迁徙与捕食行为提出了一种新的算法以寻求最优解,命名为SOA。SOA利用模拟海鸥觅食行为的策略,在搜索空间中进行全局搜索,能够避免陷入局部最优解,并寻找到更好的全局最优解,采用并行计算的方式,可以同时搜索多个候选解,提高了搜索的效率。同时,SOA还使用了启发式规则来指导搜索过程,进一步加速了算法的收敛速度。SOA的运行过程和参数设置相对简单,易于理解和解释。它通过模拟海鸥觅食的行为来进行优化搜索,使得搜索过程更加直观可见,同时对问题的初始解的依赖较小,对初始解的质量和范围要求相对较低,具有较好的鲁棒性。这使得SOA在处理复杂问题和实际应用中更加可靠。算法基本步骤如下:
1) 初始化参数
2) 初始化种群位置
3) 计算适应度值并保存全局最优位置
4) 迁徙、全局搜索,需要计算不与相邻海鸥碰撞的新位置
,最佳位置方向
和新位置
。
(4)
(5)
(6)
(7)
(8)
其中
是指代海鸥在模拟搜索空间中的运动动作,
是用来控制变量
变化频率的函数,从2线性递减到最小值0,
是指代最大迭代次数的符号,
是指海鸥当前的最佳位置,
是指海鸥当前的位置,B为平衡全局与局部搜索能力的随机数;r为[0, 1]内的随机数。
5) 海鸥攻击猎物,在局部的搜索,模拟在空中进行螺旋运动,代入到数学公式中为:
(9)
(10)
(11)
(12)
其中,
是指螺旋运动的半径,这个值会逐渐减小,
是一个在
内的随机变化的角度值;
、
是两个确定螺旋运动形状的参数。海鸥攻击猎物后的新位置
(13)
6) 判断计算值是否达到了终止条件,若未达到条件则返回步骤3。
流程图如图1所示。
2.3. GRU
GRU网络是对传统神经网络进行了优化改进,与传统神经网络相比,GRU引入了重置门和更新门结构 [15] ,通过使用更新门和重置门来控制内存单元的更新,从而有效地调整信息的流动。这使得GRU能够更好地处理长期依赖关系,并避免梯度消失或爆炸等问题。通过更新门和重置门,GRU可以选择性地更新和遗忘过去的信息,从而更好地捕捉和存储重要的时间序列模式。同时,相比与LSTM模型拥有3个门控,GRU模型仅仅使用了2个门控(更新门和重置门),这导致GRU在训练和推断时需要更少的计算资源,同时允许用户根据具体任务和数据的特点进行不同的变体和调整。通过调整门控机制的权重和阈值,可以对GRU模型进行灵活的改进和优化。它的数学模型见公式14~17。
(14)
(15)
(16)
(17)
其中,
是指代重置门函数,
是指上一个时间步的隐藏状态,
是当前时间步的输入,将
和
进行堆叠得到一个新的向量,
是重置门的权重矩阵,
是Sigmoid函数,它们构成了重置门。重置门决定了过去隐藏状态
对当前时间步的影响程度。
是指更新门函数,
是更新门的权重矩阵,过去隐藏状态
和当前输入
对当前时间步有一定的影响,而
就是确定其影响的指标;
是候选隐藏状态,
表示逐元素乘法,W是候选隐藏状态的权重矩阵;
更新后的隐藏状态,与
和
的关系如公式17是所示,在这之中更新门
是确定两者之间的权重的重要指标。GRU模型单元示意图如图2。
2.4. LSTM
LSTM是Hochreiter [16] 在1997年提出的一种神经网络。LSTM通过使用门控机制,特别是遗忘门和输入门,可以有效地解决传统循环神经网络(RNN)中由于梯度消失或爆炸引起的长期依赖问题。这使得LSTM能够更好地捕捉和处理时间序列中的长期依赖关系,因此可以更好地建模残差序列中的时间相关性。这对于预测残差中的复杂模式和趋势非常有益。也可以根据不同的时间尺度自动适应序列数据的长期和短期依赖关系。这使得LSTM在处理各种时间序列数据,如语音、文本、音乐等方面具有较好的表现。通过细胞状态(cell state)的维护和调整,LSTM可以有选择性地记住和遗忘信息,从而更好地捕捉序列数据中的重要模式。
其数学模型公式如下:
(18)
(19)
(20)
(21)
(22)
(23)
其中,
为遗忘门,
为输入门,
和
为矩阵,用来确定输入向量和隐藏状态的权重,
是一个向量,用来确定当前时刻的输入值,而符号
是指上一个时刻的隐藏状态,符号b是指代一个偏置向量,
表示为sigmoid函数,
则是代表着双曲正切函数,
是用来表示当前时刻的细胞状态,
是逐元素相乘,
是输出门的输出,
表示隐藏层的状态。其结构示意图如图3。
2.5. 评价标准及整体流程
在预测结果评估方面,本文采用均方根误差和平均绝对百分比误差来表示模型的预测精度,其计算公式如下所示:
(24)
(25)
流程图如图4,各个部分具体流程见上文:
3. 实例分析
3.1. 数据处理
为验证模型的有效性,本文采集了丽水市某县的2020年1月1日至2023年6月30日的天然气负荷数据及对应日的各项天气参数如最高、最低温度、相对湿度、干湿球温度等。考虑到工业用气占比超过80%,额外加入对应日前3天的负荷数据作为输入参数。对与所有的输入参数,本文使用斯皮尔曼秩次相关性分析法 [17] 确定其与天然气负荷的相关性,进行取舍后使用Matlab软件中自带的工具包的mapminmax函数对原始数据进行归一化处理,并将数据分为训练集和测试集,两者比例为7:3。具体相关性如表1。
Table 1. Correlation coefficients of each parameter
表1. 各参数相关系数
确定输入参数后利用SVD对数据进行降维和特征提取,具体结果如图5,图6。
Figure 6. Residuals for different k values
图6. 不同k值的残差
由图5可得当k = 4之后不在涵盖原矩阵更多特征,图6表达了不同k值时重构矩阵与原矩阵的误差,可以看到,当k = 4时误差最小,因此本文选定k = 4。
3.2. 模型预测
在Matlab上对原始数据分别用GRU、SVD-GRU、SVD-SOA-GRU和SVD-SOA-GRU-LSTM这4个模型进行预测,其结果如图7所示,RMSE和MAPE如表2所示。由图表可得,4个模型预测结果都整体负荷原始数据规律,其中GRU模型因没有对原始数据进行降维、降噪和特征提取等,总体误差最大,MAPE为15.23%。对比各模型同样可以看出,SOA优化预测模型的参数及加入LSTM对残差的分解预测可以在一定程度上提高预测精度,对各模型的MAPE分别整体提高1.68%和3.28%。最后,SVD-SOA-GRU-LSTM模型的精度最高,MAPE为5.61%,不仅在整体上更接近原始数据,在波峰波谷时误差也较小,跳出了“局部最优”,证明其平稳性和准确性,为用户的天然气供应提供保障,为天然气资源的优化调度以及天然气气管网的设计提供有效参考信息。
a) 各模型预测结果对比图
b) 前50天预测结果对比图
c) 100到150天预测结果对比图d) 250到300天预测结果对比图
Figure 7. Predicted results of each model
图7. 各模型预测结果
4. 结论
本文就提高预测数据质量和改进预测方法2个方向对天然气负荷预测进行了优化改进。实例分析证明,通过SVD对数据进行降维和特征提取能有效提高GRU的预测精度。SOA寻优对于GRU模型参数的优化、LSTM对残差的预测也提高了预测模型的精度。基于上述研究提出的SVD-SOA-GRU-LSTM模型最终预测结果于实际的天然气负荷更为接近且效果稳定,为用户用气供应及天然气资源调度提供更佳精确的依据。