机器负荷预测方法、装置、电子设备及可读存储介质与流程

专利检索2022-05-10  3



1.本技术涉及计算机技术领域,具体而言,涉及一种机器负荷预测方法、装置、电子设备及可读存储介质。


背景技术:

2.随着用电结构的升级及新能源如水电、风电、核电等的规模化并网,电网逐渐实施了更为精细化的调度,新能源因天气、地域等原因扰动较大,对火电机组的统筹调控也逐步加强。
3.火电机组中各个设备(如发电机、锅炉)负荷的预测,不仅有利于电厂的内部调度和经济化运行,更为烟气治理(如脱硝、除尘、脱硫等)提供了强有力的参考。
4.目前针对火电机组中各个设备负荷的预测方式,主要是由工作人员,基于历史的负荷数据,并结合自身经验,对各个设备的负荷进行预测。这种方式依赖于人为主观经验,准确度不高。


技术实现要素:

5.本技术实施例的目的在于提供一种机器负荷预测方法、装置、电子设备及可读存储介质,用以改善现有技术中依赖人为经验进行负荷预测,使得准确性不高的问题。
6.第一方面,本技术实施例提供了一种机器负荷预测方法,所述方法包括:
7.获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列,所述相似负荷序列包括所述机器在所述目标预测时段前一天同时段的第一负荷序列、所述机器在所述目标预测时段前一周同一天同时段的第二负荷序列、从所述机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列这三者中的至少一种;
8.将所述相似负荷序列以及所述第四负荷序列输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
9.在上述实现过程中,通过获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列,该相似负荷序列在时间上、数值上和分布趋势上,与待预测序列(目标预测时段对应的负荷序列)存在较大的相似性,能够体现负荷变化的规律性和周期性,所以将该相似负荷序列以及第四负荷序列输入到对应的机器学习模型中进行预测,使得模型能够自适应学习、提取出负荷变化的相似性规律,进而预测得到更准确的负荷序列。
10.可选地,所述方法还包括:
11.获取其他外部环境特征;
12.所述将所述相似负荷序列以及所述第四负荷序列输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列,包括:
13.将所述相似负荷序列、所述第四负荷序列以及所述其他外部环境特征输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
14.在上述实现过程中,通过结合其他外部环境特征进行负荷预测,充分考虑到对预测结果有影响的外部因素,从而能够让模型提取到更多对预测有用的信息,预测更准确。
15.可选地,通过以下方式从所述机器的历史负荷序列中确定相似度大于设定值的第三负荷序列:
16.获取根据所述历史负荷序列构建的相似搜索空间,所述相似搜索空间包括多个样本数据,每个样本数据包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;
17.获取所述目标预测时段之前的第五负荷序列;
18.将所述第五负荷序列与所述相似搜索空间中每个样本数据中的历史时段的负荷序列进行相似度匹配,获得相似度大于设定值的目标样本数据中的预测时段的负荷序列;
19.其中,所述目标样本数据中的预测时段的负荷序列为所述第三负荷序列。
20.在上述实现过程中,通过从相似搜索空间中获取相似度大于设定值的负荷序列,能够获得变化趋势更相似的负荷序列,使得输入模型的数据能够融入更多的负荷变化的相似性规律,以提高模型的预测准确性。
21.可选地,通过以下方式获取所述历史负荷序列:
22.获取初始历史负荷序列;
23.判断所述初始历史负荷序列是否在时间上是连续的;
24.若不是连续的,则获取缺失部分的时间长度,并判断所述时间长度是否大于设定阈值;
25.若大于所述设定阈值,则对所述初始历史负荷序列进行分块,获得多个负荷序列块;
26.对每个负荷序列块进行插值处理,获得在时间上连续的负荷序列块,所述历史负荷序列包括多个在时间上连续的负荷序列块。
27.在上述实现过程中,通过对不连续的负荷序列进行分块后插值处理,可确保获得的数据在时间上是连续的,便于后续构建相似搜索空间的样本数据。
28.可选地,若所述目标样本数据为多个,还包括:
29.将多个所述目标样本数据中的预测时段的负荷序列进行加权求和,获得最终负荷序列;
30.其中,所述最终负荷序列为所述第三负荷序列。
31.在上述实现过程中,将负荷序列进行加权求和后输入模型中,这样可以降低模型的输入数据的维度,减少模型处理数据的复杂度,提高处理效率。
32.可选地,通过以下方式对所述机器学习模型进行训练:
33.获取训练样本,所述训练样本包括机器在各个时刻对应的相似负荷序列样本以及各个时刻之前的第四负荷序列样本,所述相似负荷序列样本包括机器在各个时刻前一天同时段的第一负荷序列样本、机器在各个时刻前一周同一天同时段的第二负荷序列样本、从机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列样本这三者中的至少一种;所述训练样本的标签数据包括各个时刻之后的预测时段的目标负荷序列;
34.将所述训练样本输入初始机器学习模型中,获得所述初始机器学习模型的输出;
35.根据所述输出和所述标签数据计算获得损失值;
36.根据所述损失值对所述初始机器学习模型的网络参数进行更新,在达到训练结束条件时,获得训练好的机器学习模型;
37.其中,针对不同的训练样本获得对应的机器学习模型。
38.在上述实现过程中,通过采用三种相似负荷序列样本以及第四负荷序列样本对机器学习模型进行训练,从而使得模型能够更好地学习到负荷序列的变化趋势,提高预测精度。
39.可选地,所述通过以下方式获得所述训练样本的标签数据:
40.获取历史负荷序列样本;
41.提取所述历史负荷序列样本中的多个序列样本,每个序列样本包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;
42.计算获得表征每个序列样本中的预测时段的负荷序列的变化程度的数值,其中,所述数值越大表征变化程度越大;
43.筛选出所述数值大于预设值的目标序列样本,其中,所述目标序列样本中的预测时段的负荷序列为所述训练样本的标签数据。
44.在上述实现过程中,根据变化程度对序列样本进行筛选,这样可以筛选出变化程度较大的序列样本作为标签数据,从而使得模型能够更多地学习到变成程度较大的负荷序列的变化趋势,进而提高对变化程度大的负荷序列的预测精度。
45.第二方面,本技术实施例提供了一种机器负荷预测装置,所述装置包括:
46.负荷序列获取模块,用于获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列,所述相似负荷序列包括所述机器在所述目标预测时段前一天同时段的第一负荷序列、所述机器在所述目标预测时段前一周同一天同时段的第二负荷序列、从所述机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列这三者中的至少一种;
47.负荷序列预测模块,用于将所述相似负荷序列以及所述第四负荷序列输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
48.可选地,所述装置还包括:
49.外部环境特征获取模块,用于获取其他外部环境特征;
50.所述负荷序列预测模块,用于将所述相似负荷序列、所述第四负荷序列以及所述其他外部环境特征输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
51.可选地,通过以下方式从所述机器的历史负荷序列中确定相似度大于设定值的第三负荷序列:
52.获取根据所述历史负荷序列构建的相似搜索空间,所述相似搜索空间包括多个样本数据,每个样本数据包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;
53.获取所述目标预测时段之前的第五负荷序列;
54.将所述第五负荷序列与所述相似搜索空间中每个样本数据中的历史时段的负荷序列进行相似度匹配,获得相似度大于设定值的目标样本数据中的预测时段的负荷序列;
55.其中,所述目标样本数据中的预测时段的负荷序列为所述第三负荷序列。
56.可选地,通过以下方式获取所述历史负荷序列:
57.获取初始历史负荷序列;
58.判断所述初始历史负荷序列是否在时间上是连续的;
59.若不是连续的,则获取缺失部分的时间长度,并判断所述时间长度是否大于设定阈值;
60.若大于所述设定阈值,则对所述初始历史负荷序列进行分块,获得多个负荷序列块;
61.对每个负荷序列块进行插值处理,获得在时间上连续的负荷序列块,所述历史负荷序列包括多个在时间上连续的负荷序列块。
62.可选地,若所述目标样本数据为多个,所述装置还包括:
63.负荷加权模块,用于将多个所述目标样本数据中的预测时段的负荷序列进行加权求和,获得最终负荷序列;其中,所述最终负荷序列为所述第三负荷序列。
64.可选地,所述装置还包括:
65.训练模块,用于:
66.获取训练样本,所述训练样本包括机器在各个时刻对应的相似负荷序列样本以及各个时刻之前的第四负荷序列样本,所述相似负荷序列样本包括机器在各个时刻前一天同时段的第一负荷序列样本、机器在各个时刻前一周同一天同时段的第二负荷序列样本、从机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列样本这三者中的至少一种;所述训练样本的标签数据包括各个时刻之后的预测时段的目标负荷序列;
67.将所述训练样本输入初始机器学习模型中,获得所述初始机器学习模型的输出;
68.根据所述输出和所述标签数据计算获得损失值;
69.根据所述损失值对所述初始机器学习模型的网络参数进行更新,在达到训练结束条件时,获得训练好的机器学习模型;
70.其中,针对不同的训练样本获得对应的机器学习模型。
71.可选地,所述通过以下方式获得所述训练样本的标签数据:
72.获取历史负荷序列样本;
73.提取所述历史负荷序列样本中的多个序列样本,每个序列样本包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;
74.计算获得表征每个序列样本中的预测时段的负荷序列的变化程度的数值,其中,所述数值越大表征变化程度越大;
75.筛选出所述数值大于预设值的目标序列样本,其中,所述目标序列样本中的预测时段的负荷序列为所述训练样本的标签数据。
76.第三方面,本技术实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
77.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
78.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说
明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
79.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
80.图1为本技术实施例提供的一种机器负荷预测方法的流程图;
81.图2为本技术实施例提供的一种机器学习模型的训练过程示意图;
82.图3为本技术实施例提供的一种机器学习模型的结构示意图;
83.图4为本技术实施例提供的一种模型的训练和预测的过程示意图;
84.图5为本技术实施例提供的一种机器负荷预测装置的结构框图;
85.图6为本技术实施例提供的一种用于执行机器负荷预测方法的电子设备的结构示意图。
具体实施方式
86.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述。
87.本技术提供一种机器负荷预测方法,该方法通过获取机器在目标预测时段对应的相似负荷序列以及目标预测时段之前的第四负荷序列,该相似负荷序列在时间上、数值上和分布趋势上,与待预测序列(目标预测时段对应的负荷序列)存在较大的相似性,能够体现负荷变化的规律性和周期性,所以将该相似负荷序列以及第四负荷序列输入到对应的机器学习模型中进行预测,使得模型能够自适应学习、提取出负荷变化的相似性规律,进而预测得到更准确的负荷序列。
88.请参照图1,图1为本技术实施例提供的一种机器负荷预测方法的流程图,该方法包括如下步骤:
89.步骤s110:获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列。
90.其中,机器可以为电力系统中的发动机、发电机、电器或锅炉等设备,负荷是指这些设备在工作时所产生、消耗的功率,本技术实施例中所述的负荷序列包括有多个负荷,其可以是按照时间顺序对负荷所排序而构成的时间上的负荷序列,例如,每秒对应一个负荷,那么一分钟的负荷序列则包括60个负荷。
91.其中,相似负荷序列包括机器在目标预测时段前一天同时段的第一负荷序列、机器在目标预测时段前一周同一天同时段的第二负荷序列、从机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列中的至少一种。
92.举例来说,若目标预测时段为当前时刻之后的30分钟,如当前时刻为2021年7月21日下午3:00,则目标预测时段为3:01

