一种基于信息熵的LSTM 时间序列数据预测模型

2024-03-18 05:12孙梦觉周植高范培忠
科技创新与应用 2024年7期
关键词:信息熵神经网络样本

田 园,孙梦觉,周植高,范培忠

(1.云南电网有限责任公司信息中心,昆明 650000;2.云南云电同方有限责任公司,昆明 650000)

随着智能电网信息化的研究发展,基于用户数据的时间序列预测分析是推动智能电网一体化建模的重要技术。其在电网控制系统运行调整、电网运营智能化、设备异常预警等诸多广泛应用中发挥着至关重要的作用。时间序列预测有助于实时掌握数据的未来发展趋势,提前做出最优决策。例如,文献[1]指出如果能够准确预测电网负载的趋势,并根据数据实时调整相应的调度计划,那么就可以更好地节约或控制决策成本。

现实世界中有许多不同的应用程序,相应的数据流将生成。这些不同的数据流通常具有不同的分布特征和统计信息,预测这些数据通常意味着构建不同的预测模型。为了减少资源消耗,有必要构建一个更适用于电网用户系统的时间序列预测模型。

时间序列预测建模的众多算法中,传统时间预测算法模型AR(Auto Regressive)模型及其衍生模型,因数据随机性和离散性较强,对于时间序列的时间特征信息保留效果不佳,而人工神经网络(Artificial Neural Network,ANN)算法因其对于时间序列数据的时间特征的遗传信息保留程度高,相较于类马尔科夫过程当前状态只取决于前一状态的模型预测可靠性更好,因而ANN 模型预测时间序列的方法应用取得了长足性发展,如图1 所示[2]。此外,因为伴随着深度置信网络的进一步研究与使用,深度置信网络与注意力机制相结合,创造出了一种名为深度置信网络(Deep Confidence Network,DCN)的混合模型。同时,在序列学习任务的需求中延伸出了循环式神经网络(Recurrent Neural Network,RNN),在RNN 中出现了3 个特殊门机制:记忆门,遗忘门,输出门。通过3 个特殊门机制的相互作用,构造了长短时记忆网络(Long -Short-Term Memory,LSTM),在对有时间特性的序列数据的回归预测中,优化了传统RNN 中时间序列过长导致的梯度下降问题,避免了传统模型中存在的梯度爆炸问题,优化了反向传播神经网络(Back Propagation Neural Network,BPNN)的缺陷。

图1 ANN 结构图

目前,国内外研究者在时间序列的回归和分类方面已经取得了不少的研究成果,其具体应用如对于股票行情,电网负载的预测等。关于时间序列预测在电网方面的运用,Sheikh 在文献[3]基于极限学习机和电网消费用户的行为规律,提出了一个新的数据挖掘框架来分析电网消费者的用户行为,以期预测未来短时间内,在智能电网中特定消费者群体的用电负载,并同时分析集群用户电力行为模式的相似度,把收集到的用户电力负荷时间序列数据和具有相似行为的电网用户分类到相同的模型中预测。

LSTM 网络和门循环单元(Gate Recurrent Unit ,GRU)网络,在处理长时间序列预测问题时,由于其特殊门机制的作用,在序列的回归分析和预测任务上表现优秀,如文献[4]采用LSTM 进行负荷预测,在模型算法的预测过程中使用了搜索方法,基于搜索算法的随机性,来优化整个神经网络的普适性,以确保获得最优的网络设定参数。文献[5]为了进一步提升模型的有效性,通过误差参数指标,再通过倒数相关方法将LSTM和极端梯度提升方法(eXtreme Gradient Boosting,XGBoost)构建了一种基于混合模型的时间序列预测方法,用于负载的短期预测。文献[6]提出了一种卷积神经网络和门循环单元网络的混合模型。文献[7]提出了一种卷积神经网络和长短时记忆网络结合的混合神经网络模型。上述提到的算法都是通过卷积神经网络的相关方法,来对多维数据序列特征进行提取,之后再利用GRU 或LSTM 神经网络进行预测。这种混合模型算法的优势在于能够更加充分地挖掘序列的数据特征,从而减小了由于人工标注带来的误差,提高了时间序列预测模型的算法有效性。

1 相关理论基础

