一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于特征工程和多路深度学习的电力负荷预测方法与流程

2021-11-17 23:41:00 来源:中国专利 TAG:


1.本发明涉及电力负荷领域,具体涉及一种基于特征工程和多路深度学习的电力负荷预测方法。


背景技术:

2.电力负荷预测是电网调控和规划的核心内容之一,分为短期负荷预测(short

term load forecasting,stlf)、中期负荷预测(medium

term load forecasting,mtlf)和长期负荷预测(long

term load forecasting,ltlf),各自的预测范围从几小时到几天、从几周到几个月以及从一年到几年。尽管mtlf和ltlf对电网建设规划和运维管理非常重要,但stlf在电力营销管理、电网运行调度、发电机组组织和能源期货交易等方面发挥着更重要的作用,是快速响应需求、实现成本效益的有利工具。
3.典型的电力负荷预测技术有统计预测法和人工智能(ai)技术两大类。由于能源消耗受天气、季节和社会经济条件影响,表现出典型的非线性特征,统计预测法的精度较低。基于人工智能的预测模型能利用各种机器学习的非线性特性,拟合、分类、识别看不见、理不清的模式,以人工神经网络(ann)为基础的机器学习模型已在模式识别、信息处理和特征挖掘等领域获得了广泛的运用,且还在不断改进。相比于统计预测法,基于人工智能的预测模型利用历史数据对问题或对象“学习”,不仅能处理非线性问题,而且准确性高、鲁棒性好,适应性强,非常适合进行短期负荷预测。
4.虽然基于人工神经网络的深度学习模型在处理非线性学习问题上取得了巨大成功,但当应用于特征丰富的电力负荷预测时,一方面,随着隐含层神经元数量的增加,运算量随之增加。换言之,随着人工神经网络复杂度的增加,会产生巨大的处理时间开销。为了增强预测模型的时效性,必须减少输入特征数量,以降低处理开销,代价是牺牲了预测模型的泛化能力。另一方面,人工神经网络对训练数据中不可见模式进行拟合或学习的能力是选择和使用的主要驱动力,预测模型应容纳尽可能多的输入特征,以提高预测的准确性和鲁棒性。


技术实现要素:

5.有鉴于此,本发明的目的是克服现有技术中的缺陷,提供基于特征工程和多路深度学习的电力负荷预测方法,减少神经网络中隐含层神经元的数量,提高学习效率和预测效果,增强泛化能力强。
6.本发明的基于特征工程和多路深度学习的电力负荷预测方法,包括如下步骤:
7.s1.采集电力负荷数据以及气温数据;
8.s2.设置目标特征,并依据目标特征对电力负荷数据以及气温数据进行处理,生成数据集;
9.s3.基于目标特征对数据集进行切分,得到n个数据子集;
10.s4.将n个数据子集分别作为n个径向基函数网络的输入,对网络进行训练,得到n
个训练后的径向基函数网络;其中,所述n个数据子集与n个径向基函数网络一一对应;
11.s5.采集测试数据;所述测试数据包括电力负荷数据以及气温数据;
12.s6.从n个已训练的径向基函数网络中选取k个径向基函数网络,并将测试数据分别输入到k个径向基函数网络,输出k个电力负荷预测结果,将k个电力负荷预测结果的求和平均值作为最终的电力负荷预测结果。
13.进一步,所述目标特征包括η小时负荷量、ε点时间戳、星期、节假日、气温、φ天负荷平均值以及γ天负荷标准差。
14.进一步,步骤s2中,依据目标特征对电力负荷数据以及气温数据进行处理,生成数据集,具体包括:
15.s21.若η小时负荷量存在数据缺失,则将缺失数据的前后两点数据的加权平均值作为所述缺失数据;
16.s22.对η小时负荷量按照时间先后顺序排列形成负荷量序列e:
[0017][0018]
其中,为第m天的第i个时间戳的负荷量;m为采集的总天数;
[0019]
s23.对ε点时间戳进行独热编码形成时间戳编码向量序列t:
[0020][0021]
其中,为第m天的第i个时间戳的时间戳编码向量,所述
[0022]
s24.对星期进行独热编码形成星期编码向量序列b:
[0023][0024]
其中,为第n个星期周i的星期编码向量,所述
[0025]
s25.对节假日进行独热编码形成节假日编码向量序列u:
[0026]
u={u1,u2};
[0027]
其中,u1,u2分别为是节假日和非节假日的编码向量,所述u1=[0,1]
t
,u2=[1,0]
t