3:30这一时段,那么第一负荷序列则可以是2021年7月20日下午3:01

3:30这一时段内机器所产生的负荷组成的负荷序列;第二负荷序列则可以是2021年7月14日下午3:01

3:30这一时段内机器所产生的负荷所组成的负荷序列;而第
三负荷序列是从历史负荷序列中确定出的,如历史负荷序列包括该机器最近两年内的负荷,则从这些负荷中找出相似度大于设定值的负荷作为第三负荷序列。
93.另外,上述在获得第一负荷序列和第二负荷序列时,为了避免相同时刻的负荷在不同日期中所产生的偏移而导致负荷序列不同的情况,如某天中锅炉负荷在早上8:00时最大,而另一天中锅炉负荷在早上9:00时最大,所以,在获取第一负荷序列和第二负荷序列时,可以截取目标预测时段前一天同时段前后各30分钟的负荷作为第一负荷序列,截取目标预测时段前一周同一天同时段前后各30分钟的负荷作为第二负荷序列。例如,目标预测时段为2021年7月21日下午3:01

3:30,则截取2021年7月21日下午2:30

4:00的负荷序列作为第一负荷序列,截取2021年7月14日下午2:30

4:00的负荷序列作为第二负荷序列。
94.在一些实施方式中,上述获得的第一负荷序列和第二负荷序列的维度较大,为了降低特征维度,减少噪声对机器学习模型的影响,可以对第一负荷序列和第二负荷序列进行特征降采样后再输入机器学习模型。
95.举例来说,第一负荷序列包括90个负荷数据,在进行采样时,可按照目标预测时段的各个时刻来进行采样,如在目标预测时段3:01

