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

基于时序序列的能量数据中长期预测方法、装置及介质与流程

2022-11-13 11:43:25 来源:中国专利 TAG:


1.本发明涉及对能量数据进行预测的技术领域,具体涉及一种基于时序序列的能量数据中长期预测方法、装置及介质。


背景技术:

2.目前,随着“碳达峰”和“碳中和”双碳目标的提出,风电、太阳能等能量作为可再生清洁能源,风力发电或光伏发电已然成为实现双碳目标的重要手段,清洁能源的发电规模也因此迅速扩大。风电、太阳能等能量的影响对清洁能源的发电起到关键作用,但是风电、太阳能等能量数据具有间歇性、随机性和不可控性等自然属性,随着清洁能源发电的规模扩大,大规模清洁能源的并网会给当地的电力系统带来严重影响。
3.本技术发明人发现,对时序序列的能量数据进行精准预测可以有效提高清洁能源发电的可控性,降低其并网的不良影响。因此,对时序序列的能量数据进行精准预测对清洁能源发电的发展尤为重要。目前缺少一种能够有效的对时序序列的能量数据进行中长期预测的方法。


技术实现要素:

4.鉴于上述问题,本技术实施例提供了一种基于时序序列的能量数据中长期预测方法,用于解决现有技术中存在的缺少能够有效的对中长期能量数据进行预测的问题。
5.根据本技术实施例的一个方面,提供了一种基于时序序列的能量数据中长期预测方法,所述方法包括:获取原始时间序列能量数据集;通过第一滑动窗口对所述原始时间序列能量数据集进行采样,获取第一训练数据集和第一预测样本;根据所述第一训练数据集对第一预测模型进行训练;将所述第一预测样本输入至训练后的所述第一预测模型生成第一预测能量数据集,所述第一预测能量数据集包含k个第一预测能量数据,所述k为小于m的自然数;对所述原始时间序列能量数据集和所述第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集;通过第二滑动窗口对所述预处理后的原始时间序列能量数据集进行采样,获取第二训练数据集和第二预测样本集,其中采样间隔为m,所述第二预测样本集包含m-k个第二预测样本;根据所述第二训练数据集对第二预测模型进行训练;将所述第二预测样本集输入训练后的所述第二预测模型生成第二预测能量数据集,所述第二预测能量数据集包含m-k个第二预测能量数据;根据所述第一预测能量数据集和所述第二预测能量数据集获取m个时间点的能量预测数据。
6.本技术实施例通过先利用原始时间序列能量数据集进行短期预测获得准确度较高的第一预测能量数据集,然后利用原始时间序列能量数据集和第一预测能量数据集进行预测,获得的第二预测能量数据集准确度较高,提高了对中长期能量数据进行预测的准确性。
7.在一种可选的方式中,所述通过第一滑动窗口对所述原始时间序列能量数据集进行连续采样,获取第一训练数据集和第一预测样本,包括:所述原始时间序列能量数据集包
括n个能量数据,设定所述第一滑动窗口长度为m 1,m,n均为自然数,m 1《n,通过所述第一滑动窗口对所述原始时间序列能量数据集进行连续采样,获得第一训练数据集;调整所述第一滑动窗口长度为m,将所述第一滑动窗口向后移动一个数据开始采样,获得第一预测样本。
8.本技术实施例通过利用第一滑动窗口对原始时间序列能量数据集进行连续采样,保留了原始能量数据的全部信息,用于对能量数据进行短期预测获得第一预测能量数据集时,提高了第一预测能量数据集的准确性。
9.在一种可选的方式中,所述将第一预测样本输入至训练后的所述第一预测模型生成第一预测能量数据集,包括:将所述第一预测样本输入至训练后的所述第一预测模型,获得第一预测能量数据;对所述原始时间序列能量数据集和所述第一预测能量数据进行预处理,获得预处理后的原始时间序列能量数据集;将所述预处理后的原始时间序列能量数据集作为原始时间序列能量数据集;重复执行所述通过第一滑动窗口对所述原始时间序列能量数据集进行采样的步骤,直至生成k个第一预测能量数据,所述k个第一预测能量数据组成第一预测能量数据集。
10.本技术实施例通过利用原始能量数据进行短期预测获得k个时间点的第一预测能量数据集,未对原始能量数据进行取平均或差分等处理和转换,保留了原始能量数据的全部信息,因此有效提高了这k个时间点的第一预测能量数据集的准确性。
11.在一种可选的方式中,所述对所述原始时间序列能量数据集和所述第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集,包括:将所述第一预测能量数据集的k个第一预测能量数据与所述原始时间序列能量数据集的n个能量数据按时间顺序依次排列进行预处理,获得预处理后的原始时间序列能量数据集,所述预处理后的原始时间序列能量数据集包括n k个能量数据。
12.本技术实施例通过将原始时间序列能量数据集的n个能量数据和k个准确度较高的预测能量数据结合后,获得的预处理后的原始时间序列能量数据集用于预测m-k个时间点的能量数据,提高了这m-k个预测能量数据的准确性。
13.在一种可选的方式中,所述通过第二滑动窗口对所述预处理后的原始时间序列能量数据集进行采样,获取第二训练数据集和第二预测样本集,包括:所述第二滑动窗口长度为m’*m 1,其中m’为自然数,m’*m 1《n k,通过所述第二滑动窗口对所述预处理后的原始时间序列能量数据集进行全部采样,其中采样间隔为m,获得第二训练数据集;调整所述第二滑动窗口长度为(m
’‑
1)*m 1,将所述第二滑动窗口向后移动一个数据开始采样,其中采样间隔为m,共采样m-k次,获得第二预测样本集,所述第二预测样本集包含m-k个第二预测样本。
14.本技术实施例通过利用第二滑动窗口对预处理后的原始时间序列能量数据集进行采样,保留了预处理后的原始时间序列能量数据集的全部信息,提高了能量预测数据的准确性。
15.在一种可选的方式中,所述k值通过如下步骤确定:获取原始时间序列能量数据集,所述原始时间序列能量数据集包括n个能量数据;将所述原始时间序列能量数据集划分为原始时间序列实验能量数据集和原始时间序列验证能量数据集,所述原始时间序列实验能量数据集包括前n-m个能量数据,所述原始时间序列验证能量数据集包括后m个能量数
据,所述m为大于1的自然数;通过第一滑动窗口对所述原始时间序列实验能量数据集进行采样,获取第一实验训练数据集和第一实验预测样本;根据所述第一实验训练数据集对第一预测模型进行训练;将所述第一实验预测样本输入至训练后的所述第一预测模型生成第一实验预测能量数据集,所述第一实验预测能量数据集包含s个第一实验预测能量数据,所述s为小于m的自然数;对所述原始时间序列实验能量数据集和所述第一实验预测能量数据集进行预处理,获得预处理后的原始时间序列实验能量数据集;通过第二滑动窗口对所述预处理后的原始时间序列实验能量数据集进行采样,获取第二实验训练数据集和第二实验预测样本集,其中采样间隔为m,所述第二实验预测样本集包含m-s个第二实验预测样本;根据所述第二实验训练数据集对第二预测模型进行训练;将所述第二实验预测样本集输入训练后的所述第二预测模型生成第二实验预测能量数据集,所述第二实验预测能量数据集包含m-s个第二实验预测能量数据;根据所述第一实验预测能量数据集和所述第二实验预测能量数据集获取m个时间点的实验预测能量数据;将所述m个时间点的实验预测能量数据与所述原始时间序列验证能量数据集中的m个能量数据进行比对,确定误差值;将所述s依次增大或减小,重复执行上述步骤,确定对应的误差值,直至所述s达到预设值;将各所述误差值中的最小误差值对应的s值确定为k值。
16.本技术实施例通过将误差值最小时对应的s确定为k值,获得准确度较高的预测模型,从而提高能量预测数据的准确性。
17.在一种可选的方式中,所述第一预测模型为xgboost模型,所述第二预测模型为ann模型。
18.本技术实施例通过将xgboost模型作为第一模型,ann模型作为第二模型,可提高中长期能量预测数据的准确度。
19.根据本技术实施例的另一方面,提供了一种基于时序序列的能量数据中长期预测装置,包括:第一获取模块,用于获取原始时间序列能量数据集;第一采样模块,用于通过第一滑动窗口对所述原始时间序列能量数据集进行采样,获取第一训练数据集和第一预测样本;第一训练模块,用于根据所述第一训练数据集对第一预测模型进行训练;第一预测模块,用于将所述第一预测样本输入至训练后的所述第一预测模型生成第一预测能量数据集,所述第一预测能量数据集包含k个第一预测能量数据,所述k为小于m的自然数;预处理模块,用于对所述原始时间序列能量数据集和所述第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集;第二采样模块,用于通过第二滑动窗口对所述预处理后的原始时间序列能量数据集进行采样,获取第二训练数据集和第二预测样本集,其中采样间隔为m,所述第二预测样本集包含m-k个第二预测样本;第二训练模块,用于根据所述第二训练数据集对第二预测模型进行训练;第二预测模块,用于将所述第二预测样本集输入训练后的所述第二预测模型生成第二预测能量数据集,所述第二预测能量数据集包含m-k个第二预测能量数据;第二获取模块,用于根据所述第一预测能量数据集和所述第二预测能量数据集获
取m个时间点的能量预测数据。
20.根据本技术实施例的另一方面,提供了一种基于时序序列的能量数据中长期预测设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所可执行指令使所述处理器执行如上述基于时序序列的能量数据中长期预测方法的操作。
21.根据本技术实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有可执行指令,所述可执行指令使基于时序序列的能量数据中长期预测设备执行如上述方法对应的操作。
22.根据本技术实施例的基于时序序列的能量数据中长期预测方法、装置及计算机存储介质,通过获取当前时段的原始能量数据进行短期预测获得第一预测能量数据集,由于未对原始能量数据进行取平均或差分等处理,保留了原始能量数据的全部信息,因此获得的第一预测能量数据集准确度较高,再结合原始能量数据和第一预测能量数据集进行预测,获得准确度较高的第二预测能量数据集,结合第一预测能量数据集和第二预测能量数据集获得全部预测能量数据。
23.上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
24.附图仅用于示出实施方式,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本技术实施例提供的基于时序序列的能量数据中长期预测方法的流程示意图;图2示出了本技术实施例提供的获取第一预测能量数据集的流程示意图;图3示出了本技术实施例提供的确认k值的流程示意图;图4示出了本技术实施例提供的ann分钟预测效果图;图5示出了本技术实施例提供的xgboost分钟预测效果图;图6示出了本技术实施例提供的lstm分钟预测效果图;图7示出了本技术实施例提供的基于时序序列的能量数据中长期预测装置的结构示意图;图8示出了本技术实施例提供的基于时序序列的能量数据中长期预测设备的结构示意图。
具体实施方式
25.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。
26.目前影响清洁能源发电的能量因素有多种,比如风速、光照、设备负荷等能量,都会对清洁能源的使用造成影响,因此需要对多种能量数据进行预测。以风速为例,发明人注
意到,针对现有的风速短时预测使用的统计方法,由于风速具有较强的随机性,因此利用风速短时预测方法进行风速中长期预测,存在风速预测准确度不高的问题。此外,现有的风速预测方法通常需要对原始的风速数据进行取平均、差分等处理,会损失部分原始风速数据信息,所以也会降低风速预测的准确度。因此,研发出一种能提高基于时序序列的能量数据中长期预测准确度的方法是尤为重要的。
27.为了解决上述问题,本技术发明人经过研究,发明了一种基于时序序列的能量数据中长期预测方法,以风速预测为例,本技术实施例通过利用当前时段的原始风速数据进行短时预测获得第一预测能量数据集,由于未对原始风速数据处理,因此获得的第一预测能量数据集的准确度较高。再结合利用原始风速数据和第一预测能量数据集获得准确度较高的第二预测能量数据集,最后根据所获取的第一预测能量数据集和第二预测能量数据集获得全部风速预测数据。通过这种方式,大大提高了风速预测的准确性。
28.本发明适用于预测风速、太阳光照强度、设备用电负荷、耗电量等能量数据,本技术实施例仅以风速预测为例进行说明,并不能仅仅认为本发明只适用于风速预测。
29.图1示出了本技术实施例提供的基于时序序列的能量数据中长期预测方法的流程图。如图1所示,该方法包括以下步骤:步骤110:获取原始时间序列能量数据集。
30.在本步骤中,原始时间序列能量数据集指当前时段的风速数据集。
31.其中,获取当前时段的风速数据集,所采用的方法可以是在目标区域设置风速检测器(例如风速计),利用风速检测器每间隔t时刻采样一个时间点的风速,共采样n个时间点的风速,原始时间序列能量数据集包括n个时间点风速数据。通过间隔固定时间采样风速,获取风速的周期性特征,可提高预测风速数据的准确性。
32.步骤120:通过第一滑动窗口对原始时间序列能量数据集进行采样,获取第一训练数据集和第一预测样本。
33.在本步骤中,可选地,可采用预设长度的第一滑动窗口对原始时间序列能量数据集进行连续采样,获取第一训练数据集和第一预测样本,其中第一滑动窗口的长度需短于原始时间序列能量数据集的长度。
34.以下具体介绍如何通过滑动窗口进行连续采样获得训练数据集和预测样本。例如原始时间序列能量数据集包括5个时间点的风速数据,即,设定滑动窗口长度为3。将滑动窗口从开始连续采样3个数据,获得作为第一个时间窗口数据,然后将滑动窗口向后移动一个数据从开始连续采样3个数据,获得作为第二个时间窗口数据,再将滑动窗口向后移动一个数据从开始连续采样3个数据,获得作为第三个时间窗口数据,至此滑动窗口滑动到原始时间序列能量数据集的最后一个数据后,将获得的三个时间窗口数据组合成如下训练数据集a:;
此时训练数据集的前两列为特征列,最后一列为标签列,然后将滑动窗口的长度减小一个单位长度,即此时滑动窗口长度为2,将滑动窗口向后移动一个数据连续采样2个数据,获得第一预测样本,此时第一预测样本只包含特征列,无标签列。
35.除了可以采用滑动窗口进行连续采样外,还可以采用间隔采样的方式获取第一训练数据集和第一预测样本。以下具体介绍如何通过利用滑动窗口进行间隔采样获得训练数据集和预测样本。例如原始时间序列能量数据集包括6个风速数据,即,设定滑动窗口长度为5,采样间隔为2,即每隔1个点采样一个数据。将滑动窗口从开始,每隔1个点采样一个数据,获得作为第一个时间窗口数据,将滑动窗口向后移动1个数据从开始间隔采样,获得作为第二个时间窗口数据,至此滑动窗口滑动到原始时间序列的最后一个数据后,将获得的两个时间窗口数据组合成如下训练数据集b:;此时第一训练数据集的前两列为特征列,最后一列为标签列,然后将滑动窗口的长度减小一个单位长度,即此时滑动窗口长度为4,将滑动窗口向后移动一个数据继续间隔采样,获得,作为第一个第一预测样本,再将滑动窗口向后移动一个数据继续间隔采样,获得,作为第二个第一预测样本,通过将滑动窗口滑动两次进行间隔采样,获得两个第一预测样本,将获得的两个第一预测样本组合成如下第一预测样本集c:;此时第一预测样本集只包含特征列,无标签列。
36.本实施例中通过利用第一滑动窗口对原始时间序列能量数据集进行采样,获得的第一训练数据集保留了原始时间序列能量数据集中能量数据的全部信息,提高了预测能量数据的准确性。
37.步骤130:根据第一训练数据集对第一预测模型进行训练。
38.在本步骤中,第一预测模型可以是xgboost模型、lstm模型或ann模型。将第一训练数据集输入至第一预测模型后,第一预测模型会对第一训练数据集进行学习,以完成对第一预测模型的训练。根据上述步骤120中所述,第一训练数据集a或b分别包括了特征列和标签列,通过将生成的第一训练数据集a或b输入第一预测模型,所述第一预测模型根据所述特征列和标签列进行训练,具体的第一预测模型的训练过程采用现有的方式进行训练,在此不做赘述。
39.步骤140:将第一预测样本输入至训练后的第一预测模型生成第一预测能量数据集,第一预测能量数据集包含k个第一预测能量数据,k为小于m的自然数。
40.由于第一训练数据集包含特征列和标签列,第一预测样本只包含特征列,因此将第一预测样本输入至训练后的预测模型,将获得第一预测模型输出的预测数据。例如,第一
训练数据集为a,第一预测样本为,则将第一预测样本输入至训练后的第一预测模型,获得预测数据。当第一训练数据集为b,第一预测样本为c时,则将第一预测样本输入至训练后的第一预测模型,获得第一预测数据。
41.本步骤中,可选地,通过第一滑动窗口对原始时间序列能量数据集进行连续采样,获得第一训练数据集和第一预测样本,利用原始时间序列能量数据集的能量数据和第一预测能量数据重复执行上述步骤,直至获得k个第一预测能量数据。
42.可选地,本技术实施例还可以通过第一滑动窗口对原始时间序列能量数据集进行间隔采样,获得第一训练数据集和k个第一预测样本组成的第一预测样本集,将第一预测样本集输入至训练后的第一预测模型,获得k个第一预测能量数据。
43.本实施例中通过利用原始的能量数据进行短时预测获得k个时间点的能量预测数据,由于未对原始的能量数据进行平均、差分等转换和处理,保留了原始能量数据的全部信息,因此获得的k个能量预测数据准确度较高。
44.步骤150:对原始时间序列能量数据集和第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集。
45.本技术实施例中,对原始时间序列能量数据集和第一预测能量数据集进行预处理可以以时间为依据,将第一预测能量数据设置在原始时间序列能量数据后,共同组成预处理后的原始时间序列能量数据集。也可以采用其他方式,对原始时间序列能量数据集和第一预测能量数据集进行预处理,生成预处理后的原始时间序列能量数据集。
46.本技术实施例中预处理后的原始时间序列能量数据集包括n k个能量数据,通过利用预处理后的原始时间序列能量数据集获得第二预测能量数据集的准确度较高。
47.步骤160:通过第二滑动窗口对预处理后的原始时间序列能量数据集进行采样,获取第二训练数据集和第二预测样本集,其中采样间隔为m,第二预测样本集包含m-k个第二预测样本。
48.本步骤中,通过预设长度的第二滑动窗口,对预处理后的原始时间序列能量数据集进行间隔采样,采样间隔为m,即每个m-1个点采样一个数据,获得第二预测样本集和m-k个第二预测样本。具体的通过第二滑动窗口进行间隔采样的方式,在步骤120中已有描述,在这里不再赘述。
49.本实施例中通过利用第二滑动窗口进行间隔采样,获得的第二训练数据集保留了预处理后的原始时间序列能量数据集的能量数据的全部信息。
50.步骤170:根据第二训练数据集对第二预测模型进行训练。
51.在本步骤中,第二预测模型可以是xgboost模型、lstm模型或ann模型。将第二训练数据集输入至第二预测模型后,第二预测模型会对第二训练数据集进行学习,以完成对第二预测模型的训练。
52.步骤180:将第二预测样本集输入训练后的第二预测模型生成第二预测能量数据集,第二预测能量数据集包含m-k个第二预测能量数据。
53.在本步骤中,第二预测样本集只包含特征列,因此将第二预测样本集输入训练后的第二预测模型,获得训练后的第二预测模型输出的m-k个第二预测能量数据。
54.本技术实施例中通过利用原始时间序列能量数据集的n个能量数据和准确度较高
的第一预测能量数据集进行预测,因此获得的m-k个能量预测数据的准确度较高。
55.步骤190:根据第一预测能量数据集和第二预测能量数据集获取m个时间点的能量预测数据。
56.本步骤中,通过将第一预测能量数据集的k个能量预测数据和第二预测能量数据集的m-k个能量预测数据按时间顺序依次排列,获得m个时间点能量预测数据。
57.通过上述实施例可知,为了预测当前采样时段后的m个时间点的能量数据,本技术实施例首先对当前时段的能量数据进行采样获取n个时间点的能量数据,构成原始时间序列能量数据集,利用原始时间序列能量数据集进行短期预测获得准确度较高的k个第一预测能量数据,再利用原始时间序列能量数据集和k个第一预测能量数据进行预测获得m-k个第二预测能量数据,由于获得的k个第一预测能量数据准确度较高,因此利用原始时间序列能量数据集和k个第一预测能量数据进行预测,获得的m-k个第二预测能量数据的准确度较高,将k个第一预测能量数据和m-k个第二预测能量数据按时间顺序依次排列获得m个能量预测数据。
58.在本发明的一个实施例中,上述步骤120中,通过第一滑动窗口对原始时间序列能量数据集进行采样,获取第一训练数据集和第一预测样本,包括:步骤a01:原始时间序列能量数据集包括n个能量数据,设定第一滑动窗口长度为m 1,m,n均为自然数,m 1《n,通过第一滑动窗口对原始时间序列能量数据集进行连续采样,获得第一训练数据集。
59.本步骤中,假设原始时间序列能量数据集为,利用第一滑动窗口对原始时间序列能量数据集进行连续采样,其中第一滑动窗口长度设置为m 1,即从开始每次连续采样m 1个数据点作为一个样本,滑动窗口直到为止,共产生n-m个样本,将它们依次组合成如下大小为(n-m)*(m 1)的第一训练数据集:其中第一训练数据集的前m列为特征列,第m 1为标签列。
60.步骤a02:调整第一滑动窗口长度为m,将第一滑动窗口向后移动一个数据开始采样,获得第一预测样本。
61.本步骤中,第一预测样本为。
62.该第一训练数据集的前m列为特征列,第m 1列为标签列,第一预测样本只包含特征列,无标签列。
63.本技术实施例在获取第一训练数据集和第一预测样本时,采用第一滑动窗口连续采样的方式,对原始时间序列能量数据集进行采样,能够保证训练数据集更切合实际情况,保证了通过预测模型进行预测结果的准确性。
64.在本发明的一个实施例中,图2示出了获取第一预测能量数据集的方法流程图,当
采用第一滑动窗口以连续采样的方式获取第一预测样本时,需要根据预设的k值,对第一预测模型进行重复的训练和预测,生成k个第一预测样本,所述k个第一预测样本组成第一预测样本集,具体的,如图2所示,包括:步骤120:通过第一滑动窗口对原始时间序列能量数据集进行采样,获取第一训练数据集和第一预测样本。
65.所述第一预测样本如上述实施例中的,该步骤已经在上述实施例中进行描述,在这里不再赘述。
66.步骤130:根据第一训练数据集对第一预测模型进行训练。
67.该步骤已经在上述实施例中进行描述,在这里不再赘述。
68.步骤141:将第一预测样本输入至训练后的第一预测模型生成第一预测能量数据。
69.本步骤中,将通过第一滑动窗口对原始时间序列能量数据集进行连续采样获得的第一预测样本输入至训练后的第一预测模型,生成第一预测能量数据。由于训练数据集包含特征列和标签列,预测样本只包含特征列,因此将预测样本输入至训练后的预测模型,将获得预测模型输出的预测数据。例如,训练数据集为a,预测样本为,则将预测样本输入至训练后的预测模型,获得第一预测能量数据。
70.步骤142:判断是否已循环k次,获得k个第一预测能量数据。
71.本步骤中,根据预设的k值,判断是否已经获得k个第一预测能量数据。
72.其中,所述k值为预设值,其用于确定第一预测能量数据集的大小,由于在通过第一滑动窗口进行连续采样时,通过第一预测模型每次生成一个第一预测能量数据,因此,如果要生成k个第一预测能量数据,则需要进行k次的循环训练和预测,以生成k个第一预测能量数据。
73.具体的,假设所述k被预设为4,可以采用循环控制的方式,每生成一个第一预测能量数据,将k设置为k-1,直到k=0,则停止循环;也可以采用每生成一个第一预测能量数据,将k设置为k 1,k最小为0,直到k达到预设值,则停止循环。具体的循环控制方式有多种,在此不做具体限定。
74.当k值没有达到预设的循环次数,即没有生成k个第一预测能量数据时,则转步骤143;当k值达到预设的循环次数,即已经生成了k个第一预测能量数据时,则转步骤150。
75.步骤143:对原始时间序列能量数据集和第一预测能量数据进行预处理,获得预处理后的原始时间序列能量数据集。
76.本步骤中,将原始时间序列能量数据集与第一预测能量数据按时间顺序依次排列进行预处理,获得预处理后的原始时间序列能量数据集。
77.如上述实施例所述的,当第一预测能量数据为时,预处理后的原始时间序列数据集为。以此类推,每次预测后生成第一预测能量数据后,都以时间顺序与上次预处理后的原始时间序列能量数据集进行合集,作为新的原始时间序列能量数据集。
78.步骤144:将预处理后的原始时间序列能量数据作为原始时间序列能量数据集。
79.本步骤中,将预处理后的原始时间序列能量数据集作为原始时间序列能量数据集,转至步骤120,继续执行上述步骤直至获得k个第一预测能量数据。
80.步骤150:对原始时间序列能量数据集和所述第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集。
81.当通过第一预测模型生成了k个第一预测能量数据后,则最终生成了包含k个第一预测能量数据的第一预测能量数据集,继续执行上述实施例中的步骤160及后续的操作。这些操作已经在上述实施例中进行描述,在这里不再赘述。
82.本技术实施例通过利用原始能量数据预测进行短期预测获得k个时间点的能量预测数据,未对原始能量数据进行取平均或差分等处理,保留了原始能量数据的全部信息,因此提高了能量预测数据的准确性。
83.在本发明的一个实施例中,上述步骤150中,对原始时间序列能量数据集和第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集,包括:将第一预测能量数据集的k个第一预测能量数据与原始时间序列能量数据集的n个能量数据按时间顺序依次排列进行预处理,获得预处理后的原始时间序列能量数据集,预处理后的原始时间序列能量数据集包括n k个能量数据。
84.本步骤中,将第一预测能量数据集与原始时间序列能量数据集按时间顺序依次排列进行预处理,该预处理后的原始时间序列能量数据集为,包括n k个能量数据。
85.本技术实施例通过将原始时间序列能量数据集和k个准确度较高的第一预测能量数据结合后,用于预测m-k个时间点的能量数据,可提高能量预测数据的准确度。
86.在本发明的一个实施例中,上述步骤160中,通过第二滑动窗口对预处理后的原始时间序列能量数据集进行采样,获取第二训练数据集和第二预测样本集,包括:步骤b01:第二滑动窗口长度为m’*m 1,其中m’为自然数,m’*m 1《n k,通过第二滑动窗口对预处理后的原始时间序列能量数据集进行全部采样,其中采样间隔为m,获得第二训练数据集。
87.本步骤中,预处理后的原始时间序列能量数据集为:;第二滑动窗口长度为m’*m 1,其中m’为自然数,m’*m 1《n k,利用第二滑动窗口对预处理后对原始时间序列能量数据集进行间隔采样,采样间隔为m,即每隔m-1个点采样一个数据,第二滑动窗口从开始每次间隔m-1个点采样一个数据,共采样m’ 1个数据作为一个样本,第二滑动窗口直到为止,共产生n k-m’*m个样本,将它们依次组合成如下大小为(n k-m’*m)*(m’ 1)的第二训练数据集:步骤b02:调整第二滑动窗口长度为(m
’‑
1)*m 1,将第二滑动窗口向后移动一个数据开始采样,其中采样间隔为m,共采样m-k次,获得第二预测样本集,所述第二预测样本集包含m-k个第二预测样本。
88.本步骤中,调整第二滑动窗口长度为(m
’‑
1)*m 1,将第二滑动窗口向后移动一个数据继续间隔采样,采样间隔为m,共滑动m-k次,获得如下第二预测样本集:本技术实施例中该第二训练数据集的前m’列为特征列,第m’ 1列为标签列,第二预测样本集只包含特征列,无标签列。
89.本技术实施例通过利用第二滑动窗口进行间隔采样,保留了预处理后的原始时间序列能量数据集的全部信息,提高了能量数据预测准确性。
90.在本发明的一个实施例中,由步骤140可知,在进行能量数据预测之前,需要首先预设k值,所述k值用于确定第一预测能量数据集的大小,k值的大小关系着最终能量数据预测的准确性。
91.在本技术实施例中,所述k值的确定可以由系统根据经验值进行确定,比如:在k《m的前提下,k值的确定一般不应过大,优选的,可以选择10以内的自然数作为k值。所述k值的确定,也可以通过仿真的方式,从系列数据中确定最适合的k值,这种方式确定的k值最合理,能够最大程度保证最终能量数据预测的准确性。在本技术实施例中,优选的,通过以下方式进行k值的确定,图3示出了确认k值的流程图,包括:步骤301:获取原始时间序列能量数据集。
92.该步骤与上述步骤110的操作类似,步骤110已经在上述实施例中进行描述,在这里不再赘述。
93.步骤302:将原始时间序列能量数据集划分为原始时间序列实验能量数据集和原始时间序列验证能量数据集,原始时间序列实验能量数据集包括前n-m个能量数据,原始时间序列验证能量数据集包括后m个能量数据,m为大于1的自然数。
94.本步骤中,将原始时间序列能量数据集的n个时间点的能量数据划分为原始时间序列实验能量数据集和原始时间序列验证能量数据集,原始时间序列实验能量数据集为,包括前n-m个能量数据,原始时间序列验证能量数据集为,包括后m个能量数据。
95.为了能够在后续对各个k值下预测得到的预测数据进行验证,本技术实施例将实际的原始时间序列能量数据集划分为原始时间序列实验能量数据集和原始时间序列验证能量数据集,以原始时间序列实验能量数据集为样本进行训练和预测,然后将预测结果与原始时间序列验证能量数据集进行比对,以确定各个k值下预测结果的准确性。
96.步骤303:通过第一滑动窗口对原始时间序列实验能量数据集进行采样,获取第一实验训练数据集和第一实验预测样本。
97.本步骤中,设定第一滑动窗口长度为m 1,m为自然数,m 1《n-m,通过第一滑动窗口对原始实验时间序列能量数据集进行连续采样,获得第一实验训练数据集和第一实验预测样本。
98.步骤304:根据第一实验训练数据集对第一预测模型进行训练;本步骤中,第一预测模型可以是xgboost模型、lstm模型或ann模型。
99.步骤305:将第一实验预测样本输入至训练后的第一预测模型生成第一实验预测能量数据集,第一实验预测能量数据集包含s个第一实验预测能量数据,s为小于m的自然数。
100.本步骤中,将第一实验预测样本输入至训练后的第一预测模型生成第一实验预测能量数据,将第一实验预测能量数据与原始时间序列实验能量数据集按时间顺序依次排列进行预处理,将预处理后的原始时间序列实验能量数据集作为原始时间序列实验能量数据集,重复执行通过第一滑动窗口对原始时间序列实验能量数据集进行连续采样的步骤,直至获得s个第一实验预测能量数据。具体执行过程与上述实施例中第一预测能量数据集的确定过程类似,在此不再赘述。
101.步骤306:对原始时间序列实验能量数据集和第一实验预测能量数据集进行预处理,获得预处理后的原始时间序列实验能量数据集。
102.本步骤中,将原始时间序列实验能量数据集和第一实验预测能量数据集按时间顺序依次排列进行预处理,获得预处理后的原始时间序列实验能量数据集,预处理后的原始时间序列实验能量数据集包括n-m s个能量数据。
103.步骤307:通过第二滑动窗口对预处理后的原始时间序列实验能量数据集进行采样,获取第二实验训练数据集和第二实验预测样本集,其中采样间隔为m,第二实验预测样本集包含m-s个第二实验预测样本。
104.本步骤中,设定第二滑动窗口长度为m’*m 1,其中m’为自然数,同时m’*m 1《n-m s,设定采样间隔为m,利用第二滑动窗口对预处理后的原始时间序列实验能量数据集进行间隔采样,获得第二实验训练数据集和第二实验预测样本集,第二实验预测样本集包括m-s个第二实验预测样本。
105.步骤308:根据第二实验训练数据集对第二预测模型进行训练。
106.本步骤中,第二预测模型可以是xgboost模型、lstm模型或ann模型。
107.步骤309:将第二实验预测样本集输入训练后的第二预测模型生成第二实验预测能量数据集,第二实验预测能量数据集包含m-s个第二实验预测能量数据。
108.本步骤中,第二实验预测样本集只包含特征列,因此将第二实验预测样本集输入训练后的第二预测模型可生成第二实验预测能量数据集,第二实验预测能量数据集包含m-s个第二实验预测能量数据。
109.步骤310:根据第一实验预测能量数据集和第二实验预测能量数据集获取m个时间点的实验预测能量数据。
110.本步骤中,将第一实验预测能量数据集的s个第一实验预测能量数据与第二实验预测能量数据集的m-s个第二实验预测能量数据按时间顺序依次排列,获得m个时间点的实验预测能量数据。
111.步骤311:将m个时间点的实验预测能量数据与原始时间序列验证能量数据集中的m个能量数据进行比对,确定误差值。
112.本步骤中,将m个时间点的实验预测能量数据与原始时间序列验证能量数据集中的m个能量数据进行比对,确认误差值,其中误差值为m个实验预测能量数据与对应时间点
的原始时间序列验证能量数据集中的m个能量数据的差值的绝对值的总和。
113.步骤312:判断s是否已达到预设值。
114.本步骤中,根据预设置的s值,判断s是否已达到预设值。
115.本技术实施例中,可选地,若m》10,可设定s的预设值为10,s由1开始依次增大,重复执行上述步骤直至s达到预设值10。若m《10,可设定s的预设值为m,s由1开始依次增大,重复执行上述步骤直至s达到预设值,则停止循环。
116.可选地,本技术实施例还可以通过如下方式确定s的预设值:若m》10,可设定s的预设值为1,s由10开始依次减小,重复执行上述步骤直至s达到预设值。若m《10,可设定s的预设值为1,s由m开始依次减小,重复执行上述步骤直至s达到预设值,则停止循环。
117.当s没有达到预设值时,则说明还没有对s可能的所有值进行全部验证,则继续后续的验证,重新执行步骤303;当s达到预设值时,则说明已经对s所有的可能值进行了全部验证,则转步骤313。
118.步骤313:将各误差值中的最小误差值对应的s值确定为k值。
119.由于在上述步骤中,每执行一次循环则获取一个误差值,针对不同的s值,对应有不同的误差值,结束循环后,共进行了s个数值的验证,有s个误差值,将误差值最小时对应的s值确定为k值。
120.假设s=10,则依次对时,进行预测,确定各个值对应的误差值,假设在10个误差值中,当s=6时,对应的误差值最小,则可以认为s=6为最优数值,从而将k值确定为6。
121.由上可知,本技术实施例通过对多个可能的k值进行一一验证,取预测误差最小时的值作为k值,进行未来时刻能量数据的预测,大大提高了基于时序序列的能量数据中长期预测数据的准确性。
122.在本发明的一个实施例中,第一预测模型为xgboost模型,第二预测模型为ann模型。
123.在上述实施例中,所述第一预测模型可以采用多种,比如:xgboost、ann或者lstm等。但鉴于不同的模型有不同的特点,本技术发明人经过研究,第一预测模型采用xgboost模型,能够得到最准确的能量数据预测值。如表1所示,为通过利用第一预测能量数据集分别对ann模型、xgboost模型和lstm模型进行训练和预测时,分别对应的训练误差和测试误差,由表1可以发现采用xgboost模型进行训练和预测时的训练误差和测试误差最小,因此使用xgboost模型进行短期预测效果最好。
124.表1同样,在仿真实验中,以风速为例进行仿真实验,如图4所示的ann分钟预测效果
图,即基于ann模型进行风速数据短时预测的效果图,发现其预测值曲线偏离真实值曲线,即利用ann模型进行短期预测获得的风速预测值与真实值存在较大的误差。如图5所示的xgboost分钟预测效果图,即基于xgboost模型进行风速数据短时预测的效果图,发现其预测值曲线与真实值曲线高度重合,即利用xgboost模型进行短期预测获得的风速预测值与真实值的误差较小。如图6所示的lstm分钟预测效果图,即基于lstm模型进行风速数据短时预测的效果图,发现其预测值曲线偏离真实值曲线,即利用lstm模型进行短期预测获得的风速预测值与真实值存在较大的误差。综上所述,通过利用三种模型进行能量数据短时预测,发现基于xgboost模型进行能量数据短时预测时,获取的预测值曲线与实际值曲线重合度最高,故基于xgboost模型进行能量数据短时预测的准确性最高,因此第一预测模型为xgboost模型时,获取的第一预测能量数据集的准确性更好。
125.当第一预测模型采用xgboost时,第二预测模型的选取也非常重要,以风速为例进行仿真实验,表2示出了基于xgboost预处理之后分别采用ann模型、xgboost模型和lstm模型作为第二预测模型,在风速数据中长时预测的优化效果,表中所示的误差为步骤311所述的误差。通过对比发现基于xgboost模型作为第一预测模型时,利用ann模型作为第二预测模型,获得的最终风速预测数据准确度最高。
126.表2综上所述,本技术实施例提出的基于时序序列的能量数据中长期预测方法,通过利用当前时段的原始能量数据进行短时预测获得第一预测能量数据集,由于未对原始能量数据进行处理,因此获得的第一预测能量数据集的准确度较高。再结合利用原始能量数据和第一预测能量数据集获得准确度较高的第二预测能量数据集,最后根据所获取的第一预测能量数据集和第二预测能量数据集获得全部能量预测数据。通过这种方式,大大提高了能量数据预测的准确性。
127.图7示出了本发明实施例提供的基于时序序列的能量数据中长期预测装置的结构示意图。如图7所示,该基于时序序列的能量数据中长期预测装置700包括:第一获取模块702、第一采样模块703、第一训练模块704、第一预测模块705、预处理模块706、第二采样模块707、第二训练模块708、第二预测模块709和第二获取模块710。
128.第一获取模块702,用于获取原始时间序列能量数据集;第一采样模块703,用于通过第一滑动窗口对原始时间序列能量数据集进行采样,获取第一训练数据集和第一预测样本;第一训练模块704,用于根据第一训练数据集对第一预测模型进行训练;第一预测模块705,用于将第一预测样本输入至训练后的第一预测模型生成第一预测能量数据集,第一预测能量数据集包含k个第一预测能量数据,k为小于m的自然数;预处理模块706,用于对原始时间序列能量数据集和第一预测能量数据集进行预处理,获得预处理后的原始时间序列能量数据集;第二采样模块707,用于通过第二滑动窗口对预处理后的原始时间序列能量数据集进行采样,获取第二训练数据集和第二预测样本集,其中采样间隔为m,第二预测样本集
包含m-k个第二预测样本;第二训练模块708,用于根据第二训练数据集对第二预测模型进行训练;第二预测模块709,用于将第二预测样本集输入训练后的第二预测模型生成第二预测能量数据集,第二预测能量数据集包含m-k个第二预测能量数据;第二获取模块710,用于根据第一预测能量数据集和第二预测能量数据集获取m个时间点的能量预测数据。
129.在一种可选的方式中,第一采样模块703还可用于:原始时间序列能量数据集包括n个能量数据,设定第一滑动窗口长度为m 1,m,n均为自然数,m 1《n,通过第一滑动窗口对原始时间序列能量数据集进行全部采样,获得第一训练数据集;调整第一滑动窗口长度为m,将第一滑动窗口向后移动一个数据开始采样,获得第一预测样本。
130.在一种可选的方式中,第一预测模块705还可用于:原始时间序列能量数据集包括n个能量数据,设定第一滑动窗口长度为m 1,m,n均为自然数,m 1《n,通过第一滑动窗口对原始时间序列能量数据集进行全部采样,获得第一训练数据集;调整第一滑动窗口长度为m,将第一滑动窗口向后移动一个数据开始采样,获得第一预测样本。
131.在一种可选的方式中,预处理模块706还可用于:将第一预测能量数据集的k个第一预测能量数据与原始时间序列能量数据集的n个能量数据按时间顺序依次排列进行预处理,获得预处理后的原始时间序列能量数据集,预处理后的原始时间序列能量数据集包括n k个能量数据。
132.在一种可选的方式中,第二采样模块707还可用于:第二滑动窗口长度为m’*m 1,其中m’为自然数,m’*m 1《n k,通过第二滑动窗口对预处理后的原始时间序列能量数据集进行全部采样,其中采样间隔为m,获得第二训练数据集;调整第二滑动窗口长度为(m
’‑
1)*m 1,将第二滑动窗口向后移动一个数据开始采样,其中采样间隔为m,共采样m-k次,获得第二预测样本集,第二预测样本集包含m-k个第二预测样本。
133.在一种可选的方式中,所述基于时序序列的能量数据中长期预测装置700还包括预获取模块701,所述预获取模块701用于获取原始时间序列能量数据集,所述原始时间序列能量数据集包括n个能量数据;将所述原始时间序列能量数据集划分为原始时间序列实验能量数据集和原始时间序列验证能量数据集,所述原始时间序列实验能量数据集包括前n-m个能量数据,所述原始时间序列验证能量数据集包括后m个能量数据,所述m为大于1的自然数;通过第一滑动窗口对所述原始时间序列实验能量数据集进行采样,获取第一实验训练数据集和第一实验预测样本;根据所述第一实验训练数据集对第一预测模型进行训练;将所述第一实验预测样本输入至训练后的所述第一预测模型生成第一实验预测能量数据集,所述第一实验预测能量数据集包含s个第一实验预测能量数据,所述s为小于m的自然数;对所述原始时间序列实验能量数据集和所述第一实验预测能量数据集进行预处理,获得预处理后的原始时间序列实验能量数据集;通过第二滑动窗口对所述预处理后的原始时间序列实验能量数据集进行采样,获取第二实验训练数据集和第二实验预测样本集,其中采样间隔为m,所述第二实验预测样本集包含m-s个第二实验预测样本;根据所述第二实验训练数据集对第二预测模型进行训练;将所述第二实验预测样本集输入训练后的所述第二预测模型生成第二实验预测能量数据集,所述第二实验预测能量数据集包含m-s个第二实验预测能量数据;根据所述第一实验预测能量数据集和所述第二实验预测能量数据集获取
m个时间点的实验预测能量数据;将所述m个时间点的实验预测能量数据与所述原始时间序列验证能量数据集中的m个能量数据进行比对,确定误差值;将所述s依次增大或减小,重复执行上述步骤,确定对应的误差值,直至所述s达到预设值;将各所述误差值中的最小误差值对应的s值确定为k值。
134.图8示出了本技术实施例提供的基于时序序列的能量数据中长期预测设备结构示意图,本技术具体实施例并不对基于时序序列的能量数据中长期预测设备的具体实现做限定。
135.如图8所示,该基于时序序列的能量数据中长期预测设备可以包括:处理器802、通信接口804、存储器806和通信总线808。
136.处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。
137.存储器806用于存放至少一可执行指令810,可执行指令810使处理器802执行如上述基于时序序列的能量数据中长期预测方法实施例中的相关步骤。
138.本技术实施例提供了一种计算机可读存储介质,所述存储介质存储有可执行指令,该可执行指令在基于时序序列的能量数据中长期预测装置上运行时,使得所述基于时序序列的能量数据中长期预测设备执行上述任意方法实施例中的基于时序序列的能量数据中长期预测方法。
139.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本技术实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本技术的内容,并且上面对特定语言所做的描述是为了披露本技术的最佳实施方式。
140.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
141.类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。
142.本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
143.应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的
元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献