版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于LSTM的短期电力负荷预测研究摘要电力是国家兴盛至关重要的资源,电力能源资源不仅默化浅移着人们的生活,也影响着国家的经济发展。不绝增长的电力需求,是我国作为国家增进期的标志之一。国家要高效、高质地的成长发展,就必须保证高质地的电力供应。但长期用电分配很难,由于用电时间过长,恐怕会突然断电。为了保障正常供电,促进国内社会国民经济的发展,满足人们平日的需要,电力公司必须提前供配电,供配电与预测密不可分。本文在以前学者、科研人员研究的基础上,结合电力系统的相关需求,对模型进行了探索。我们提出了一种基于LSTM的电力负荷预测模型。在本文中,我们考察了电力能源负荷数据的特性,并根据电力能源负荷数据的特性进行了预处理。它包括外群点处理、数据零均值化和数据集合的合理划分等。将预处理后的模型用于下一步模型训练和测试。最后将经过模拟训练好的模型用测试集来测试,最终得出模型的预测效果。本文后续根据比利时的真实电力负荷数据,提出并验证了LSTM模型。又根据ENTSO网站所提供的西班牙某城市的真实电力负载数据,又构建了BP模型、GRU模型和LSTM模型。用三个模型来作比较,得出用LSTM模型优势,也突出了该模型的有效性和精确性。证明出了LSTM模型更准确、更稳定。关键词:电力负荷预测,长短期记忆网络,机器学习,神经网络。目录TOC\o"1-3"\h\u4583摘要 I15066Abstract II162991绪论 143341.1引言 186841.2国内外研究现状 1135161.3本文结构 1281742电力负荷预测综述 3251712.1电力负荷分类 311092.1.1根据用途分类 3176822.1.2根据时间长度分类 3258572.2电力负荷特性分析 470232.3电力负荷数据预处理 4162312.3.1数据预处理的重要性 481682.3.2预处理的方法 4216822.4电力负荷预测误差分析 5155342.5电力负荷误差评价指标 5318882.6电力负荷预测过程 6123103基于LSTM的短期电力负荷预测模型 7276363.1LSTM神经网络 7259183.1.1RNN 787373.1.2LSTM 789353.2LSTM模型构建 1095313.2.1模型构建思路及特点 10203483.2.2数据集获取 11162383.2.3数据预处理 11235893.2.4模型结构 12220903.2.5训练数据并获得模型 14299994模型测试 16138164.1LSTM模型测试 1627864.2对照实验 17141425总结 207695参考文献 211绪论1.1引言电力负荷预测就是对将来一段时间内的电力负荷需求进行预测,从而满足区域对于电压电力的需求,达到日常运行满足的需要。电力负荷预测可以很好的帮助电网公司对区域的用电进行调配,满足了居民生活的用电,从而给社会经济带来稳定的提升[1]。若对电力没有达到预计的分配要求,就会出现小片范围的短时间停电的情况,严重的情况下甚至出现大面积的长时间停电,带给人们很大的不便,使人们的平日出行和居住不便利,进而对短时间的经济发展产生了影响。而电力负荷预测就能很好的解决这种电压欠缺,电力供应不足这种情况,不会出现大面积长时间停电的状况。预测能够及时分配以及提前分配当时所需要的电压,不仅满足了商业行业所需要的数量,满足了企业所需要的需求,而且使人们的出行和居住非常方便。从而对社会的经济增长做出了贡献。除此之外,因为电力这种资源,有着即时发电产电的特征,不能够长期保存,即产生就需要被消耗掉。当消耗量超过提供的,就会产生停电事故,提供的大于所需要的,就不会产生这种情况。本文所研究的电力负荷数据,只是简单基于时间序列的,没有加入温度、日期、季节等影响因素。因此本文选用基于LSTM的方法来构建模型。在建立模型时,也是采用的一维的输入和输出。该模型能够有效的对时间序列数据进行分析,改进了原始RNN模型不能长期记忆的问题,预测准确性和稳定性较高。1.2国内外研究现状电力负荷取决于许多因素,这些因素是随机的。在国内外,主要分为数理公式计算和计算机学习的两类预测方法。数理公式计算的方法主要是人工构建一个线性的函数或者方程,但是电力负荷数据不是一个线性的数据,所以用该方法不能有着很高的准确率。计算机学习的方法在当下社会各行各业中已经得到了广泛运用,所以将这种方法应用到电力负荷预测中也不成问题。构建人工神经网络、深度学习策略、架构向量机等方法都是计算机学习的方法[2]。这种方法的最大优势是简洁方便,对于非线性数据也能够完美处理。但是计算机建模学习中的参数,比对着传统方式,不能够很好解释。因此海内外的诸多学者和研究将机器学习的方法应用到电力负荷预测方面,从而提高电力负荷预测的准确性。计算机学习的方法在当下社会各行各业中已经广泛普及,所以运用到电力预测中也不成问题。计算机学习的方式包括人工神经网络、深度学习策略、支持向量机等。该类技术的最大优势为灵活,对于复杂的非线性数据也能够完美处理。但是,机器学习框架中的参数相较于传统人工数学模型不易解释。总结当前短期负荷研究的结果,可以得出组合模型比单一模型具有更高的准确度和令人满意的预测结果。同样,将传统方式和计算机学习的方法相结合,与单一模型的预测相比,可以获得更高精度的预测结果和更高的准确率。1.3本文结构第一章介绍了本文的研究背景和研究的意义,阐述了国内外短期负荷预测研究现状,并概括了本文的主要结构。第二章主要介绍了电力负荷数据所具有的特征并分门别类的介绍了关于电荷的区域性、时间性的特征,以及在电力负荷预测过程中如何进行数据处理、误差分析,如何制定评价指标和建立模型的整体流程。第三章着重介绍了LSTM的基本原理。以及在原理基础之上进行模型建立。模型的建立包括数据集获取、数据预处理、模型结构确立以及建立和训练模型这几个步骤。再之后,详细的介绍了各个步骤的过程。第四章则是本次实验所得到的预测结果。为了验证LSTM模型的有效性和准确性,再建立BP、GRU模型,与LSTM模型进行比对,突出LSTM的有效性。第五章做出系统性总结,指出本次实验的不足,并对不足提出相应地改进方法。2电力负荷预测综述本章首先引见了电力负荷分类,根据用途、时间长度来分别进行归类。接下来阐述了电力负荷数据的特点,并考虑如何针对不同的特性来进行相对应的数据处理。最后,制定了预测的评价体系,并提出了预测的流程。2.1电力负荷分类在进行负荷预测之前,我们必需了解电力数据的用途和分类。通过用途和分类,我们可以清晰的了解到不同类型的电力负荷数据有着不同的特点,从而可以根据当前预测地区的总的特点,来指定选取相应的预测方案。同时,对时间长度进行归类也对于电力负荷预测有着相应的帮助。根据时间长度的不同,选择相适应的预测方法,在一定水平上可以提高最终预测的精确度。2.1.1根据用途分类(1)城镇居民生活负荷城市电力有着诸多广为知晓的特点:周期性和季候性的改变,这与人类生活息息相关。一天中,其中一项的电力消耗仅持续几个小时,因此负荷率比较低。(2)企业商业运营负荷一般是指商业店铺、大商场、企业经营运作所需要的电力负荷。由于大量使用空调和加热器,商业负载具有明显的季候性变化,在冬天和夏天具有明显的高峰值。与家庭用电力负荷相比,该类负荷需求在一天中的占据的时间比列比较大。(3)大型工业工厂生产负荷大型工业工厂生产用电负荷一般是指实际生产中所需的用电[3]。这类电力需求在工业发电系统的耗费中占比是最大的。该类负荷基本上不受天气条件和季节变化的限制,需求也比较稳定。(4)城市基础设施负荷城市设施负荷主要由照明、供水和排污网络构成,照明系统负荷几乎每天都是恒定的,而供水用电主要由电动机消耗,水泵系统消耗量大。(5)农业生产负荷主要是农业机械、灌溉水泵、电力、水泵等,用电量主要用于农业生产,这与季节变化的关系不大。(6)公共交通系统负荷公共交通系统的电力负荷消耗主要来自于对汽车、火车、飞机、轮船等公共交通工具的电力供应。同时,从时间上来看,也存在早晚高峰,在早晚高峰时存在着电力负荷峰值。本文通过上述分析,大致得出电力负荷数据的特点:波动性、复杂度高。但电力负荷对于人们的日常生活、工业生产、农业耕作是息息相关的。2.1.2根据时间长度分类根据电力负荷预测的时间长度,可以分为以下三类:(1)长期电力负荷预测长期电力负荷预测的时间范围为5到25年,有着许多影响因素,主要包括有时间、天气、经济状况、电价等。长期电力负荷预测通常是根据历史负荷数据来进行预测的,但由于电力负荷的影响因素较多,预测出来的数据常常达不到满意的效果。(2)中期电力负荷预测中期负荷预测的时间范围一般为一周到一年[4],无论是从原始数据还是预测结果来看,一般表现出规律性和周期性。对于中期预测的影响元素主要包括有季节性变化、政治决定、经济事件等。企业的财务和经济利润可以因为精确的中期负荷预测而得到稳定的提升。(3)短期电力负荷预测短期电力负荷的预测时间范围为一小时到一周,首要用于对未来几日的电厂配电发电计划提供一定的保障。影响元素比较多,而且变动较大,这样使得短期电力负荷预测具有一定的模糊性、随机任意性和波动性。但在模型训练时,加入影响因素,从而使得最终模型在电力负荷预测中能够有效预测,得出的结果比较令人满意。2.2电力负荷特性分析本文在讨论前对电力负荷数据进行了时间、种类的详细分析,认为电力负荷数据具备以下特征:(1)长期趋势:例如在过去的十几年内,电力负荷数据一直都是上涨的,但经历了几年的下降,又经历了几年的快速增长,这种长期趋势是一直存在的。(2)周期性:负荷数据呈现周而复始的周期规律性改变。这些周期可能需要很多年才能体现出来。(3)季节性:负荷在一年中呈现季候性变化,并且一年又一年的重复这个改变。(4)异常值:一年中会有几次突发性突然导致的电力事故,从而致使电力负荷出现异常的高或者低。基于负荷数据特性,电力负载预测主要有以下几个特点:(1)不准确性:由于上述各种要素的影响作用,能够导致预测中存在的不确定性和可变性。(2)条件性:电力负荷预测需要加入一些既有的要素影响。根据在影响因素下提出的假设,得出在各种影响因素情况下的电力负荷预测模型的判断。(3)时间性:电荷数据具有很大的波动性,一天不断的随时变化着并且存在着高峰。需要合理的制定时间区间和时间粒度。2.3电力负荷数据预处理数据预处理在电力负荷预测模型中是不可或缺的,起着举足轻重的作用。经过数据预处理后,模型可以更好的吸收学习和利用数据,从而取得到更高精度的预测结果数据。2.3.1数据预处理的重要性负荷预处理是对获取到的电量电力数据实行初始化的一个过程。即把可用的信息进行整理和合并。而原始数据可能缺少值或存在多余的不一致的值,使这批数据存在大量的冗余信息。最常见的有以下三种情况:(1)数据丢失:比如人工输入数据错误、传感器故障等等。这些原因所产生的数据,都可以视为不正确的数据,因为这些数据会导致最终分析的误差和差距。(2)数据噪声:数据中难免会因为人为的失误或者数据异常,以及数据标签的错误和人为的技术原因导致数据中有错误和异常值的出现。(3)数据不一致:以不同格式保存具有相同数据值的文件时,会存在数据差异。如果有相同属性名的数据,则也会发生数据不一致的状况。如果不解决上述的问题,就会对最后的模型建立造成或多或少的影响,从而降低了模型的准确度,更甚至影响了最终预测分析的准确度。因此只有解决上述的问题才能获得更加准确的结果。为了获得更好的数据集,可以采用以下的数据预处理方式。2.3.2预处理的方法2.3.2.1异常值处理(1)水平处理法:若相邻的两个数据的差异过大,则其中出现了异常数据值,需要对数据进行水平的处理,可以用以下公式:y(2-1)(2)垂直处理法:若某一时刻的前后两天的数据差异过大,则该数据为一个异常数据,则需要进行垂直的处理,可以用以下公式:y(2-2)(3)四点处理法:是上述两种方法的结合,公式如下:y(2-3)2.3.2.2数据零均值化神经元激活功能的性质表明,神经元输出数据不受特定区域的限制。sigmod函数是神经网络中常见的激活函数。但是若用没有经过任何处理的原始数据进行训练,会导致神经网络收敛速度很慢,出现Z型更新现象。输入越多,模型学习的权重越高,但这种模型往往不稳定,这意味着它们学习训练不足,对输入值不敏感,导致模型的泛化水平能力较低。因此数据的预处理和归一零均值化是必要的,可以摆脱一些建模过程中的异常情况。零均值化的方法如下:首先求得数据集中的标准差s,如公式所示:s=(2-4)然后用数据集中的值减去平均值之后的值与标准差的比值,即为零均值,如公式所示x(2-5)2.4电力负荷预测误差分析预测结果的准确性是评估电力负荷预测模型性能的重要指标。模型的高精准确度水平与模型预测结果误差大小之间有密切关系。由于电力负载数据曲线本身的特点,避免不了地会导致误差。因此,负荷误差是帮我们判断模型是否具有很高的精确度和是否合理的标准,其值的大小有利于我们分析其中的因由。通过对误差原因的分析和修正,可以进一步优化模型,使模型达到更高的精度。误差原因有很多种,以下为几个方面:(1)不同的模型有着不同的特性,而地区间的负荷特点也不尽相同,要建立有针对性的负荷模型。在某些情况下(某些地区,电荷特征视情况而定),选取不同的模型,其所得到的预测效果是不一样的。因此根据实际情况选择模型具有重要意义。(2)模型难以全面反应负荷状况。影响负载预测的元素很多,不可能一次性加入全部影响因素来构建和预测。其次,负荷曲线难以用数学公式来解释,曲线本身特点也是不规则的非线性曲线,因此模型存在必然误差。(3)在数据收集过程中所产生的误差。模型训练是根据历史数据来进行的。先前的历史数据中可能会存在偏差、缺失、或者数据的不完全正确,这就导致了预测的误差。(4)不可控因素所产生的误差。比如说软件崩溃、机器损坏等等。2.5电力负荷误差评价指标需要用合理的评价指标来对模型的预测结果和真实历史数据拟合程度的优劣来进行评价和评定。主要的评价标准有以下几种:(1)平均绝对误差(MAE),该指标由预测值与实际值之间误差绝对值之和,再平均值得出[5]。该公式所计算获得的数据值越小,证明误差越小,所得到的模型就越好。MAE=(2-6)式中yi测试值,y(2)平均绝对百分误差(MAPE),相较MAE来讲,通过平方来绝对值化,不存在误差被相抵消,可以更好地反映预测成果的误差大小情况,更适合权衡模型预测成果的优缺点[6]。该公式所计算获得的数据值越小,证明误差越小,所得到的模型就越好。(3)均方误差(MSE),通过平均误差平方和来计算误差的结果,它可以测量模型的预测值和实际值之间的偏差[7]。该公式所计算获得的数据值越小,证明误差越小,所得到的模型就越好。MSE=(2-7)(4)均方根误差(RMSE)增强了误差的影响,可以很好地体现测量结果的准确性。因此RMSE通常被广泛用作预测误差的评估标准[8]。该公式所计算获得的数据值越小,证明误差越小,所得到的模型就越好。RMSE=(2-8)2.6电力负荷预测过程图SEQ图\*ARABIC1电力负荷预测流程图3基于LSTM的短期电力负荷预测模型传统的预测方法以及基于机器学习的SVM、ANN方法在早期预测上有着较好的预测效果。但目前的电力负荷具有更强的随机波动性和周期改变性,并且高度依赖于日期改变的因素。在使用先前的模型预测过程中会出现信息衰减、梯度消失等问题,不能够有效记忆电力负荷数据的周期性特性。因此本文所构建的LSTM模型,不仅解决了上述所说问题,而且有效的提高了预测的精度。3.1LSTM神经网络3.1.1RNNRNN是一种具有强大功能性的神经网络,是最常用的算法之一。它是唯一具有内部状态的神经网络。在过去,人们已经提出了神经网络和其它算法。随着计算机计算能力的增强,20世纪90年代,为了应对海量数据处理,随着长短期记忆网络的发明,RNN才算是真正走向历史舞台。由于其独特的网格空间内部状态,RNN可以存储重要的输入元素,使其非常准确地预测下一步的发展。RNN还可以深入理解序列和上下文[9]。前馈式神经网络由于只考虑目前被收集到的输入,不对输入进行记忆,不存在关于时间序列的概念,下一步预测能力较弱。但是递归神经网络解决了这个问题。RNN具有内部网格空间来记录输入的特征,并可以把这些特征输出到内部循环网络中再次进行学习。RNN模型既考虑了之前输入进去的特征,也考虑到了当前的输入。图SEQ图\*ARABIC2递归神经网络的展开图2为递归神经网络的横向生长及与时序相关的内部结构的展开。RNN包含了三层,分别为:标记为x0、x1、x2、x3、...的输入层;标记为h0、h1、h2、h3、...的输出层;标记为A的隐藏层。在常规RNN学习中,网络隐藏层中的权值权重变化会影响学习和训练过程。其结果使,若权重很大,会导致“梯度爆炸”;如果权重很小,会导致“梯度消失”。这个问题会导致模型不能收敛,长期依赖关系3.1.2LSTM传统RNN扩展后便成为LSTM,适用于长时间的数据处理,扩展的RNN增加了模型的存储容量以及处理长期数据。长短期记忆网络已经成为目前最流行的递归神经网络,因为长短期记忆网络消除了原有递归神经网络的错误。与传统递归和其它神经网络相比,LSTM有着更高精度的预测模型和更有效的应用。LSTM旨在通过门层控制机制对抗消失的梯度。在LSTM中,输入门、遗忘门和输出门的公式定义为i、f、o。他们虽然具有相同的方程,但是参数不同。LSTM通过隐藏层计算隐藏单元网格状态,并输出一个新的隐藏状态。由此可以让单元记住该信息的重要程度,让该信息继续进入到下一步的隐藏层中进行迭代和运算,将得到出来的结果存入单元中,然后重复上述步骤的进行,从而让模型内部的网格状态不断迭代和优化,能够让网格更好的选择接下来所要输出或者输入的信息。将结果存储,放入到网格中,由此得到了长期记忆的效果,弥补了RNN的缺陷。图SEQ图\*ARABIC3LSTM的内部结构第一步是确定保留哪些信息。图4展示了详细的单元网格状态。由遗忘门的sigmod函数将这些向量的值转化在0和1之间,并且通过将他们与另一个向量相乘,可以定义网格状态保留多少。遗忘门定义了希望让多少先前状态通过[11]。通过门计算出来的值,得到最大值即为全部保留,若得到最小值,则需要不保留该信息。然后门将保留下来的信息送入到下一层中进行下一步的运算。遗忘门的定义为:ft(3-1)图SEQ图\*ARABIC4遗忘门层第二步是确定哪些信息需要被更新。输入门定义了希望让当前输入通过的新的网格状态的多少。这部分分为两步。第一步,由输入门决定从上一步骤网格中传递来的信息是否需要被更新替换。第二步,创建一个Ct向量。该向量是设备的内部存储器,它是新计算的隐藏状态乘以输入门和先前记忆乘以遗忘门的数学加法和[12]。如图5所示。it(3-2)单元网格状态定义为:Ct(3-3)Ct=ft∘C(3-4)图SEQ图\*ARABIC5输入门层分解步骤一因此,直观上它是我们想要如何组合以前的记忆和新的输入的组合。我们可以完全将忘记门设置为0,或者完全忽略输入门的值,将输入门输入进来新状态的值设置为0。图6展示了这个过程。图SEQ图\*ARABIC6输入门层分解步骤二最后,给定内存Ct。我们最终通过将内存与输出门相乘来计算输出的隐藏单元网格状态结果。先根据单元网格状态中的信息,决定输出哪一部分内存状态。然后通过将内存规范化后,经由输出门输出[13]。至此我们得到了我们想要的信息。过程如图7其中输出门定义为:ot(3-5)最终输出的定义为:ht=ot*tanh((3-6)图SEQ图\*ARABIC7输出门层3.2LSTM模型构建3.2.1模型构建思路及特点在早期的电力负荷预测过程中,使用的都是传统的预测方法或者是基于机器学习的SVM、ANN的算法。几年前有研究人员提出使用回归神经网络的方法来对电力负载进行预测的想法,并付诸了实践。此外,也有基于BP神经网络、GRU回归神经网络等建立起来的电力负载预测模型。但是负载数据拥有波动性高强和周期性突出的特征,而且负载数据是一个与时间相关的数据,随时间改变而改变,以上的模型不能很好的对电荷负载数据进行预测,都具有一定的缺点。例如传统的数理预测方式对数学的功底要求较高;BP神经网络是一个线性的模型,对非线性的电力负荷数据精准度不高,而且也存在着迭代周期长,收敛速度慢的缺点;基于GRU、RNN的方法存在着梯度消失或者爆炸,不能长期记忆神经元中的内容,迭代时不能收敛,长期依赖问题无法解决。而LSTM模型是一个非线性的模型,具有适合电力负荷数据这种非线性、时间跨度大的序列数据的特点。上节也详细介绍了LSTM的原理和流程。该模型针对梯度消失、爆炸的问题,采用门控机制单元来管理内部单元网格状态的数据信息流通,效果非常好。而且对于不能长期记忆的问题,采用细胞状态来保存长期记忆,再配合门机制对信息进行过滤,从而达到对长期记忆的控制。于是本文采用基于LSTM的方法来构建模型。本文构建了一个四层的LSTM模型。设置了一个全连接层为输入层和一个LSTM层作为隐藏层,LSTM隐藏层的神经元个数为288。然后通过全连接层输出到回归层进行更新迭代。除此之外,本文所构建的模型在原有的LSTM模型上加上了两点改进。第一是在隐藏层与输出层之间加入了一个全连接层。全连接层在整个神经网络中执行“排序”的功能,将得到的“分布特征”反映到整个样本空间,从而提高训练建模的效率。第二点是在最后加入了一层回归层,可以让模型边学习,边调整自身的参数,调整模型中各个值的权值比重,从而得到一个更优的模型,使模型更加准确。3.2.2数据集获取本文所采用的数据是从比利时电力公司官网提供的负荷数据下载。数据集为比利时2015年4月1日到5月31日的负荷数据。数据的采样周期为十五分钟,共计5856个样本。数据可视化后如图8所示。图SEQ图\*ARABIC8电力负荷数据3.2.3数据预处理在构建模型之前,为了使数据更加适应LSTM模型,首先对所使用的数据进行人工数据处理和零均值化处理。(1)选取训练数据集,训练数据选取从2015年4月1日0点~2015年5月25日21:15的负荷数据。(2)选取预测数据集,预测数据选取从2015年5月25日21:30~5月31日23:45的负荷数据。(3)将数据类型转换为数值矩阵类型。此类数据可用于存储和处理大规模矩阵数据,然后对历史电力负荷数据进行零平均处理,使其大于或小于0。具体的处理方式如2.3.2.2节所示。按时间先后排序,对零均值化之后的数据进行存储。本文中所使用的数据全部进行零均值化处理,并将处理过后的数据进行妥善的保存,使数据能够很方便的进行下一步的训练模拟过程,使模型能够进行下一步。零均值化的结果如图9,图10所示。图SEQ图\*ARABIC9训练集零均值化处理图SEQ图\*ARABIC10测试集零均值化处理3.2.4模型结构经过数据处理后,建立模型,通过训练集对各神经元权重进行迭代,通过损失函数估计每次迭代的误差。为了获得最佳模型,优化器会自动地调整和更新模型的权重,加快模型的收敛和拟合速度。最后利用反复迭代优化后的模型进行预测并输出最终预测结果。为了构建一个合适的LSTM模型,下面对模型参数的选取进行分析。(1)输入层、LSTM层、输出层神经元数目的确定本文要讨论的电力负荷数据只是基于时间序列,没有加入温度、节假日、季节等影响因素。因此模型的输入、输出层上要求输入一维输出一维,即输入层的神经元个数为1,输出层的神经元个数为1。LSTM层的神经元数量为288。(2)优化算法的确定当信息在LSTM神经网络模型中反向传播时,会根据负梯度中的最佳值继续寻找最佳值,直到函数收敛。因此,为了计算获得目标函数的整体最优解,信息反向传播过程对所需要计算的目标函数不断反复优化。作为一种优化算法,它优化损失函数通过向上向下方向或梯度方向,直到函数有最优解。向下梯度优化算法包括BGD、MBGD和SGD方法等很多种方法方式。用于优化和更新目标函数参数的输入样本。当输入样本数据数量较多时,即使训练少量输入样本,也可以获得比较准确的模拟结果。缺点是结果的目标函数可能不是全局的最佳解决方案。自适应参数优化算法包括AdaGrad算法、RMSProp算法、Adam算法等。该算法自动修改整体学习因子,避免建模者因缺乏经验而设置不可接受的学习因子,从而导致模型在最后的收敛拟合过程中,出现收敛速度慢或者过拟合的状况。综合讨论以上的算法,本文选取Adam算法作为优化算法。Adam算法的优化程度不仅在上述算法的优化程度之上,而且基于梯度下降算法又进行了优化。同时,Aadm算法相较于其他的算法,有着内存小,便捷、轻量的特点。Adam算法通过一种独特的动量方法,通过改变学习因子,边迭代边动态调整适合模型的学习因子,从而让模型更加快速的收敛,消耗更短的时间,以及有着更高的预测精度来避免与人工相关的问题。(3)激活函数的确定设定LSTM隐藏层中门的激活函数为sigmoid函数:S(x)=(3-7)输出的激活函数为tanh函数:tanhx=(3-8)激活函数为Relu函数:f(x)=max(0,x)(3-9)(4)损失函数的确定负荷预测常用的损失函数有均方误差(MSE)和均方绝对误差(MAE)。因MAE对异常点有更好的鲁棒性,本文结合比利时地区负荷预测的实际需要,选取MAE作为损失函数。MAE=(3-10)根据以上的构建过程,本文构建的预测模型如图11所示。除此之外,模型在原先基础模型之上加入了两点改进。第一是在隐藏层与输出层之间加入了一个全连接层。全连接层在整个神经网络中执行“排序”的功能,将得到的“分布特征”反映到整个样本空间,从而提高训练建模的效率。第二点是在最后加入了一层回归层,可以让模型边学习,边调整自身的参数,调整模型中各个值的权值比重,从而得到一个更优的模型,使模型更加准确。图SEQ图\*ARABIC11模型结构与其他模型不同,其他模型考虑了过去的经验,直接指示依赖于负载预测的时间,例如当前负载为上个月、前一周和前一天。在本文中,我们动态研究了长期相关性,选择最佳相关性,并利用动态跳转到LSTM的自然语言来研究循环功率负载特性。3.2.5训练数据并获得模型根据上节所述的模型建构过程,建立起模型。除了上节中模型构建所提到的各层神经元的数量、优化器、激活函数的选择和损失函数的确立。还设置模型的初始学习率为0.005,在125轮训练后通过乘以因子0.2来降低学习率。模型的训练次数为200,梯度阈值为1。经过以上的超参数配置完成后,对模型进行训练模拟,得到图12的模拟训练过程。图SEQ图\*ARABIC12模型训练过程由上图可以得到训练过程,并对过程进行分析:模型在前130次的训练过程中,有着较大的RMSE值浮动,但在130次之后趋于稳定,已经达到了模型的训练效果。损失函数在前20次的过程中有着较大的波动,在20-40之间有着细微的波动,在40次之后损失函数逐渐趋于0并且保持平稳。由上图可以证明模型训练的比较成功。能够可以用模型来进行预测。4模型测试4.1LSTM模型测试使用建立并训练好的模型,来对测试集进行测试。下图中,图13上半部分显示出了模型在全体数据集中的整体预测效果和预测具体值。其中,前90%蓝色线条部分为数据集上的原始数据,后10%橙色线条为模型预测出来的数据。而图13的下半部分则是原本的完整数据集。图13显示出了预测的整体效果,可以全面的观察预测的预测数据与原始全部数据的大致趋势。图SEQ图\*ARABIC13模型整体预测图图14则单独显示出了模型预测出来的数据与原始数据之间的差别。可以从图中看出,模型所预测出来的整个数据集的后10%的部分,是几乎与原始数据集的后10%的数据相重合。无论是从线条的走势、趋势还是数据值上来看,几乎相符合。图14的下半部分的则详细的显示了预测的每个周期与原始数据之间的误差。由下半部分可见,最大误差为400,占原始数据值的4%。而平均误差在86左右,占原始数据的0.7%~1%左右。由此可见,误差是在预估范围内的,可以接受。图SEQ图\*ARABIC14模型局部预测图4.2对照实验为了证明LSTM的高精度性和预测结果的合理有效性,再次选取数据来对模型进行验证。在接下来的实验中,采用的是从ENTSO网站所获取的电力负荷数据,采取的是西班牙某城市2019年1月1日到2019年12月31日的数据。(1)BP神经网络由本文首先采用BP神经网络,一种非线性建模的神经网络来建立模型[14]。因为负荷数据是非线性的,该模型适用于线性,对于非线性的数据不能很好的记录上特征,于是该模型作为空白对照实验组来进行。本文采用Matlab来构建模型。参数中隐式层的神经元个数为10,以Relu为主动函数,在迭代100次后,制备出该神经网络模型。其在训练集和测试集中的表现如图15所示:图SEQ图\*ARABIC15BP神经网络中训练集与测试集的表现评价指标如表1所示:表SEQ表\*ARABIC1BP神经网络评价指标评价指标训练集测试集MAE0.090.08MSE0.0090.009MAPE13.911.5由于BP神经网络是一种黑盒模型,它不解析特定数据的结构。因此,对于非线性负荷数据,该模型无法正确捕捉该特征的时间序列,而只是对数据进行单独分析,无法给出预期的结果。该结果作为一个空白对照实验组,与下面的两个实验进行相互对比。同时该数据作为一个基准,与下面的两个模型所得到的误差数据相比较,从而可以得出模型的优劣。(2)GRU神经网络GRU网络非常适合预测时间序列数据[15]。本次构建的GRU模型是作为对照组来进行的,因为GRU模型能够分析非线性的时间序列,但是与LSTM模型相比,有着各个参数设置不同的原因。使用Matlab来进行GRU神经网络的搭建。对于参数的设置,隐藏层神经元个数为288,激活函数为Relu函数,损失函数为均方误差,经过Adam算法优化,经过100次迭代后得到训练好的GRU神经网络模型。表现如图16所示:图SEQ图\*ARABIC16GRU神经网络中训练集与测试集的表现评价指标如表2所示:表SEQ表\*ARABIC2GRU神经网络评价指标评价指标训练集测试集MAE0.060.06MSE0.020.008MAPE129.05由上表可以发现,GRU神经网络虽然在MAE和MSE上得到的值比对BP神经网络模型得到的值略微不太优秀,但是在MAPE上有着较好的结果。可以得出,GRU神经网络具有数据提取特性,提炼出来了数据的特征,对电力负荷数据的时间特征进行详细分析。(3)LSTM网络使用的模型参数为:隐藏层神经元为288,选用的激活函数为Relu函数,选用的损失函数为均方误差,利用Adam优化算法求解。表现如图17所示:图SEQ图\*ARABIC17LSTM神经网络中训练集与测试集的表现模型评价指标如表3所示:表SEQ表\*ARABIC3LSTM模型评价
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026黎明职业大学招聘编制内博士研究生学历学位教师24人备考题库(福建)含答案详解(综合题)
- 2026广西柳州融安县长安镇卫生院乡村医生招聘2人备考题库附参考答案详解ab卷
- 2026福建省厦门银行股份有限公司校园招聘备考题库带答案详解(基础题)
- 2026年甘肃省兰州大学动物医学与生物安全学院聘用制B岗招聘备考题库附答案详解(轻巧夺冠)
- 2026福建医科大学附属第一医院招聘非在编合同制人员20人备考题库(二)及答案详解【全优】
- 2026广东汕头大学医学院第一批招聘6人备考题库附参考答案详解(研优卷)
- 2026建设社区卫生服务中心(嘉峪关市老年病医院)招聘7人备考题库(甘肃)及参考答案详解(完整版)
- 2026国航股份浙江分公司地面综合服务岗位就业见习生、实习生备考题库及参考答案详解(模拟题)
- 2026安徽省淮北市在定向选调生招录中同步开展党政储备人才引进40人备考题库含答案详解ab卷
- 2026贵州安顺三〇三医院招聘9人备考题库附参考答案详解(培优a卷)
- 石油天然气开采重大事故隐患判定准则
- GB/T 26951-2025焊缝无损检测磁粉检测
- DB11T17742020建筑新能源应用设计规范
- 后厨设计案例分享
- 流出道室早定位课件图
- 中医药驾驭慢性病-揭秘中医药治疗慢性病之道
- 黄河护理单招真题试卷题库及答案解析
- 社区415国家安全教育日
- 大数据中心都建在这贵州为什么这么牛?(屏幕16比9)
- 制作艾米果活动
- 2025年安徽亳州(QC小组活动专业能力)中级质量专业能力考试题库及答案
评论
0/150
提交评论