在传统时间序列预测模型中,普遍存在部分参数存在异常和缺省的情况,常见的预测过程中会使用缺省值估计和均值填充的方法来补全数据集,其中通过机器学习的估算方法一般有K 邻近法、BPNN 等。其中K 邻近算法模型的算法流程是通过找出与缺省值的直线距离最近的K 个完整数据,然后通过计算这K 个数据的算术平均值来补全缺省数据以增强模型的兼容性和普适性。

BPNN 则通过利用当前已经获取到的完备序列数据来优化网络模型,其过程:首先将所获取到的完备序列数据集作为整个神经网络的输入层,然后把缺失的序列数据作为神经网络训练的输出结果,将有缺失值的样本和记录中拥有其他已知数据的样本输入训练好的网络,最终网络输出的结果是对整个数据样本基于缺失值的估计。统计学方法只针对整个序列和部分序列进行特征的整体提取,仍然会丢失数据集中的部分数据特征。此外基于时间序列分解的相关研究在针对于金融领域表现尚可,且可处理存在缺省值的时间序列数据并自行预测,但时间序列数据中往往包含有周期性特征和趋势不显著的诸多分量,在此类特性较强的时间序列中该模型表现一般。

通常在真实环境中获取到的传感器记录的时序数据,具有非线性、非平稳的特征,上述传统方法不能够十分显著地提取和预测序列的特征和趋势,而本文基于LSTM 对于时间序列数据趋势预测的基础上,提出了一种基于信息熵的数据预处理方法,并且同时依照数据熵值特征对数据样本进行神经网络训练并建立趋势预测模型。

循环神经网络RNN 因其本身特性,是一种主要用于预测和处理序列数据的神经网络方法,而时间序列数据,究其本身是指在诸多不同的时刻节点上采集到的带有高度实时特性和时间特性的数据,这类数据往往将伴随着很强的离散性同时也代表了数据本身的状态转移和变化情况。

RNN 依靠隐藏层把时间序列中带有的信息进行传递,但会存在问题,一是时间序列中数据各种各样,可能伴随着对下一输出时刻没有太多信息价值的数据或谬误,将会对预测结果产生误差,二是当时间序列过长,RNN 的计算负担将会急剧增加,对于长时间序列预测,RNN 的运算复杂度会激增,三是RNN 本质上也是利用BPTT 的方法训练,将会存在一定程度上的传统BPNN 的局限性。

图2 是在RNN 的一个单元中每一次的迭代计算流程,除了当前时刻的状态量xt输入以外,还需要输入上一次迭代的状态量ht-1,该数据取决于之前t-1 个时刻的数据,因而RNN 神经元还将输出一个ht包含了之前t个时刻的信息的状态量,时间序列数据也具有相应信息特征,在RNN 的隐藏层中多次迭代的信息将会对结果产生预测作用。

图2 RNN 结构图

信息熵(Information Entropy),被信息论的创立者香农(Shannon)从传统热力学中借鉴后提出,在传统物理的热力学体系中,熵值是用于阐述物质本身其内部混乱程度的一个量纲,而香农信息论中则使用该数值阐述信息的价值,本文基于信息熵理论,通过信息熵的大小来对事件信息的无序程度进行合理的评估和度量,事件状态的转移程度越大,或者事件本身的离散程度越大则信息熵也越大。

信息熵在相关研究中,过去多用于决策树等算法的权值计算和阈值分类[8],而本文就信息熵理论,对时间序列的时间特征信息进行提取,把熵值相近的事件进行聚类归并,归并后的数据再进行相关神经网络训练架构组合模型。其数学意义在于:熵值较大在时间序列中就代表该组数据的特征越明显,把各种可能表示出的信息量乘以其发生的概率之后求和,就表示了整个时间序列所有信息量的一种期望值。

假设某一事件X其事件本身存在n种状态,记录为X{x1,x2,x3,…,xi},P(i=1,2,3,…,n)表示事件的状态xi在整体事件X中发生的概率,则把事件X的信息熵H(x)定义为

LSTM 作为RNN 中的一种发展型网络,在原有的RNN 基础上增加了一个新的状态参量c来实现网络中的遗忘功能。