[0028]
s26.对气温数据按照时间顺序排列形成气温序列v:
[0029]
v={v1,v2,

,v
m
,

};
[0030]
其中,v
m
为第m天的气温数据;
[0031]
s27.计算目标天的前φ天负荷量的平均值,形成φ天负荷平均值序列ae:
[0032]
ae=[ae1,ae2,

,ae
m
,

,ae
m
];
[0033]
其中,ae
m
为第m天的前φ天负荷量的平均值,所述
[0034]
s28.计算目标天的前γ天负荷量的标准差,形成γ天负荷标准差序列

e:
[0035]

e=[

e1,

e2,

,

e
m
,

,

e
m
];
[0036]
其中,

e
m
为第m天前γ天负荷量的标准差,所述
[0037]
s29.分别对负荷量序列e、φ天负荷平均值序列ae和γ天负荷标准差序列

e进行归一化处理,得到如下表达式:
[0038][0039]
其中,μ
e

e
分别为负荷量序列e中所有m天数据的均值和方差;μ
ae

ae
分别为φ天负荷平均值序列ae中所有m天数据的均值和方差;μ

e


e
分别为γ天负荷标准差序列

e中所有m天数据的均值和方差;
[0040]
s210.生成如下形式的数据集x:
[0041]
x={x1,x2,

,x
m
,

,x
m
};
[0042]
其中,x
m
为数据集x的第m个数据向量;所述为数据集x的第m个数据向量;所述为数据向量x
m
的第i个数据项,i为数据向量x
m
的维度。
[0043]
进一步,步骤s21中,对于数据起点或数据终点的缺失数据,用所述缺失数据最近的数据作为所述缺失数据。
[0044]
进一步,所述步骤s3,具体包括:
[0045]
s31.统计目标特征,得到目标特征序列(λ1,λ2,


i


l
);其中,λ
i
为第i个目标特征,l为目标特征个数;
[0046]
s32.从目标特征序列中选取特征λ1,计算数据集中所有数据向量关于特征λ1的中位数以中位数作为切分点对数据集进行切分,得到两个数据子集r1,r2;
[0047]
s33.从目标特征序列中选取特征λ2,分别计算两个数据子集r1,r2所有数据向量关于特征λ2的中位数以中位数作为切分点对数据子集r1进行切分,得到两个数据子集r
11
,r
12
,以中位数作为切分点对数据子集r2进行切分,得到两个数据子集r
21
,r
22

[0048]
s34.按照步骤s33类推,依次从目标特征序列中选取特征λ
i
,分别计算上一步若干数据子集所有数据向量关于特征λ
i
的中位数,以数据子集对应的中位数作为所述数据子集的切分点对所述数据子集进行切分,最终切分获得的数据子集的数量为2
l
个。
[0049]
进一步,还包括步骤:
[0050]
s35.从相邻数据子集中选择位于分界面边缘的数据与原数据子集共同构成扩展数据子集
[0051]
s36.按照步骤s35类推,对所有相邻数据子集进行扩展处理,得到扩展数据子集的集合其中,所述n=2
l

[0052]
进一步,步骤s4中,根据如下步骤训练径向基函数网络:
[0053]
s41.确定径向基函数神经元的核函数θ
h
(x):
[0054][0055]
其中,c
h

h
分别为第h个径向基函数神经元的核函数中心和核函数宽度,所述c
h
=[c
h,1
,

,c
h,i
]
t
,||
·
||表示执行欧几里得范数运算;
[0056]
s42.确定径向基函数网络的输出:
[0057][0058]
其中,w
h
为第h个径向基函数神经元的权值,w0为隐含层的偏置;
[0059]
s43.计算径向基函数网络的输出与期望输出之间的误差e
p