3:30的第一个时刻3:01时,将前面30个负荷数据按照15分钟进行降采样,获得2个负荷数据,然后将该时刻后面的30个负荷数据按照15分钟进行降采样,获得2个负荷数据,然后与该时刻3:01的负荷数据进行合并,则针对第一个时刻获得5个负荷数据,继续进行第二个时刻3:02的采样,即将该时刻前面和后面的30个负荷数据按照15分钟进行降采样,继续按照该方式进行处理,直至采样到第30个时刻3:30,这样可获得5*30维度的负荷序列,这个负荷序列可作为处理后的第一负荷序列输入到模型中。对于第二负荷序列的方式也如此,最终也可获得5*30维度的负荷序列输入到模型中。
96.另外,目标预测时段之前的第四负荷序列对目标预测时段的负荷序列的预测也有一定的影响,所以还需要获取目标预测时段之前的第四负荷序列。例如,若当前时刻为2021年7月21日下午4:00,目标预测时段为4:01

4:30,则目标预测时段之前的第四负荷序列可以是指2021年7月21日下午3:30

4:00这一时段内的负荷序列(即当前时刻之前的30分钟内的负荷序列)。其中,当前时刻之前的时段可以根据实际需求灵活设定。
97.步骤s120:将所述相似负荷序列以及所述第四负荷序列输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
98.上述获得的相似负荷序列是与目标预测时段的负荷序列可能存在关联的,所以期望通过机器学习模型自适应提取对应信息,进而提升待预测负荷序列的预测精度。换言之,获取的第一负荷序列、第二负荷序列和第三负荷序列、第四负荷序列能够体现负荷变化的规律性和周期性,这样使得机器学习模型能够有效提取出负荷变化的相似性规律,能够更加关注负荷的变化趋势,自适应地获取让预测误差更低的信息,进而提高预测准确性。
99.在实际应用中,获得的目标预测时段对应的负荷序列可用于对机器进行相应的调控,如对于锅炉来说,可以根据目标预测时段对应的负荷序列灵活对煤炭的用量进行调控,例如,负荷越高,则烧的煤就越多,则可以预先对煤的用量进行管控,又如,负荷越高产生的废气可能就越多,则还可以提前规划采取相应的措施进行处理。或者对于发电机来说,可以根据目标预测时段对应的负荷序列对发电机进行发电管控等。
100.在上述实现过程中,通过获取机器在目标预测时段对应的相似负荷序列以及第四
负荷序列,该相似负荷序列在时间上、数值上和分布趋势上,与待预测序列(目标预测时段对应的负荷序列)存在较大的相似性,能够体现负荷变化的规律性和周期性,所以将该相似负荷序列以及第四负荷序列输入到对应的机器学习模型中进行预测,使得模型能够自适应学习、提取出负荷变化的相似性规律,进而预测得到更准确的负荷序列。
101.在上述实施例的基础上,由于机器(如发电机、锅炉等)负荷容易受到季节、天气、供暖等多种外部因素影响,例如,锅炉燃烧所产生的蒸汽除了用以发电外,所剩余的乏气还将用于其他用途,如北方冬季的市政供暖等,气温较低时,还会将部分的锅炉主蒸汽直接用以市政供暖,因此锅炉负荷有着明显的季节相关性。同时,除了火电外,北方的风电、南方的水电,均与季节和天气有着强相关性,这类新能源发电功率的变化也会显著影响电网对火电需求的调控。所以,对于目标预测时段的负荷序列的预测还与外部因素有一定的关联性,为了使得预测更准确,还可以获取其他外部环境特征,然后将相似负荷序列、第四负荷序列以及其他外部环境特征输入对应的机器学习模型中,通过机器学习模型预测获得目标预测时段对应的负荷序列。
102.其中,目标预测时段可以为当前时刻之后的时段,即目标预测时段是指相对当前时刻未来的某一时段;当前时刻可以描述为在预测时的时刻(例如,预测时的时刻为2021年7月21日下午3:00,则目标预测时段可以为3:01

3:30);也可以描述为目标预测时段的开始时间之前的一个时刻(比如负荷序列是按照分钟级输出的,此处即为一分钟),如目标预测时段为2021年7月21日下午4:01