图3 为本文中相关LSTM 网络单元的迭代流程,LSTM 算法模型通常在输入层有3 个不同的状态参量,分别是ct-1、ht-1和xt,3 个输出层的状态参量分别为ct、ht和yt,其中xt代表了当前迭代过程中的输入参量,ht-1为上一次迭代过程的状态输出参量,ct-1代表上一次迭代的全局信息载体;其次yt为本次迭代的输出参量,ht为本次迭代的状态参量的输出值,ct为本次全局参量的信息载体。

图3 LSTM 结构图

在构建的基于信息熵的LSTM 时间序列复合模型中,每次迭代首先会计算当前时刻t下的数据xt与前一个时刻t-1 下的ht-1,并由二者得出一个中间参量,再与ct-1构建的遗忘门继续筛选完成本次迭代[9]。

2 基于时间序列信息熵的LSTM 改进模型

2.1 数据信息熵处理

本文基于电网用户的时间序列数据,提出了一种基于信息熵优化处理的LSTM 改进模型,时间序列数据集来自于华东某地区,把数据集内的时间序列数据进行熵值处理用于提取特征,由于传统的RNN 主要依靠隐藏层,把时间序列数据中带有信息进行传递,会存在局限性:时间序列数据中的数据特征不明显时,在迭代中可能会出现对于预测结果的负面影响。伴随着对下一输出时刻没有太多信息价值的数据或谬误,将会对最终趋势预测的结果产生误差和错误。

本文对于时间序列数据的处理过程包括:首先对时间序列数据进行极差标准化,其次把极差标准化的结果,再进行信息熵值的统一计算,依照熵值阈值大小评估特征类型。最后,特征分类之后用于LSTM 网络的下一步学习预测。

2.1.1 极差标准化

在机器学习的诸多数据处理方法中,在数据的预处理上,通常会选择采用极差的方法来描述一组序列数据的离散特性,同时反映了该时间序列数据中,数据分布的变异范围和离散幅度。且要求在该序列数据的样本总体中任意2 个序列样本数据的标准值之差都不能超过极差[10]。

文章提出的方法在对数据集的时间序列数据的处理中,首先对数据集中选取的样本数据序列进行了极差标准化运算,同时筛选剔除离群特征过高的点。

此外,时间序列数据的离散程度是其具有的固有属性,因为时间序列数据的特殊性,具有很强的离散性和随机性,因而极差标准化之后的数据在一定程度上反映了其信息量的大小,体现了该时间序列数据对于预测的价值。

2.1.2 信息熵值计算

依照公式(1)中的计算方法把极差标准化后的数据样本进行熵值计算,将时间序列数据得出的结果进行排序后,各个样本之间由于信息熵本身特性可知,信息量越大熵值越高,信息量越小熵值越低,同时熵值相近的数据样本,则表明其离散程度越接近,以此设置信息熵阈值见表1[10]。

表1 特征分类阈值表

2.1.3 K-Means 聚类归并数据特征

利用K-Means 聚类法,对一维时间序列数据进行聚类后分为六类特征。特征则表示聚类后,具有相同特性一类样本,便于之后的神经网络训练。

表2 表示在多次通过K-Means 迭代处理后的样本聚类特征取均值结果,依照样本特征2 为界,把特征1 作为低熵模型,样本2 作为中熵模型,特征3,特征4,特征5,特征6 作为高熵模型,共抽取了40 个时间序列样本数据,依照样本熵值进行迭代归并,时间序列数据的样本数量模型分布符合高斯分布。

表2 样本特征归并表

2.2 LSTM 结构设计

在本文的LSTM 模型设计中,一个LSTM 神经元由4 个参量构成,分别是被用来代表状态的神经元和用来处理和保留序列信息的记忆门,以及负责筛除序列信息的遗忘门,和输出序列信息的输出门,神经元状态是指代模型本身的状态和模型在数据多维空间中记录的信息,因而神经元状态由门的参量变化决定,本文的门机制选择了sigmoid 函数,sigmoid 的取值在0 至1[11]。

遗忘门的sigmoid 函数通常决定丢弃何种信息,公式如下

式中:a<t-1>是t-1 时刻的输出,x<t>是t时刻本层迭代神经元的输入,wf是各个变量的权重,bf是偏置项,δ 是sigmoid 函数,δ(x)= (1+e-x)-1,Γf参量的取值范围被定义在0 至1,当参量函数取值为0 的时刻,则表示在序列数据流中,当前时刻的序列特征信息被完全遗忘,而当参量函数的取值为1 的时刻,则表示在序列数据流中,当前时刻的序列特征信息被完全记忆。