[0060][0061]
其中,为第p个训练数据向量的期望输出;为第p个训练数据向量;i为径向基函数网络输入层中输入节点的个数,与数据向量的维度相同;
[0062]
s44.利用训练数据集调整径向基函数神经元的权值、核函数中心以及核函数宽度,使得径向基函数网络的输出与期望输出之间的误差达到阈值范围,并将误差达到阈值范围时设置的权值、核函数中心以及核函数宽度作为径向基函数神经元的设定参数,完成径向基函数网络的训练。
[0063]
进一步,步骤s44中,根据如下步骤调整径向基函数神经元的权值、核函数中心以及核函数宽度:
[0064]
s441.将径向基函数网络中h个径向基函数神经元的权值向量w=[w0,w1,

,w
h
]、核函数中心c=[c1,

,c
h
,

,c
h
]和核函数宽度σ=[σ1,


h
,


h
]构成行向量j
p

[0065][0066]
其中,h=1,2,

,h;i=1,2,

,i,
[0067][0068]
s442.确定h个径向基函数神经元的权值向量w、核函数中心c和核函数宽度σ的调整规则:
[0069]
δ
p 1
=δ
p

(q
p
μ
p
i)
‑1g
p

[0070]
其中,μ
p
为组合系数;
[0071]
进一步,根据如下公式从n个径向基函数网络中选取k个径向基函数网络:
[0072][0073]
其中,δ
k
为k个径向基函数网络的集合;s
n
为第n个数据子集;s为数据子集的集合;x
k
为第k个数据向量;为测试数据向量;x
p
为训练数据向量;为与x
p
之间最小的欧氏距离。
[0074]
本发明的有益效果是:本发明公开的一种基于特征工程和多路深度学习的电力负荷预测方法,通过利用用电信息采集系统采集的负荷数据序列和当地气象官网发布的气温数据序列构成原始数据集,并选择半小时负荷量、48点时间戳、星期、节假日、气温、7天负荷平均值和7天负荷标准差作为目标特征。在预测模型的训练阶段,首先采用k

d树算法将训练数据集切分为特征密度近似相同的n个数据子集,然后利用这n个数据子集独立并行训练n个rbfn,最后得到训练好的多路深度预测模型。在预测模型的预测阶段,首先由rbfn选择器采用k最近邻(knn)算法选出k个执行预测的rbfn,然后利用这k个rbfn独立并行处理数据,得到k个预测输出结果,最后由输出组合器对这k个预测输出结果进行求和平均得到最终预测结果。
附图说明
[0075]
下面结合附图和实施例对本发明作进一步描述:
[0076]
图1为本发明的基于特征工程和多路深度学习的负荷预测模型示意图。
具体实施方式
[0077]
以下结合说明书附图对本发明做出进一步的说明,如图所示:
[0078]
本发明的基于特征工程和多路深度学习的电力负荷预测方法,包括如下步骤:
[0079]
s1.采集电力负荷数据以及气温数据;其中,从用电信息采集系统提取来自智能电表计量的电力负荷数据,并从当地气象官网获取气温数据;
[0080]
s2.设置目标特征,并依据目标特征对电力负荷数据以及气温数据进行处理,生成
数据集;
[0081]
s3.对数据集进行切分处理,得到n个数据子集;其中,所述数据集为训练数据集;
[0082]
s4.将n个数据子集分别作为n个径向基函数网络的输入,对网络进行训练,得到n个训练后的径向基函数网络;其中,所述n个数据子集与n个径向基函数网络一一对应;
[0083]
s5.采集测试数据;所述测试数据包括电力负荷数据以及气温数据;
[0084]
s6.从n个径向基函数网络中选取k个径向基函数网络,并将测试数据分别输入到k个径向基函数网络,输出k个电力负荷预测结果,将k个电力负荷预测结果的求和平均值作为最终的电力负荷预测结果;其中,k≤n。
[0085]
本实施例中,所述目标特征包括η小时负荷量、ε点时间戳、星期、节假日、气温、φ天负荷平均值以及γ天负荷标准差。其中,η取值为0.5,ε取值为48,φ取值为7,γ取值为7;通过设定48点时间戳可以获取以天为单位以半小时为采样时间间隔的负荷数据序列。
[0086]
本实施例中,步骤s2中,依据目标特征对电力负荷数据以及气温数据进行处理,得到数据集,具体包括:
[0087]
s21.若η小时负荷量存在数据缺失,则将缺失数据的前后两点数据的加权平均值作为所述缺失数据;也即是采用平滑处理法处理缺失数据:
[0088][0089]
其中,smooth(
·
)为平滑函数,若第m天第i个数据缺失,则用其前后2天数据点的几何平均填补该数据点。
[0090]
s22.对η小时负荷量按照时间先后顺序排列形成负荷量序列e:
[0091][0092]
其中,为第m天的第i个时间戳的负荷量;m为采集的总天数;
[0093]
s23.对ε点时间戳进行独热编码形成时间戳编码向量序列t:
[0094][0095]
其中,为第m天的第i个时间戳的时间戳编码向量,所述
[0096]
s24.对星期进行独热编码形成星期编码向量序列b:
[0097][0098]
其中,为第n个星期周i的编码向量,所述
[0099]
s25.对节假日进行独热编码形成节假日编码向量序列u:
[0100]
u={u1,u2};
[0101]
其中,u1,u2分别为是节假日和非节假日的编码向量,所述u1=[0,1]
t
,u2=[1,0]
t