4:30,则当前时刻为2021年7月21日下午4:00,也就是说当前时刻可以是指已经发生的时刻,目标预测时段相对当前时刻而言,是指当前时刻之后的未来时段。
103.另外,其他外部环境特征可以包括历史气象观测值(包括降水、温度、湿度、风速、风向等)、气象预报值、对应时刻的年月日等数据,其他外部环境特征可以是指相似负荷序列中各个负荷所产生的时刻对应的环境特征,如相似负荷序列包含有多个负荷,每个负荷为机器在一个时刻所产生的,每个时刻可对应有其他外部环境特征。通过结合其他对预测结果有影响的外部环境特征进行负荷预测,模型可以自适应提取到更多对预测有用的信息,预测更准确。
104.在上述实施例的基础上,可以通过以下方式获取第三负荷序列:获取根据历史负荷序列构建的相似搜索空间,该相似搜索空间包括多个样本数据,每个样本数据包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;获取所述目标预测时段之前的第五负荷序列;然后将上述的第五负荷序列与每个样本数据中的历史时段的负荷序列进行相似度匹配,获得相似度大于设定值的目标样本数据,其中,目标样本数据中的预测时段的负荷序列为第三负荷序列。
105.下面先对相似搜索空间的构建过程进行介绍。
106.相似搜索空间可以是利用一段时间长度为t(比如过去两年)的负荷数据进行构建的。为了便于搜索,相似搜索空间可以是一个包含(x,y,list_date,list_minute)的元组,分别为两个二维数组和两个一维数组。x代表一个时刻之前的历史时段的负荷序列,如一个时刻之前720分钟(该时段可以根据需求设置)的负荷序列,y代表该时刻之后的预测时段的负荷序列,如该时刻之后的30分钟(该时段可以根据需求设置)的负荷序列。list_date表示每个样本数据对应的时刻所在当天零点的时间戳,list_minute表示每个样本数据对应的
时刻与list_date对应时间戳的差值,也就是说,该list_date和list_minute的组合可表示该样本数据对应的时间戳。
107.历史负荷序列是按照时间顺序排序的负荷数据,如过去两年的负荷数据,在构建上述所示的元组时,以时刻进行滑动,如将“时刻”滑动到第720分钟(这里的时段可以根据实际需求灵活设置,这里仅作举例说明)处,将该时刻之前并包含该时刻的负荷序列作为x,将该时刻之后30分钟(这里的时段可以根据实际需求灵活设置,这里仅作举例说明)的负荷序列作为y,并获取该时刻对应的时间戳list_date和list_minute(例如,若该时刻是2019年3月18日的下午3:00,则对应的list_date即为2019年3月18日的00:00,list_minute即为该时刻与list_date的差值,如为900分钟),将获得的(x,y)作为第一个元组数据进行存储。继续将“时刻”滑动到第721分钟处,将该时刻之前并包含该时刻的720分钟内的负荷序列作为x,将该时刻之后30分钟的负荷序列作为y,并获取该时刻对应的时间戳list_date和list_minute,作为第二个元组数据进行存储,继续按照该方式重复上述过程即可获得多个这样的元组数据,将这些元组数据合并,即为上述的相似搜索空间中的样本数据。
108.在进行相似度匹配时,第五负荷序列可以是指当前时刻之前的720分钟内的负荷数据,即第五负荷序列与样本数据中的历史时段的负荷序列的长度可以相同,如目标预测时段为2021年7月21日下午3:00,则第五负荷序列可以为2021年7月21日下午3:00之前的720分钟内的负荷数据,然后将这第五负荷序列与上述相似搜索空间中的各个x进行相似度计算,相似度计算可以采用皮尔逊相关性、欧式距离、余弦相似度等方法进行计算,获得的值即可表征两个负荷序列之间的相似度。
109.获得相似度后,筛选出相似度大于设定值(设定值的具体数值可以根据实际需求灵活设置)的目标样本数据中的历史时段的负荷序列(即x),或者也可以选择相似度最高的n个x,这些筛选出的x则表示与第五负荷序列的相似度较大的负荷序列,然后将这些筛选出的x所在的目标样本数据中的y作为第三负荷序列,因为y对于每个样本数据来说,其是作为预测时段的负荷序列,所以,将y输入到机器学习模型中,可以使得机器学习模型更好地理解其中的关联性,实现更准确地预测。
110.在上述实现过程中,通过从相似搜索空间中获取相似度大于设定值的负荷序列,能够获得变化趋势更相似的负荷序列,使得输入模型的数据能够融入更多的负荷变化的相似性规律,以提高模型的预测准确性。
111.在上述实施例的基础上,在目标样本数据为多个时,此时若将全部的y都输入到机器学习模型中,其数据维度较大,使得机器学习模型的处理复杂度增大,所以,为了改善这种情况,还可以将多个目标样本数据中的预测时段的负荷序列进行加权求和,获得最终负荷序列,然后将最终负荷序列作为第三负荷序列输入至机器学习模型。
112.例如,每个y均为维度为30的数组,其包含30个负荷数据,每个时刻对应一个负荷数据,若有n个y,则可形成一个30*n维的数组,在进行加权时,可将每个纵向维度的负荷数据进行加权求和(可以根据实际需求设置每个y的加和权重),这样可获得一个30维的数组,该数组中的负荷数据即为最终负荷序列,这样可以将数据降维后输入模型中,使得模型的预测效率更高。
113.在上述实施例的基础上,在获得第三负荷序列的过程中,为了提高搜索效率,还可以先根据时间戳进行初步筛选,如可以根据上述样本数据的时间戳从相似搜索空间中筛选
出时刻在当前时刻(如当前时刻为目标预测时段的开始前一分钟)前后30分钟内的样本数据,比如,当前时刻是15:00,目标预测时段是15:31

