本发明从神经网络的视角,综合分析了影响电量消耗的因素,建立了一种基于深度学习的电量消耗预测模型,具体涉及一种基于深度学习的电量消耗预测方法,属于通信技术领域。
背景技术:
随着各种产业的发展,城市地区的耗电量也在不断增长,耗电量的预测在电力系统规划和运行方面起着越来越重要的作用。现代科学技术在迅速发展,预测耗电量的研究也在不断深化。耗电量预测需要在调查研究掌握大量翔实资料的基础上,通过正确的理论指导,考虑影响耗电量的各种因素,并从已知的需求出发,运用可靠的方法和手段预测未来的用电需求,对耗电量的发展趋势做出科学合理的判断。电力系统运行、控制和规划都离不开正确的耗电量预测,同时这也是电力规划的基础。
深度学习模型建立在神经网络的基础上,一个神经网络由许多神经元组成,每个神经元就是一个处理单元。每个神经元会先应用一个非线性激活函数对输入数据进行处理然后输出。正是这样一个过程,神经网络具有表示非线性关系的能力。而循环神经网络是利用神经网络处理序列的通用模型,它具有能够处理输入之间前后相关问题的能力,但缺点是无法关联时间跨度较大的信息,所以这时引入lstm(longshortterm)网络解决这个问题,它是一种特殊的循环神经网络,可以学习长期依赖信息。lstm由hochreiter和schmidhuber在1997年提出,它通过刻意的设计来避免了长期依赖问题,从而能让lstm在实践中记住长期的信息。因此采用lstm模型来预测具有规律性的、在任何时间跨度上(一天,一月或者一年)的耗电量是可行的。
电量消耗的预测需要从时间维度上分析,并根据过去的一段时间内耗电量的变化趋势进行预测。而目前存在的耗电量预测方法或多或少都存在着对长期预测准确性下降、规律性处理不足或者适用范围较窄等问题。深度学习模型能有效地从复杂数据中获取有用信息,用以研究动态变化的序列,并能寻找出看似无序的数据中隐含的内在规律,而且深度学习的lstm网络具有长时记忆的功能,更适用于各种时间跨度或者地域跨度的电量消耗预测。随着工业和经济的发展,人们对节能减排的要求不断提高,用深度学习模型预测耗电量并指导发电是必然趋势。
技术实现要素:
技术问题:本发明的目的是提供一种基于深度学习的电量消耗预测方法。该方法能有效地从复杂数据中提取有用信息,综合分析影响电量消耗的因素,并具有长时记忆的功能,更适用于各种时间跨度或者地域跨度的电量消耗预测。本发明利用收集到的数据建立深度学习模型,从而预测出在下一个时刻的耗电量,指导地区城市发电和家庭用电。
技术方案:基于深度学习的电量消耗预测是一种含输入层,隐藏层和输出层的神经网络结构,可以被用于耗电量预测中,并将预测数据反馈给用户来指导其进行节约用电。深度学习模型可以根据到目前为止的历史数据来训练lstm网络,从而达到较好的预测效果。之所以选择深度学习进行电量预测是因为它具有神经网络特有的非线性适应性信息处理能力,容错性强,且避免了长期依赖的问题,适用于电量消耗的变动分析,符合时间规律性和事件偶然性等诸多综合因素。家庭用电量受季节,家用电器数,个人生活习惯影响较大,所以选择的输入变量为本时段用电量、总用电时长、当月平均温度和家用电器数量,输出变量为下一预测时段的家庭用电量。地区城市的用电量与经济发展密切相关。为了更具体地分析用电量与经济发展之间的相关性,本发明把耗电量分为第一产业耗电量、第二产业耗电量、第三产业耗电量,以及城市地区居民生活用电量共4项,因此对于城市地区电量模型的输入变量为第一产业耗电量、第二产业耗电量、第三产业耗电量和城市地区居民生活用电量,输出变量为下一预测时段的城市地区耗电量。
以上的几种变量的集合,作为lstm循环神经网络输入,利用该神经网络的记忆功能,实现数据的特征提取。lstm保存了在同一时刻不同网络参数之间的影响,并且由于自身记忆功能,对之前的神经网络输入数据特性,以及之间的特性关联均有记录,通过自学习,得到各个数据变化情况。在本发明中,将上段所述几种变量作为网络的主要参数来训练,将统计参数作为神经网络的辅助参数,正则化神经网络模型。
本发明利用深度学习的方法,实现了对不同电网规模和时间跨度的耗电量预测,它包括以下几个步骤:
(1)通过智能感知模块采集数据;
(2)数据的预处理:异常数据的删除和数据的归一化处理;
(3)通过长短时记忆循环神经网络lstm模型对处理后的网络数据进行训练,调整参数;
(4)引入辅助数据集和辅助损失函数
(5)通过反向传播算法来更新网络权重
(6)根据上一步得到的lstm模型对耗电量进行预测;
对于步骤(1):通过智能感知模块采集数据。智能感知模块先将收集到的电流电压数据计算成用电量;针对家庭用电,增加了家电状态识别模块可以识别出工作,关闭两种状态,然后结合智能感知到的数据,我们可以统计出两种状态各自的持续时间,若家电处于工作状态,则进入下一步;针对城市地区用电,在收集到相应的历史数据后,便可以直接进入下一步,无需判断工作状态。
对于步骤(2):一般而言,神经网络在学习过程中,其输入样本中各指标具有不同的量纲和变化幅度,会影响神经网络的学习效果。为了克服这一缺点,需要对样本数据进行归一化处理,使各样本值在[0,1]内,这样也可以满足激励函数输出的要求。目前已有多种方法用于数据的归一化处理,本模型采用如下方法:
式中:anew为归一化后的值;a为原始数值;amax,amin分别指标中的最大值和最小值;分母中数字2的作用是将所有的样本值规定在[0,0.5]内,如果用样本进行预测,预测值可能会超过0.5,但不会大于1,这符合激励函数输出的要求。将上式进行反归一化运算即可得出原始数值。
对于步骤(3):利用所属训练向量以及每个所述训练变量的对应输出变量训练长短时记忆循环神经网络。该神经网络的网络连接权重参数的初始化方法是使用服从高斯分布的随机初始化方法。根据输入的预处理后的参数向量矩阵,根据随机得到的初始权重,利用时间反向传播算法,最小化损失函数,更新神经网络权重值。最终得到最佳的网络权重参数集合。
对于步骤(4):引入了辅助损失函数和辅助数据集,其中辅助损失函数和主要损失函数是相同的表达式,二者针分别对不同的数据集合计算损失。而辅助数据集合利用通过了lstm层的训练数据和额外的特征信息作为新的输入一起输入到下一层的bp神经网络中。实现网络的正则化改进,防止过拟合的发生。
对于步骤6):根据步骤(5)得到的最佳网络参数生成的网络模型,将智能感知模块采集到的新数据作为输入向量输入到模型中,最终输出是对于耗电量的预测值。
有益效果:深度学习模型不仅全面的考虑了历史数据的规律性,而且还从多种角度考虑了影响耗电量的因素,具有良好的预测效果。家庭用户的用电习惯在较短的时间范围内是不会发生太大改变的,有一定规律可循,可以通过神经网络对过去的使用情况进行处理,来预测将来的使用规律,这样既可以提高用户对自家电器的使用质量,又可以在一定程度上起到节约能源的作用。而地区城市的耗电量又受多种因素影响,神经网络可以将这些因素内在的与耗电量进行联系,lstm模型又能回溯较长一段时间的历史数据,所以能够预测具有规律性的、在任何时间跨度上(一天,一月或者一年)的耗电量,从而指导发电量。
附图说明
图1用电量统计系统结构;
图2循环神经网络结构图;
图3长短时记忆神经网络神经元结构图;
图4深度学习模型预测耗电量的流程图。
具体实施方式
本发明的目的是提供一种基于深度学习的电量消耗预测方法。该方法能有效地从复杂数据中提取有用信息,综合分析影响电量消耗的因素,并具有长时记忆的功能,更适用于各种时间跨度或者地域跨度的电量消耗预测。本发明利用收集到的数据建立深度学习模型,从而预测出在下一个时刻的耗电量,指导地区城市发电和家庭用电。以下结合附图具体说明。
图4是深度学习模型预测耗电量的流程图,其一般分为以下几步:
(1)计算用电量,将智能感知模块收集到的离散的电流电压数据计算为用电量,单位为千瓦时(kwh);
(2)若是家庭耗电量预测,则需判断家电状态,区分工作和关闭状态,若处于工作状态则进行下一步。若是地区或城市耗电量预测则直接进行下一步。
(3)通过深度学习预测电量消耗,并将预测结果和历史数据一并用图表进行反馈;
1.用电量计算
1.1用电量计算原理
用电量的计算是实现节能算法的第一步,用电量即为所消耗的电能,其常用单位为千瓦时,物理学中的单位为焦耳,两个单位的转换关系是1kw·h=3.6106j,所以用电量的计算公式为:
式中,u(t)是t时刻的电压瞬时值,i(t)是t时刻的电流瞬时值,t是电能计量时段。实际的电压和电流是连续变化的,而计算机只能存储和传输离散信号,因此用电量计算使用上式的离散形式,即
式中,δt是电压电流序列采样间隔。为了保证计量精度达到电能计量要求,数据采样间隔需要非常小,因此每秒产生的电压电流序列数据量很大,为便于电能计量与统计,计量选取一个电能计算的最小时间间隔tm,按最小时间间隔分别计算各时刻消耗的电能值wm为:
式中:wm的电能计算单元;tm可取分时电价最小时段或其整数分之一,以便于分时电价方案的实施。利用上式计算出基本单元用电量量以后,对时间求和便可以得出总的用电量表达式:
式中:wz为需要计算的总电能值;∑n表示对n个计量单元的累加;∑t表示时间的累加;
1.2用电量计算方案
用电量统计系统逻辑上可分为智能感知模块、传讯模块和处理模块,如图1所示。
智能感知模块由分布在电网的所有量测终端组成。量测终端的主要功能是电流电压的高频采集和传输,并接收计算层控制指令。量测终端可以多种形式出现,既可以是独立的装置,也可以是封装在插座、开关或用电设备中的智能模块,本专利为封装在插座中的智能模块。
传讯模块由高速、高可靠性的通信网络构成。量测终端的电流电压时空序列经网络上传到计算层,用电量计算结果再经网络返回各量测终端。该专利采用wifi组网
计算模块接收网络层传输过来的电流电压时空序列,按照不同需求灵活计算各节点耗电量数据,还可以对用电质量进行全局分析,监测异常或事故设备,既能指导家庭用电,也能指导地区城市发电,减少能源浪费。
2.家庭用电状态判断
家庭用电因为可能存在部分家电处在关机的状态,此时读取数据则会造成数据库存储大量冗余数据的情况,所以要先判断家电的状态。我们将家电的状态分为正常工作和关闭两种。我们知道家电在处于不同状态的时候,其功率必然不同,所以我们将根据功率来判断家电处于何种状态,然后统计各种状态的持续时间。2.1功率计算原理
总功率为瞬时功率在一段时间内的平均值,同用电量一样,因为只能收集到离散的数据所以公式为:
式中,u(t)是t时刻的电压瞬时值,i(t)是t时刻的电流瞬时值,t是电能计量时段。δt是电压电流序列采样间隔。同理选取一个电能计算的最小时间间隔tm,按最小时间间隔分别计算各时刻功率pm为:
式中:pm为功率计算单元;可取分时电价最小时段或其整数分之一,以便于分时电价方案的实施。
2.2家用电器基本状态识别
家用电器的状态分为:正常工作和关闭两种。功率为0w时为关闭状态;大于0w时为正常工作状态。为了给用户一个直观的家电用电时长概念,我们以一天(24h)为周期进行用电时长统计,分别对每个家电处于两种状态的时间进行统计。我们以s1,s2分别表示处于正常工作和关闭两种状态,其表达式如下:
其中,
所以正常工作时间统计公式为:
同理,关机时间统计公式为:
家电状态分为正常工作和关闭两种。功率为0w时为关闭状态;大于0w时为正常工作状态。我们将处于正常工作状态的数据进行电量消耗预测。同时收集到的工作时长统计信息也可以反馈给用户指导他们节约用电。
3.用电量预测
家庭用电量受季节,家用电器数,个人生活习惯影响较大,所以选择的输入变量为本时段用电量、总用电时长、当月平均温度和家用电器数量,输出变量为下一预测时段的家庭用电量。
地区城市的用电量与经济发展密切相关。为了更具体地分析用电量与经济发展之间的相关性,本文把耗电量分为第一产业耗电量、第二产业耗电量、第三产业耗电量,以及城市地区居民生活用电量共4项,因此对于城市地区电量模型的输入变量为第一产业耗电量、第二产业耗电量、第三产业耗电量和城市地区居民生活用电量,输出变量为下一预测时段的城市地区耗电量。
在时刻t,可以获得长度为n的历史数据集合,在下面的式子中,n表示电量预测的关联数据长度,x(n)是输入参数矩阵。
x(n)={x(t-n+1),x(t-n+2),…,x(t-1),x(t)}
在上述的四个参数中,前三个变量(家庭用电量预测中的本时段用电量、总用电时长和当月平均温度;城市地区用电量预测中的第一产业耗电量、第二产业耗电量、第三产业耗电量)将作为神经网络的主要输入参数集合,最后一个变量(家庭用电量预测中的家用电器数量,城市地区用电量预测中的城市地区居民生活用电量)是神经网络的辅助输入参数集合,用来完成神经网络的正则化,防止过拟合。
lstm网络是一种改进型的时间循环神经网络。图2是循环神经网络的结构,而图3所示是lstm的一般记忆块,图2中隐藏层的每个神经元对应一个记忆块,该记忆块包含了自连接状态神经元,输入,输出和遗忘门。在这个结构中,fg,fi,fo分别是sigmoid,tanh和tanh激活函数。
sigmoid函数定义:
tanh函数定义:
f(t),c(t),o(t),i(t)分别代表在时间t的时候遗忘门向量,神经元状态向量,输出向量,输入向量;xt,ht是在t时刻记忆单元的输入和输出。图3中的虚线代表了神经网络中的窥探孔链接,输入门,输出门,遗忘门能够接收到神经元信息状态,使得门层(gatelayer)状态不只是依赖于前面时刻的隐状态,也依赖于前面时刻的内部状态ct-1。
在记忆结构中,输入门的激活向量是:
i(t)=fg(wxix(t)+whih(t-1)+wcic(t-1)+bi)
fg(·)是sigmoid函数,wxi,whi,wci分别代表在当前隐藏层上,所有的输入,输出和神经元状态对当前输入单元的权重,x(t)是输入向量,h(t-1)是前面时刻的隐藏层向量,c(t-1)表示上一时刻的神经元状态向量,bi是单元的偏差值。遗忘门的激活向量可以表示成:
f(t)=fg(wxfx(t)+whfh(t-1)+wcfc(t-1)+bf)
记忆单元的状态值更新如下:
yg(t)=fi(wxcx(t)+whch(t-1)+bc)
c(t)=i(t)·yg(t)+f(t)·c(t-1)
记忆单元的输出最终受控于输出门的激活值:
o(t)=fg(wxox(t)+whoh(t-1)+wcoc(t)+bo)
可以得到最终的lstm单元输出值:
h(t)=o(t)·fo(c(t))
神经网络权重利用梯度下降法更新,公式如下:
其中,
对于本发明提出的基于lstm耗电量预测模型如图2所示,输入层是上文提到的几个变量,lstm循环神经网络接收到数据后进行特征学习,最后一层是输出层,用来输出预测的耗电量。