记忆门的运作流程,首先sigmoid 函数计算结果Γu,其次,记忆门依照运作机制设定,将会根据tanh激活函数自行生成一个新的迭代参量向量,之后把这个向量添加到神经元状态中[12]。再通过旧的神经元状态去点乘遗忘门函数(Γf),来遗忘当前的神经元状态中部分旧的信息,之后再加上新产生的候选值。由此更新当前时刻的神经元状态,公式为

式中:tanh表示一个双曲正切激励函数[13],c<t-1>表示神经元状态值在时间序列中<t-1>时刻的大小,表示从时间序列中t时刻的输入信息中提取出的需要记忆的信息,c<t>表示记忆门工作之后的神经元状态值[14]。输出门依照神经元状态,基于sigmoid 函数确定输出的信息量,使用tanh函数处理c<t>,Γu和c<t>相乘得到输出,公式为

LSTM 神经网络的预测表现相较于传统RNN 网络,有较高的效果提升,3 个门机制在很大程度上确保了时间序列预测模型的有效性[15]。

3 实验验证

3.1 实验环境

操作系统:Windows 10。

处理器:Inter CoreI7-6700HQ 2.60 GHz。

内存:16 GB。

编程语言:Python 3.6.1。

深度学习框架:TensorFlow 2.1。

3.2 实验数据集

本文实验的数据集来自国内东部某地区部分居民用户2015 年1 月1 日到2016 年8 月31 日电网用户负载的时间序列数据,本文采用的时间序列数据时间跨度为609 d,用户样本数量40 个。

3.3 实验结果

实验中基于信息熵选取的特征6 种类型并依照其熵值差异,建立3 种不同的预测模型,即低熵、中熵和高熵模型,并对熵模型进行了预测分析。由图4—图8中可观察出,预测结果及趋势大致符合实际值。对于近120 d 的时间序列数据预测具有指导价值。同时实验的对比结果对比传统LSTM 模型和GRU 模型在相同数据集上建立预测模型,作为实验对照。

图4 低熵模型预测

图5 中熵模型预测

图6 高熵模型预测

图7 传统LSTM 模型预测

图8 GRU 模型预测

3.4 评价指标

本实验评价指标采用Loss 函数,Loss 函数的作用是主要用于描述网络模型质量的一个重要指标,体现了预测模型的结果与实际值之间的差值,体现了网络预测结果的误差大小。通过观察图9 至图13 实验中的评价指标,可知预测的时间序列数据在200 次迭代以后趋于稳定,在迭代至500 到600 次以后趋于稳定。本文实验中的Loss 函数采用MSE(均值平方差),如公式(10)和图9 至图13 所示。

图9 低熵模型Loss 函数

图10 中熵模型Loss 函数

图11 高熵模型Loss 函数

图12 传统LSTM Loss 函数

图13 GRU 模型Loss 函数

4 结束语

本文通过信息熵优化的LSTM 预测模型,对时间序列数据的预测结果表明(表3),在不增加神经网络的深度和复杂度的基础上,利用本文提出的方法,尤其在离散程度较大的高熵模型中,数据收敛的梯度更快更平滑,而中熵模型和低熵模型中,时间序列数据趋势的预测结果收敛的速度较低,在Loss 函数的表现上多次迭代结果显示,在时间序列数据总体熵值逐渐上升的过程中,趋势预测的学习结果逐步上升,均在0.1 以下,且高熵模型的Loss 函数值最低,则其代表着,离散程度越高的时间序列,所包含的信息量也就越高,则其序列本身在相同的LSTM 模型下学习的效果越好。其次MSE 函数表明预测结果与实际值差距较小,在时间序列预测中有一定的指导意义[15]。

猜你喜欢
信息熵神经网络样本
基于信息熵可信度的测试点选择方法研究
用样本估计总体复习点拨
神经网络抑制无线通信干扰探究
推动医改的“直销样本”
基于信息熵的实验教学量化研究
一种基于信息熵的雷达动态自适应选择跟踪方法
随机微分方程的样本Lyapunov二次型估计
基于神经网络的拉矫机控制模型建立
村企共赢的样本
基于信息熵的IITFN多属性决策方法