[0102]
s26.对气温数据按照时间顺序排列形成气温序列v:
[0103]
v={v1,v2,

,v
m
,

};
[0104]
其中,v
m
为第m天的气温数据;
[0105]
s27.计算目标天的前7天负荷量的平均值,形成7天负荷平均值序列ae:
[0106]
ae=[ae1,ae2,

,ae
m
,

,ae
m
];
[0107]
其中,ae
m
为第m天的前7天负荷量的平均值,所述
[0108]
s28.计算目标天的前7天负荷量的标准差,形成7天负荷标准差序列

e:
[0109]

e=[

e1,

e2,

,

e
m
,

,

e
m
];
[0110]
其中,

e
m
为第m天前7天负荷量的标准差,所述
[0111]
s29.分别对负荷量序列e、7天负荷平均值序列ae和7天负荷标准差序列

e进行数据归一化处理,得到如下式子:
[0112][0113][0114][0115]
其中,μ
e

e
分别为负荷量序列e中所有m天数据的均值和方差;μ
ae

ae
分别为7天负荷平均值序列ae中所有m天数据的均值和方差;μ

e


e
分别为7天负荷标准差序列

e中所有m天数据的均值和方差;
[0116]
s210.根据如下公式确定数据集x:
[0117]
x={x1,x2,

,x
m
,

,x
m
};
[0118]
其中,x
m
为数据集x的第m个数据向量;所述为数据集x的第m个数据向量;所述为数据向量x
m
的第i个数据项,i为数据向量的维度。
[0119]
本实施例中,步骤s21中,对于数据起点或数据终点的缺失数据,将与所述缺失数据最近的数据作为所述缺失数据。其中,由于无法填补位于数据集起点或终点的缺失数据,则采用最近数据点作为缺失数据点,即终点数据和起点数据m为数据集大小。
[0120]
本实施例中,增加rbf神经元数量或隐含层层数虽然可以改善分离曲面的平滑度,提升rbfn的性能,但随着rbf神经元数量的增加,计算核函数耗时且占用内存资源。而k

d树算法不仅可以将大的训练数据集切分为多个小的数据子集,还可以避免出现零数据子集,保证每个数据子集的特征密度基本一致。k

