本发明属于大数据技术领域,具体涉及一种电力负荷预测方法。
背景技术:
在大数据时代,通过对历史电力负荷数据曲线进行分析,预测未来一天或几天的电力负荷数据曲线,是电力系统经济调度中的一项重要的内容。在电力负荷预测问题上,较为经典的有神经网络预测法。神经网络的基本单元是神经元模型。神经元模型是模拟生物神经元的结构和功能的数学化模型,一般是一个多输入单输出非线性的信息处理单元。神经网络的基本形式有前向网络、反馈网络、相互结合型网络和混合型网络。应用较多的神经网络模型有bp网络。bp网络是反向传播网络,它是一种多层前向网络,可用于语言识别和自适应控制。传统的bp神经网络存在着许多缺点,如容易过拟合、在数据量大的时候训练时间冗长等。
技术实现要素:
本发明的目的是为了解决目前现有的技术存在的不足,提出了一种基于dbscan算法的lstm神经网络电力负荷预测方法。首先用dbscan算法对电力负荷数据进行聚类分析,获得聚类结果与聚类中心。然后使用lstm神经网络预测得到预测日的负荷特征向量,由预测日的负荷特征向量与聚类中心的欧氏距离来确定预测日负荷的相似类别。最后将预测日的相似负荷类别数据和原始数据合并,作为lstm神经网络的输入训练数据,获得预测日的电力负荷曲线。
本发明的目的可以通过采取如下技术方案达到:
一种电力负荷预测方法,包括以下步骤:
s1、计算电力负荷数据r的k-距离集合d:
对于数据集合r={c1,c2,c3,...,cm},计算元素ci到r的子集s={c1,c2,c3,...,ci-1,ci+1,...,cm}中所有元素的距离,距离按照从小到大排序,获得排序后的距离集合d′={d1,d2,d3,...,dk,dk+1,...,dm},dk即为k-距离,对集合r中每一个元素ci都计算k-距离,得到所有点的k-距离集合d={dk1,dk2,...,dkm};
s2、初始化dbscan算法的领域半径eps和最小密度minpts:
minpts的值由用户指定,其值即为s1中的k-距离的k值;领域半径eps为s1中计算的k-距离曲线d中斜率最大的点所对应的值,若存在多个点均为斜率最大点,则取这些点的平均值作为领域半径eps的值;
s3、使用dbscan算法对电力负荷数据r进行聚类:
根据s1和s2所确定的dbscan算法的参数,对r进行聚类,获得聚类结果c;
s4、计算c的类中心ci:
其中,xi,xj均为聚类结果c的第i类簇中的元素;r为第i类簇中包含的元素个数;d(xi,xj)为xi,xj的欧氏距离;
s5、建立lstm神经网络:
首先是遗忘门,通过sigmoid函数将ft转化成0到1之间的值,0表示全部遗忘,1表示全部保留,其计算式如下:
ft=sigmoid(wf·xt+uf·ht-1+bf)(2)
其中,wf表示遗忘门的输入向量的权值矩阵;uf为遗忘门中神经元上一状态值ht-1的权值矩阵;bf为遗忘门的偏置项;
其次为输入门,输入门的计算由it和
it=sigmoid(wi·xt+ui·ht-1+bi)(3)
其中wi为当前输入向量xt的权值矩阵;ui为神经元上一状态值ht-1的权值矩阵;bi为偏置项;
其中
当前时刻的神经元状态值ct由前一时刻的神经元状态值ct-1、遗忘门的输出值ft和输入门的it和
最后为输出门,输出门输出值ot的计算式如下所示:
ot=sigmoid(wo·xt+uo·ht-1+bo)(6)
其中wo为输出门对输入向量xt的权值矩阵,uo为神经元上一状态值ht-1的权值矩阵;bo为偏置项;
将输出门的输出值ot与当前神经元状态值ct通过tanh函数转化得到的值进行相乘,得到当前神经元的输出值ht,即:
ht=ot·tanh(ct)(7)
s6、初始化lstm神经网络;
s7、计算预测日负荷特征向量vf;
s8、计算预测日负荷特征向量vf与聚类结果c中的类中心的欧式距离:
s9、计算预测日的负荷相似类别f;
s10、合并预测日相似类别负荷数据与原始电力负荷数据;
s11、初始化lstm神经网络;
s12、将s10中得到的组合电力负荷数据作为lstm神经网络的输入训练数据,输出预测日的电力负荷曲线。
进一步地,所述的步骤s7计算预测日负荷特征向量vf,进一步包括:
将预测日前n天的负荷特征数据作为lstm神经网络的输入训练数据,计算输出预测日的8点负荷特征vf1,vf2,...,vf8,组成预测日负荷特征向量vf:
其中vf的各个分量定义如下:
vf1:全天电力负荷最大值;
vf2:全天电力负荷最小值;
vf3:全天电力负荷平均值;
vf4:06:15至12:00的电力负荷平均值;
vf5:12:15至14:00的电力负荷平均值;
vf6:14:15至19:00的电力负荷平均值;
vf7:19:15至23:45的电力负荷平均值;
vf8:00:00至06:00的电力负荷平均值。
进一步地,所述的步骤s9计算预测日的负荷相似类别f,进一步包括:
预测日的相似负荷类别f由与预测日负荷特征向量vf的欧氏距离最小的dbscan聚类后的类中心ci所对应的类别决定,即:
f={i|min(d(vf,ci))}
其中d(vf,ci)为vf与ci的欧氏距离。
进一步地,所述的步骤s10合并预测日相似类别负荷数据与原始电力负荷数据,进一步包括:
将预测日的负荷相似类别的负荷数据,放在原始电力负荷数据之后,拼接在一起,合并为组合电力负荷数据,作为lstm神经网络的输入训练数据。
进一步地,所述的步骤s6初始化lstm神经网络,进一步包括:
将lstm神经网络的所有参数进行随机初始化,随机区间为(0,1)。
进一步地,所述的步骤s11初始化lstm神经网络,进一步包括:
将lstm神经网络的所有参数进行随机初始化,随机区间为(0,1)。
进一步地,在所述的步骤s1之前,进一步包括:获取原始电力负荷数据。
优选的,minpts的取值为4。
优选的,eps的取值为1.25。
优选的,lstm神经网络的输入节点为12,时序步为12,隐藏层节点为16。
与现有技术相比,本发明提供的电力负荷预测方法至少具有下述的有益效果或优点:计算速度快、聚类效果好;较好地满足电网公司对电力负荷预测的需要。
附图说明
以下将结合附图对本发明做进一步详细说明;
图1是本发明的集成电力负荷曲线聚类方法流程图;
图2是本发明的实施案例的负荷预测结果图。
具体实施方式
结合附图说明来说明本发明的具体实施方式,为了证明本发明的优越性,下面将本发明采用某工厂的电力负荷数据进行验证,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
实施例1:
本实施例的电力负荷预测方法的具体实施案例实施步骤如下(如图1所示):
s1、获取电力负荷数据。从某工厂获取电力负荷数据并选取2018年2月1日至2018年7月30日的电力负荷数据作为实验用数据。其中电力负荷数据的格式为从当天0.00开始到当天23.45每隔15分钟对负荷采样一次,一天共96个点电力负荷数据组成当天的电力负荷曲线。
s2、计算s1采集的电力负荷数据r的k-距离集合d:
对于数据集合r={c1,c2,c3,...,cm},计算元素ci到r的子集s={c1,c2,c3,...,ci-1,ci+1,...,cm}中所有元素的距离,距离按照从小到大排序,获得排序后的距离集合d′={d1,d2,d3,...,dk,dk+1,...,dm},dk即为k-距离,对集合r中每一个元素ci都计算k-距离,得到所有点的k-距离集合d={dk1,dk2,...,dkm}。
s3、初始化dbscan算法的领域半径eps和最小密度minpts:
minpts的值由用户指定,其值即为s2中的k-距离的k值;领域半径eps为s2中计算的k-距离曲线d中斜率最大的点所对应的值,若存在多个点均为斜率最大点,则取这些点的平均值作为领域半径eps的值。(本发明专利案例中minpts的值为4,eps的值为1.25)
s4、使用dbscan算法对电力负荷数据r进行聚类:
根据s2和s3所确定的dbscan算法的参数,对r进行聚类,获得聚类结果c。
s5、计算c的类中心ci:
其中,xi,xj均为聚类结果c的第i类簇中的元素;r为第i类簇中包含的元素个数;d(xi,xj)为xi,xj的欧氏距离。
s6、建立lstm神经网络:
首先是遗忘门,通过sigmoid函数将ft转化成0到1之间的值,0表示全部遗忘,1表示全部保留,其计算式如下:
ft=sigmoid(wf·xt+uf·ht-1+bf)(2)
其中,wf表示遗忘门的输入向量的权值矩阵;uf为遗忘门中神经元上一状态值ht-1的权值矩阵;bf为遗忘门的偏置项。
其次为输入门,输入门的计算由it和
it=sigmoid(wi·xt+ui·ht-1+bi)(3)
其中wi为当前输入向量xt的权值矩阵;ui为神经元上一状态值ht-1的权值矩阵;bi为偏置项。
其中
当前时刻的神经元状态值ct由前一时刻的神经元状态值ct-1、遗忘门的输出值ft和输入门的it和
最后为输出门,输出门输出值ot的计算式如下所示:
ot=sigmoid(wo·xt+uo·ht-1+bo)(6)
其中wo为输出门对输入向量xt的权值矩阵,uo为神经元上一状态值ht-1的权值矩阵;bo为偏置项。
将输出门的输出值ot与当前神经元状态值ct通过tanh函数转化得到的值进行相乘,得到当前神经元的输出值ht,即:
ht=ot·tanh(ct)(7)
(本发明专利案例中lstm神经网络的输入节点为12;时序步为12;隐藏层节点为16)
s7、初始化lstm神经网络:
将lstm神经网络的所有参数进行随机初始化,随机区间为(0,1)。
s8、计算预测日负荷特征向量vf:
将预测日前n天的负荷特征数据作为lstm神经网络的输入训练数据,计算输出预测日的8点负荷特征vf1,vf2,...,vf8,组成预测日负荷特征向量vf:
其中vf的各个分量定义如下:
vf1:全天电力负荷最大值;
vf2:全天电力负荷最小值;
vf3:全天电力负荷平均值;
vf4:06:15至12:00的电力负荷平均值;
vf5:12:15至14:00的电力负荷平均值;
vf6:14:15至19:00的电力负荷平均值;
vf7:19:15至23:45的电力负荷平均值;
vf8:00:00至06:00的电力负荷平均值;
s9、计算预测日负荷特征向量vf与聚类结果c中的类中心的欧式距离:
s10、计算预测日的负荷相似类别f:
预测日的相似负荷类别f由与预测日负荷特征向量vf的欧氏距离最小的dbscan聚类后的类中心ci所对应的类别决定,即:
f={i|min(d(vf,ci))}(10)
其中d(vf,ci)为vf与ci的欧氏距离。
s11、合并预测日相似类别负荷数据与原始电力负荷数据:
将预测日的负荷相似类别的负荷数据,放在原始电力负荷数据之后,拼接在一起,合并为组合电力负荷数据,作为lstm神经网络的输入训练数据。
s12、初始化lstm神经网络:
将lstm神经网络的所有参数进行随机初始化,随机区间为(0,1)。
s13、将s11中得到的组合电力负荷数据作为lstm神经网络的输入训练数据,输出预测日的电力负荷曲线,如图2所示。
s14、结束。
以上所述,仅为本发明专利优选的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。