15:30,则可以从相似搜索空间中筛选出时刻在14:30

15:30之间的样本数据(这样可以初步筛选出时间上比较相似的样本数据),如得到n个样本数据,然后再将这n个样本数据中的x分别与第五负荷序列进行相似度计算,然后再基于相似度筛选获得对应的第三负荷序列。
114.在上述实施例的基础上,由于获取的用于构建相似搜索空间的历史负荷序列可能存在数据缺失,使得在后续构建相似搜索空间时,构建获得的样本数据的时刻是不连续的,所以,为了改善这个情况,还可以进行相关处理,如通过以下方式获取上述用于构建相似搜索空间的历史负荷序列:获取初始历史负荷序列,判断该初始历史负荷序列中的各个负荷是否在时间上是连续的,若不是连续的,则获取缺失部分的时间长度,并判断所述时间长度是否大于设定阈值,若大于设定阈值,则对初始历史负荷序列进行分块,获得多个负荷序列块,然后对每个负荷序列块进行插值处理,获得在时间上连续的负荷序列块,用于构建相似搜索空间的历史负荷序列则包括多个在时间上连续的负荷序列块。
115.可以理解地,初始历史负荷序列是原始所采集的机器在历史时段(如前两年)的负荷序列,此时的负荷序列可能存在数据丢失,如果直接对初始历史负荷序列进行插值处理,可能会影响数据质量,所以此时可以对初始历史负荷序列进行分块后再处理。上述实施例中的历史负荷序列是指经过插值处理后在时间上是连续的负荷序列。
116.在进行分块时,可以对初始负荷序列进行扫描,其初始负荷序列中的每个负荷携带有对应的时间戳,所以可以根据时间戳来判断各个负荷是否在时间上是连续的,在时间缺失较长时,对负荷序列进行分块。例如,根据时间由远到近扫描数据缺失情况,若扫描到第300个负荷时,若这300个负荷中有15个负荷缺失(每分钟对应一个负荷,表示缺失部分的时间长度达到15分钟,即设定阈值为15分钟,这个时间长度可以根据实际需求灵活设定,这里仅作举例说明),此时则可将初始负荷序列分为左右两个负荷序列块,左边的负荷序列块的时间长度达到15分钟,则对左边的负荷序列块进行插值处理,如线性插值、二次插值、多项式插值等,即插值15个负荷数据,插值处理后获得的该负荷序列块中的多个负荷在时间上是连续的,此时该负荷序列块包括300个负荷。
117.继续按照同样的方式,扫描右边的负荷序列块,当缺失部分的时间长度达到15分钟时,又将该负荷序列块分为左右两块,对左边的负荷序列块进行插值处理,然后继续扫描右边的负荷序列块,继续分块、插值,直至最后获得的所有的负荷序列块中的负荷在时间上是连续的。
118.或者也可以先对初始历史负荷序列进行扫描,然后分块,分块后再对每个负荷序列块进行插值处理,这样获得的每个负荷序列块中的负荷在时间上也是连续的。
119.后续在构建相似搜索空间时,可以针对每个负荷序列块分别构建相似搜索空间,而由于创建相似搜索空间是所需的负荷长度较大,所以,在上述进行负荷序列分块时,还可以针对每个负荷序列块设置最小分块长度,例如,最小分块长度为750,则对于上述的第一个负荷序列块其长度为300,此时没有达到最小分块长度,则继续扫描,直至分块后的负荷序列块进行插值处理后其分块长度达到750。或者,也可以初始按照上述的方式进行分块,然后将分块长度小于750的负荷序列块丢弃,只保留剩余分块长度大于或等于750的负荷序列块。这样在针对每个负荷序列块构建相似搜索空间时,能够有足够多的样本数据。
120.而针对每个负荷序列块构建相似搜索空间的方式如上述实施例所示,为了描述的简洁,在此不重复赘述,构建好的相似搜索空间可进行存储,即上述的相似搜索空间可以是预先构建好的(如在模型训练阶段构建的),在进行预测时,可以直接读取存储的相似搜索空间,然后进行相似度匹配即可。可以理解地,若最终获得有m个负荷序列块,则获得的相似搜索空间也可以有m个。在获得第三负荷序列时,可以将第五负荷序列分别与每个相似搜索空间中的样本数据进行相似度匹配,最后将获得的所有的目标样本数据进行合并,即形成第三负荷序列。或者,在获得m个相似搜索空间后,也可以将这m个相似搜索空间合并为一个相似搜索空间后存储,在获得第三负荷序列时,直接在这一个相似搜索空间中查找相似度大于设定值的第三负荷序列。
121.在上述实施例的基础上,由于除了发电外,通过观察发现,用电习惯也会呈现出明显的规律和差异性,如一天24小时随着居民作息和工厂生产安排的变化,呈现较大幅度的变化,且每天的变化呈现周期性;工作日和周末存在不同,普通周末和法定假日也有区别,而法定假日中,春节这样的国民大假,其影响和幅度也和普通假日存在显著差异。
122.所以,为了便于对不同的时刻的负荷进行区别,还可以构建“month”,“weekday”和“hour”字段的时间戳,并标记普通法定假日及国庆、春节等重要法定假日,以适应负荷在时序上的规律性,这样可对负荷变化的规律性和周期性变化进行很好地标识。而为了保证各个字段的量纲一致,便于模型处理,还可以将各个字段分别进行归一化处理。
123.另外,为了使得获得的历史负荷序列是符合要求的,上述在获得初始负荷序列后,还可以根据经验,筛除初始负荷序列中的非正常工况下的数据,例如,当锅炉负荷小于一阈值时,认为锅炉处于非正常工作状态,这部分数据可进行剔除,剩余的数据可继续后续的分块、插值处理等,这样可排除非正常工作状态的数据对预测准确性造成的影响。
124.在上述实施例的基础上,上述的机器学习模型可以为长短期记忆网络(long short

term memory,lstm)模型、卷积机器学习模型、seq2seq模型等,机器学习模型是预先通过训练获得的,如图2所示,其训练过程包括如下步骤:
125.步骤s210:获取训练样本,该训练样本包括机器在各个时刻对应的相似负荷序列样本以及各个时刻之前的第四负荷序列样本,所述相似负荷序列样本包括机器在各个时刻前一天同时段的第一负荷序列样本、机器在各个时刻前一周同一天同时段的第二负荷序列样本、从机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列样本这三者中的至少一种;所述训练样本的标签数据包括各个时刻之后的预测时段的目标负荷序列;
126.步骤s220:将所述训练样本输入初始机器学习模型中,获得所述初始机器学习模型的输出;
127.步骤s230:根据所述输出和所述标签数据计算获得损失值;
128.步骤s240:根据所述损失值对所述初始机器学习模型的网络参数进行更新,在达到训练结束条件时,获得训练好的机器学习模型;
129.其中,针对不同的训练样本获得对应的机器学习模型。
130.可以理解地,在训练过程中,获取训练样本的方式和上述实施例中在预测时获取输入模型的样本(如上述的相似负荷序列)类似。
131.训练样本包括大量的相似负荷序列样本,下面详细描述获得这些训练样本的过程,假设训练样本以(x_hist,x_future,label)的形式来表示。其中,x_hist表示各个时刻
之前的时段的第四负荷序列样本,x_future表示相似负荷序列样本中的第一负荷序列样本、第二负荷序列样本以及第三负荷序列样本,label表示标签数据,即目标负荷序列。
132.在一些实施方式中,可以按照上述相似搜索空间的构建方式一样,通过滑动时刻来获得多个序列样本,然后将序列样本中的y作为标签数据,即目标负荷序列,过程如:获取历史负荷序列样本,提取历史负荷序列样本中的多个序列样本,每个序列样本包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列,然后将各个序列样本中的预测时段的负荷序列作为标签数据。
133.其中,历史负荷序列样本可以是指机器在两年内所产生的负荷数据,其是按照时间顺序排列的(可以是指上述预测过程中的历史负荷序列),根据需求,若设置需要预测的时段为30分钟,则可以将“时刻”(该时刻可以理解为步骤s210中的各个“时刻”)滑动到第30分钟,然后截取前30分钟并包含第30分钟(该时段可以根据实际需求灵活设置)的负荷数据作为第四负荷序列样本x’,然后截取第30分钟之后的30分钟的负荷数据作为该时刻之后的预测时段的目标负荷序列label,即获得该时刻对应的序列样本(x’,label)。按照该方式,继续滑动“时刻”到第31分钟处,截取前30分钟的负荷数据作为x’,截取该时刻后30分钟的负荷数据作为label,这样又获得一个序列样本(x’,label),按照同样的方式继续滑动“时刻”,则可获得多个序列样本(x’,label)。这些样本中的label即可用于作为标签数据,而x’可作为上述的x_hist输入模型进行训练。
134.可以理解地,这里也可以先对历史负荷序列进行分块,然后对每个序列块按照上述实施例所介绍的方式进行插值处理后,针对每个序列块来提取对应的序列样本,然后再对所有获得的序列样本中的label作为标签数据,序列样本中的x’可作为上述的x_hist输入模型进行训练。
135.然后可根据各个序列样本来查找对应的相似负荷序列样本,例如,针对每个序列样本,获取该序列样本的label前一天同时段(如前一天该序列样本对应的时刻之后的30分钟)的负荷数据作为第一负荷序列样本,以及获取该序列样本的label前一周同一天同时段(如前一周同一天该序列样本对应的时刻之后的30分钟)的负荷数据作为第二负荷序列样本,并从相似搜索空间中获取与label的相似度大于设定值的第三负荷序列样本,其获取的方式与上述实施例相同,如将当前时刻(label)之前并包含当前时刻的720分钟的负荷序列与相似搜索空间中的各个样本数据中的x进行相似度计算,然后找到相似度大于设定值的目标样本数据中的y,这个y即为第三负荷序列样本,这三种负荷序列样本(第一负荷序列样本、第二负荷序列样本和第三负荷序列样本)可合并为x_future作为模型的输入。
136.当然,训练过程中还可以将上述实施例中所述的其他外部环境特征,如气象值、温度等信息也合并到x_hist和x_future中作为模型的输入,这样即可获得多个形如(x_hist,x_future,label)样式的训练样本。
137.在上述实施例的基础上,为了使得机器学习模型尽可能多学习到一些变化急迫的趋势,在上述获得多个序列样本(x’,label)后,还可以计算获得表征每个序列样本中的预测时段的负荷序列(即label)的变化程度的数值,其中,数值越大表征变化程度越大,然后筛选出数值大于预设值的目标序列样本,其中,目标序列样本中的预测时段的负荷序列作为训练样本的标签数据。
138.其中,表征变化程度的数值可以为极值或者方差,例如,若获得500个序列样本
(x’,label),则计算每个label的极值或者方差,以判断label的变化程度,如选择极值大于预设值或者选择方差大于预设值的label,若经过筛选,获得300个label满足该条件,则保留筛选留下的300个序列样本(x’,label)作为后续的计算,即获取这300个序列样本对应的相似负荷序列样本以及将这300个序列样本作为模型的输入,这样可以使得机器学习模型能够尽可能使用变化程度较大的样本进行训练,进而更好地学习到负荷序列的变化趋势,提高模型的训练精度。
139.在另一些实施方式中,还可以对序列样本进行采样来对序列样本进行筛选,由于构建序列样本时是按照1分钟的频率滑动时刻来构建的,因此连续的多个序列样本均存在着明显的时间重叠,其变化趋势也急剧,如果这些序列样本的变化趋势均比较急迫,则可以对这些序列样本尽可能多的采样,比如每3分钟选取一个,相反,如果这些序列样本的变化趋势比较缓慢,则尽可能少的采样,比如每10分钟选取一个。
140.例如,当前有500个序列样本,依次计算出每个序列样本对应的方差或极值,如果前面连续的10个序列样本的方差或极值都大于预设值,则可以选取其中第1个序列样本、第3个序列样本、第6个序列样本和第9个序列样本作为目标序列样本,即将这些序列样本保留下来,其他序列样本则丢弃,而如果判断有连续的20个序列样本的极值或方差都小于或等于预设值,则认为这些序列样本变化比较平缓,可以从中选取2个序列样本作为目标序列样本。
141.或者,在获得500个序列样本的方差或极值后,将方差或极值大于预设值的序列样本筛选出来,获得第一部分序列样本,剩余的序列样本作为第二部分序列样本,然后将第一部分序列样本和第二部分序列样本按照时间顺序排序,分别对两部分序列样本进行采样,如对于第一部分序列样本,可每隔3个序列样本采样1个序列样本作为最终的目标序列样本,对于第二部分序列样本,可每隔10个序列样本采样1个序列样本作为最终的目标序列样本。
142.在上述获得训练样本后,将训练样本输入初始机器学习模型,初始机器学习模型可以是指未训练的机器学习模型,以机器学习模型为seq2seq模型为例,其分为encoder(编码)和decoder(解码)两个阶段,在本技术的应用场景中,encoder(编码)部分的输入可以为上述的x_hist,decoder(解码)部分的输入为上述的x_future,其示意图如图3所示。
143.定义模型的损失函数为模型的损失,定义为:
144.loss=mae(y_true,y_hat) 0.5*(1

cosine_similarity(y_true,y_hat));
145.其中,y_ture表示真实值序列(即标签数据label),y_hat表示预测值序列(即模型的输出),mae()代表绝对误差损失,cosine_similiarity()代表皮尔逊相似度损失,两者的组合,代表随着训练的进行,期望预测序列在取值上和趋势上均逐渐向真实序列靠近。
146.需要说明的是,实际应用中,还可以采用其他损失函数来计算损失值,如mse、smape等。
147.所以,可以根据该损失函数计算出对应的损失值,进而利用反向传播算法朝着损失值减小的方向对模型的网络参数进行更新,重复上述的训练过程,直至达到设定的迭代次数或者损失值小于设定值时,表示达到训练结束条件,则获得训练好的机器学习模型,该机器学习模型即可用于进上述的负荷序列的预测。
148.在上述实现过程中,通过采用四种负荷序列样本对机器学习模型进行训练,从而
使得模型能够更好地学习到负荷序列的变化趋势,提高预测精度。
149.另外,在训练过程中,可能由于原始数据的缺失,使得获得的训练样本可能并不全面,如可能只获得上述的第一负荷序列样本和第三负荷序列样本、或者只获得第二负荷序列样本和第三负荷序列样本,或者四种负荷序列样本均能获得,而不同的训练样本对模型的训练精度有影响,所以,还可以在训练样本不同时对不同的初始机器学习模型进行训练,如在训练样本为第一负荷序列样本和第三负荷序列样本时,对第一个seq2seq模型进行训练,获得第一种seq2seq模型,在训练样本为第二负荷序列样本和第三负荷序列样本时,对第二个seq2seq模型进行训练,获得第二种seq2seq模型,按照该方式,可任意组合不同的训练样本,训练得到多种模型。这样在进行预测时,可以根据实际情况获取到的数据,来选择将该数据输入到对应的模型中进行预测,如实际获取到的相似负荷序列包括第一负荷序列和第三负荷序列,则将该相似负荷序列输入到第一种seq2seq模型中进行预测,这样可使得不同的模型适配不同的输入数据,使得预测结果也更准确。
150.如图4所示,其是训练与预测过程的示意图,两个过程均需要从相似搜索空间中获取相似的负荷序列样本,以获得两个阶段所需的样本数据,且需要对数据进行相应的预处理,如异常值和缺失值处理、归一化等。
151.上述对seq2seq模型进行训练,并利用该模型进行预测,由于该模型结果对于特征输入而言具有较强的柔性,所以可以根据经验和数据分析,充分考虑对预测结果有影响的外部因素,以尽可能多地获取对预测有用的信息,提高预测精度。
152.请参照图5,图5为本技术实施例提供的一种机器负荷预测装置300的结构框图,该装置300可以是电子设备上的模块、程序段或代码。应理解,该装置300与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
153.可选地,所述装置300包括:
154.负荷序列获取模块310,用于获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列,所述相似负荷序列包括所述机器在所述目标预测时段前一天同时段的第一负荷序列、所述机器在所述目标预测时段前一周同一天同时段的第二负荷序列、从所述机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列这三者中的至少一种;
155.负荷序列预测模块320,用于将所述相似负荷序列以及所述第四负荷序列输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
156.可选地,所述装置300还包括:
157.外部环境特征获取模块,用于获取其他外部环境特征;
158.所述负荷序列预测模块320,用于将所述相似负荷序列、所述第四负荷序列以及所述其他外部环境特征输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
159.可选地,通过以下方式从所述机器的历史负荷序列中确定相似度大于设定值的第三负荷序列:
160.获取根据所述历史负荷序列构建的相似搜索空间,所述相似搜索空间包括多个样
本数据,每个样本数据包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;
161.获取所述目标预测时段之前的第五负荷序列;
162.将所述第五负荷序列与所述相似搜索空间中每个样本数据中的历史时段的负荷序列进行相似度匹配,获得相似度大于设定值的目标样本数据中的预测时段的负荷序列;
163.其中,所述目标样本数据中的预测时段的负荷序列为所述第三负荷序列。
164.可选地,通过以下方式获取所述历史负荷序列:
165.获取初始历史负荷序列;
166.判断所述初始历史负荷序列是否在时间上是连续的;
167.若不是连续的,则获取缺失部分的时间长度,并判断所述时间长度是否大于设定阈值;
168.若大于所述设定阈值,则对所述初始历史负荷序列进行分块,获得多个负荷序列块;
169.对每个负荷序列块进行插值处理,获得在时间上连续的负荷序列块,所述历史负荷序列包括多个在时间上连续的负荷序列块。
170.可选地,若所述目标样本数据为多个,所述装置300还包括:
171.负荷加权模块,用于将多个所述目标样本数据中的预测时段的负荷序列进行加权求和,获得最终负荷序列;其中,所述最终负荷序列为所述第三负荷序列。
172.可选地,所述装置300还包括:
173.训练模块,用于:
174.获取训练样本,所述训练样本包括机器在各个时刻对应的相似负荷序列样本以及各个时刻之前的第四负荷序列样本,所述相似负荷序列样本包括机器在各个时刻前一天同时段的第一负荷序列样本、机器在各个时刻前一周同一天同时段的第二负荷序列样本、从机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列样本这三者中的至少一种;所述训练样本的标签数据包括各个时刻之后的预测时段的目标负荷序列;
175.将所述训练样本输入初始机器学习模型中,获得所述初始机器学习模型的输出;
176.根据所述输出和所述标签数据计算获得损失值;
177.根据所述损失值对所述初始机器学习模型的网络参数进行更新,在达到训练结束条件时,获得训练好的机器学习模型;
178.其中,针对不同的训练样本获得对应的机器学习模型。
179.可选地,所述通过以下方式获得所述训练样本的标签数据:
180.获取历史负荷序列样本;
181.提取所述历史负荷序列样本中的多个序列样本,每个序列样本包括一个时刻之前的历史时段的负荷序列和该时刻之后的预测时段的负荷序列;
182.计算获得表征每个序列样本中的预测时段的负荷序列的变化程度的数值,其中,所述数值越大表征变化程度越大;
183.筛选出所述数值大于预设值的目标序列样本,其中,所述目标序列样本中的预测时段的负荷序列为所述训练样本的标签数据。
184.需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描
述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
185.请参照图6,图6为本技术实施例提供的一种用于执行机器负荷预测方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器410,例如cpu,至少一个通信接口420,至少一个存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本技术实施例中设备的通信接口420用于与其他节点设备进行信令或数据的通信。存储器430可以是高速ram存储器,也可以是非易失性的存储器(non

volatile memory),例如至少一个磁盘存储器。存储器430可选的还可以是至少一个位于远离前述处理器的存储装置。存储器430中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器410执行时,电子设备执行上述图1所示方法过程。
186.可以理解,图6所示的结构仅为示意,所述电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
187.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
188.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列,所述相似负荷序列包括所述机器在所述目标预测时段前一天同时段的第一负荷序列、所述机器在所述目标预测时段前一周同一天同时段的第二负荷序列、从所述机器的历史负荷序列中确定的相似度大于设定值的第三负荷序列这三者中的至少一种;将所述相似负荷序列以及所述第四负荷序列输入对应的机器学习模型中,通过所述机器学习模型预测获得所述目标预测时段对应的负荷序列。
189.综上所述,本技术实施例提供一种机器负荷预测方法、装置、电子设备及可读存储介质,该方法通过获取机器在目标预测时段对应的相似负荷序列以及所述目标预测时段之前的第四负荷序列,该相似负荷序列在时间上、数值上和分布趋势上,与待预测序列(目标预测时段对应的负荷序列)存在较大的相似性,能够体现负荷变化的规律性和周期性,所以将该相似负荷序列以及第四负荷序列输入到对应的机器学习模型中进行预测,使得模型能够自适应学习、提取出负荷变化的相似性规律,进而预测得到更准确的负荷序列。
190.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
191.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
192.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
193.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
194.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
转载请注明原文地址:https://win.8miu.com/read-50408.html

最新回复(0)