d树算法利用每个目标特征的中位数将训练数据集切分为两个特征密度近似相等的数据子集。其中,训练数据集的特征密度是指在训练数据集中某类样本数量与所有样本数量之比;rbf(radial basis function)为径向基函数,rbfn(radial basis function network)为径向基函数网络。
[0121]
所述步骤s3,具体包括:
[0122]
s31.统计目标特征,得到目标特征序列(λ1,λ2,


i


l
);其中,λ
i
为第i个目标特征,l为目标特征的个数;所述目标特征共有7个,则l=7;
[0123]
s32.从目标特征序列中选取特征λ1,计算数据集中所有数据向量关于特征λ1的中位数以中位数作为切分点对数据集进行切分,得到两个数据子集r1,r2;
[0124]
s33.从目标特征序列中选取特征λ2,分别计算两个数据子集r1,r2所有数据向量关于特征λ2的中位数以中位数作为切分点对数据子集r1进行切分,得到两个数据子集r
11
,r
12
,以中位数作为切分点对数据子集r2进行切分,得到两个数据子集r
21
,r
22

[0125]
s34.按照步骤s33类推,依次从目标特征序列中选取特征λ
i
,分别计算上一步若干数据子集所有数据向量关于特征λ
i
的中位数,以数据子集对应的中位数作为所述数据子集的切分点对所述数据子集进行切分,最终切分获得的数据子集的数量为2
l
个。其中,针对每个特征的切分操作都会成倍增加数据子集数量,对具有ξ=7个特征的训练数据集,切分获得的数据子集数量为n=27=128,每个数据子集都是以中位数为分界面,其特征密度近似相等。
[0126]
本实施例中,还包括步骤:
[0127]
s35.从相邻数据子集中选择位于分界面边缘的数据与原数据子集共同构成扩展数据子集通过生成扩展数据子集,增加数据子集的规模,提升rbfn的泛化能力;
[0128]
s36.按照步骤s35类推,对所有相邻数据子集进行扩展处理,得到扩展数据子集的集合其中,所述n=2
l
。其中,利用n个扩展数据子集并行独立训练n个rbfn,最后得到训练好的多路深度预测模型。
[0129]
本实施例中,径向基函数网络(rbfn)模型结构由输入层、隐含层和输出层三层构成。其中,输入层有i个输入节点,记为x=[x1,

,x
i
]
t
,隐含层有h个rbf神经元,记为θ=[θ1,


h
],输出层有1个输出单元y。
[0130]
步骤s4中,根据如下步骤对径向基函数网络进行训练:
[0131]
s41.径向基函数神经元h=1,

,h均采用核函数θ
h
(x):
[0132][0133]
其中,c
h

h
分别为第h个径向基函数神经元的核函数中心和核函数宽度,所述c
h
=[c
h,1
,

,c
h,i
]
t
,||
·
||表示执行欧几里得范数运算;
[0134]
s42.确定径向基函数网络的输出:
[0135][0136]
其中,w
h
为第h个径向基函数神经元的权值,w0为隐含层的偏置;上述式子表明,输出方程是一个线性函数,该函数将隐含层的所有输出加权求和作为rbfn的输出。
[0137]
s43.rbfn利用训练数据集进行离线训练,p为训练数据集中训练数据向量的数量,则计算径向基函数网络的输出与期望输出之间的误差e
p

[0138][0139]
其中,为第p个训练数据向量的期望输出;为第p个训练数据向
量;i为径向基函数网络输入层中输入节点的个数;
[0140]
s44.利用训练数据集调整径向基函数神经元的权值、核函数中心以及核函数宽度,使得径向基函数网络的输出与期望输出之间的误差达到阈值范围,并将误差达到阈值范围时设置的权值、核函数中心以及核函数宽度作为径向基函数神经元的设定参数。其中,所述阈值范围可根据实际工况进行设置。
[0141]
本实施例中,步骤s44中,在离线训练阶段,采用改进的lm算法调整径向基函数神经元的权值、核函数中心以及核函数宽度:
[0142]
s441.将径向基函数网络中h个径向基函数神经元的权值向量w=[w0,w1,

,w
h
]、核函数中心c=[c1,

,c
h
,

,c
h
]和核函数宽度σ=[σ1,


h
,


h
]构成jacobian行向量j
p

[0143][0144]
其中,h=1,2,

,h;i=1,2,

,i,
[0145][0146]
s442.确定h个径向基函数神经元的权值向量w、核函数中心c和核函数宽度σ的调整规则:
[0147]
δ
p 1
=δ
p

(q
p
μ
p
i)
‑1g
p

[0148]
其中,μ
p
为组合系数,所述μ
p
=0.01;
[0149]
利用训练数据集通过上述离线训练即可获得隐含层rbf神经元的参数{w,c,σ}。
[0150]
本实施例中,步骤s6中,利用训练好的径向基函数网络执行短期负荷预测:
[0151]
当测试数据向量到达时,rbfn选择器采用knn算法计算测试数据向量与训练数据集各个数据向量x=[x1,

x
p
,

,x
p
]之间的欧氏距离,从训练
数据集中选择k个最小欧氏距离的最近数据点,这些最近点分别属于k个数据子集。最小欧氏距离的计算如下:
[0152][0153]
其中,d
k
={d1,d2,

,d
k
},d
k
是测试数据向量与训练数据集x=[x1,

x
p
,

,x
p
]之间的第k个最小欧氏距离,分别是的第i个数据点。
[0154]
通过基于k个最近点选择归属的k个数据子集对应的rbfn,其余n

k个rbfn不用,也就是根据如下公式从n个径向基函数网络中选取k个径向基函数网络:
[0155][0156]
其中,δ
k
为k个径向基函数网络的集合;s
n
为第n个数据子集;s为数据子集的集合;x
k
为第k个数据向量;为待测数据向量;x
p
为网络训练过的数据向量;为与x
p
之间最小的欧氏距离。
[0157]
将测试数据向量作为选择的k个rbfn的输入,由各个rbfn独立并行处理,产生k个输出第k个rbfn的输出结果为
[0158][0159]
其中,δ
k
为由第k个数据子集训练的rbfn。
[0160]
最后输出组合器对所有k个输出结果求和平均获得最终预测结果最后输出组合器对所有k个输出结果求和平均获得最终预测结果
[0161]
为了能更好地理解本发明,下面对本发明进行举例验证:
[0162]
利用2015年至2019年某地区用电信息采集系统采集的负荷数据序列和当地气象官网发布的气温数据序列构成原始数据集,选择半小时负荷量、48点时间戳、星期、节假日、气温、7天负荷平均值和7天负荷标准差等7个参数作为数据集特征。分别针对各类数据集特征,对原始数据集的数据进行补缺、归一化和编码处理后形成训练和测试数据集,其中,数据集的80%用于训练,20%用于测试。
[0163]
采用平均绝对百分比误差(mean absolute percent error,mape)作为多路深度预测模型的评价指标,定义为:
[0164][0165]
其中,分别表示第i个测试数据向量的实际输出和预测输出,n为用于统计预测结果的数量。
[0166]
数据集中数据向量维度分析:就数据向量而言,的维度分别为1和48,一天有48个数据点,i=1,

,48,共计25
×
48=1200;(b
n
)
t
的维度为7,
的维度为2,的维度均为1,数据向量的维度为1212,意味着rbfn输入层的输入节点i=1212。
[0167]
如前所述,增加rbf神经元数量虽然可以改善分离曲面的平滑度,提升rbfn的性能,但随着rbf神经元数量的增加,计算核函数耗时增加且占用内存资源。为此,rbf神经元设置应折中考虑。本实施例设置h=50。
[0168]
选择半小时负荷量、48点时间戳、星期、节假日、气温、7天负荷平均值和7天负荷标准差作为目标特征,l=7,n=27=128,意味着k

d树算法将训练数据集切分为128个数据子集,多路深度预测模型的rbfn数量也是128个。
[0169]
表1为采用本发明的电力负荷预测方法对两年负荷预测的mape,由此可知,只要合理划分数据子集,都能获得优异的mape性能。
[0170]
表1
[0171][0172]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献