CN117236485B - 一种基于cnn-bilstm算法减小预测电网供电量误差的方法 - Google Patents
一种基于cnn-bilstm算法减小预测电网供电量误差的方法 Download PDFInfo
- Publication number
- CN117236485B CN117236485B CN202311026867.XA CN202311026867A CN117236485B CN 117236485 B CN117236485 B CN 117236485B CN 202311026867 A CN202311026867 A CN 202311026867A CN 117236485 B CN117236485 B CN 117236485B
- Authority
- CN
- China
- Prior art keywords
- model
- power supply
- supply quantity
- cnn
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 15
- 238000004140 cleaning Methods 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 17
- 238000010248 power generation Methods 0.000 claims description 11
- 238000013499 data model Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000000750 progressive effect Effects 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000007787 long-term memory Effects 0.000 abstract description 5
- 230000006403 short-term memory Effects 0.000 abstract description 5
- 230000001537 neural effect Effects 0.000 abstract description 4
- 230000005611 electricity Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 108010023321 Factor VII Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于CNN‑BILSTM算法减小预测电网供电量误差的方法,包括:获取数据、数据清洗、构建特征、构建算法、改进模型(优化数据集)、模型验证;本发明在卷积神经网络‑长短期记忆网络(CNN‑LSTM)算法的基础上对LSTM采用双向序列传播(BILSTM),形成卷积神经网络‑双向长短期记忆网络(CNN‑BILSTM),通过此算法来建模预测电网供电量,在不破坏原有已训练好的模型情况下通过优化数据集的方式减小模型误差,避免多次训练模型、省时省力,有效减小模型误差。
Description
技术领域
本发明涉及人工智能算法领域,具体是一种基于CNN-BILSTM算法减小预测电网供电量误差的方法。
背景技术
随着夏季来临,各地的用电量迎来了高峰,供电量也随之迎来了高峰。然而受用户用电量波动影响,供电量也随之波动,给电网调度带来了困难。为了能更准确的预测电网供电量,优化模型减小预测误差显得尤为必要。
然而,传统的改进模型减小模型误差通常为超参数优化、迭代次数优化等。它的缺点为破坏了原有已训练好的模型结构,即每调优一次,模型都需要重新训练一次。但是对于过亿的超大型数据集(甚至更多),每重新训练一次模型都是非常麻烦的,短则几小时长则一夜。而若是采用抽样或者截取部分数据集训练模型,又可能造成以偏概全。因此,优化模型的过程中如果不破坏原有已训练好的模型结构将变得省时省力。
发明内容
有鉴于此,本发明提供一种基于CNN-BILSTM算法减小预测电网供电量误差的方法,在卷积神经网络-长短期记忆网络(CNN-LSTM)算法的基础上对LSTM采用双向序列传播(BILSTM),形成卷积神经网络-双向长短期记忆网络(CNN-BILSTM),通过此算法来建模预测电网供电量,在不破坏原有已训练好的模型情况下通过优化数据集的方式减小模型误差。
一种基于CNN-BILSTM算法减小预测电网供电量误差的方法,其特征在于,包括如下步骤:
步骤一、从数据中台获取历史数据集,所述历史数据集包括日期、供电量、用电量、负载率、光伏发电量;
步骤二、对步骤一获取的历史电力数据进行数据清洗,所述数据清洗包括异常值处理、空缺值填充和将未来7天加入到历史数据集,并添加相应日期形成新数据集,日期对应数据项为空缺状态;
步骤三、在步骤二处理后的新数据集基础上构建净供电量字段和节假日字段,并将供电量、用电量、负载率、光伏发电量、净供电量分别进行7天前的滑窗和30天前的滑窗,将当前的供电量与7天前的用电量、供电量、负载率、净供电量以及30天前的用电量、供电量、负载率、净供电量形成映射关系,然后删除部分原始变量使自变量与因变量之间形成错位映射,最终形成输入数据模型;
步骤四、基于步骤三得到的输入数据模型,采用CNN-BILSTM模型对未来7天的供电量进行预测得到初步预测结果;
步骤五、通过优化数据集的方式优化CNN-BILSTM模型,采用优化后的CNN-BILSTM模型对未来7天的供电量进行预测;
步骤六、根据划分数据集的测试条件下各测试组预测结果的平均绝对百分比误差,选定最小误差的划分数据集的方式训练模型。
进一步的,步骤五通过优化数据集的方式优化CNN-BILSTM模型具体包括:将数据集分为训练集、验证集、真实预测集3部分,设置训练集、验证集、真实预测各种分比;划分数据集时写成可变变量从模型外传入;对真实预测集的预测采用滚动循环递进式。
本发明采用CNN-BILSTM算法短期真实预测电网供电量,不破坏已训练好的原有模型结构的方式改进模型减小误差,避免多次训练模型、省时省力,有效减小模型误差。
附图说明
图1是本发明实施例基于CNN-BILSTM算法减小预测电网供电量误差的方法的流程图;
图2是本发明实施例进行数据清洗后的数据表;
图3是本发明实施例预测未来7天的预测结果数据表;
图4是本发明实施例训练后的模型示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于CNN-BILSTM算法减小预测电网供电量误差的方法,其特点是在优化模型的过程中不破坏已训练好的模型结构,省时省力,整个流程包括获取数据、数据清洗、构建特征、构建算法、改进模型(优化数据集)、模型验证、结果分析。具体的实施流程步骤如下:
步骤1.获取数据
模型的数据来源于数据中台。
本实施例主要为某地区20220101-20230615的数据,字段分别为日期、供电量、用电量、负载率、光伏发电量。
步骤2.数据清洗
模型的数据清洗分为以下几个过程:
(1)异常值处理,光伏发电量中有很多“\N”的字符串,经咨询该符号代表光伏发电量为0,故将该符号替换为0;
(2)空缺值填充,这里采用较为便捷的均值填充法,对每列空缺数据进行填充;
(3)将未来7天加入到数据集,并添加相应日期,由于获取不到其它变量的未来信息,此时是空缺状态。
数据清洗之后,如图2所示:
步骤3.构建特征
除了第一步中获取的5个已有的特征外(日期、供电量、用电量、负载率、光伏发电量),还需要额外衍生构建特征,分为以下几个部分:
步骤3.1、构建净供电量字段。净供电量=供电量-光伏发电量;
步骤3.2、构建节假日字段。根据日期采用python的chinese_calendar库对节假日信息进行标记,节假日标记为1,非节假日标记为0;
步骤3.3、滑窗。供电特征具有一定周期性,将供电量、用电量、负载率、光伏发电量、净供电量,分别进行7天前的滑窗(分别生成用电量_7、供电量_7、负载率_7、净供电量_7)和30天前的滑窗(分别生成用电量_30、供电量_30、负载率_30、净供电量_30),即将当前的供电量与7天前的用电量、供电量、负载率、净供电量,30天前的用电量、供电量、负载率、净供电量形成映射关系。
步骤3.4、通过步骤3.1的滑窗衍生出多个变量后,可删除部分原始变量。删掉步骤1中获取的供电量、用电量、负载率、光伏发电量,以及步骤3.1中的净供电量,共5个字段,这样自变量与因变量之间就形成了错位映射(因变量与自变量不在同一时刻)。其中用电量_7、供电量_7、负载率_7、光伏发电量_7、净供电量_7、用电量_30、供电量_30、负载率_30、光伏发电量_30、净供电量_30是自变量;供电量是因变量。
最终,输入数据模型的特征如表1所示:
表1输入模型的特征表
步骤4.构建网络结构
经过了前面3个步骤,准备工作已经就绪。这里对构建的CNN-BILSTM网络结构进行说明。本模型采用的是pytorch框架下的CNN-BILSTM组合算法,进行真实预测。由CNN卷积神经网络和BILSTM双向长短期记忆网络组成。CNN用于提取特征,双向长短期记忆网络BILSTM用于处理时序方面的预测。在CNN卷积网络构建中,这里采用一维卷积Conv1D,使用池化层下采样,池化核大小为[1,2],即只在特征维度上下采样,序列窗口保持不变。在把特征数据从CNN输入至BILSTM之前需要调整通道函数,融合通道信息,将通道数降为1,然后把通道维挤压掉。接下来通过BILSTM处理数据的时间序列信息,最后经过一个全连接层就能够得到初步的预测结果。
由于是预测未来7天,将每一次的预测结果循环添加到尾部:
第一次预测:最后14个真实值->预测值1,
第二次预测:最后13个真实值+预测值1->预测值2,
第三次预测:最后12个真实值+预测值1~2->预测值3,
......
第七次预测:最后8个真实值+预测值1~6->预测值7。
如图3所示
步骤5.改进算法模型(优化数据集)
通过上一步得到初步的预测结果后,此时的误差较大,需要改进CNN-BILSTM模型。现有改进模型减小模型误差通常的方法有超参数优化、迭代次数优化等。它的缺点为破坏了原有的模型结构,即每调优一次,模型都需要重新训练一次。但是对于过亿的大型数据集,重新训练一次模型是非常麻烦的,短则几小时长则一夜。因此,优化模型的过程中如果不破坏原有的模型结构将变得省时省力。
通过优化数据集的方式来减小模型误差,其优点为操作简单,不破坏原有的模型结构。这里采用优化数据集的方式来减小模型误差,具体实施方式主要在以下3个方面:
(1)数据集分为训练集、验证集、真实预测集3部分,它们之间不同的比例会使得模型误差存在较大区别,在本模型中最终划分比为6:2:2达到最佳;
(2)划分数据集时不能直接写成定值,而是写成可变变量从模型外传入;
(3)对真实预测集的预测有2种,固定式和滚动循环递进式,这里采用后者。
数据集分为3段:训练集、验证集、真实预测集。不同长度不同的方式搭配会对模型误差造成较明显影响。在这里同个模型划分为不同的测试组进行测试。如表2所示,划分训练集有如下测试组:
表2
步骤6.模型验证
为了减小预测单一月份所带来的偏差,还需要对不同的月份进行预测。
如表3所示,每次模型验证
表3
模型验证 | 数据集 | 预测日期 |
验证1 | 20220101-20230228 | 20230301-20230307 |
验证2 | 20220101-20230331 | 20230401-20230407 |
验证3 | 20220101-20230430 | 20230501-20230507 |
验证4 | 20220101-20230531 | 20230601-20230607 |
步骤7.结果分析
从划分数据集的测试条件下,各测试组结果展示如表4所示:
表4
测试条件 | 测试组1 | 测试组2 | 测试组3 | 测试组4 |
预测首日mape | 13.3% | 9.1% | 10.8% | 10.1% |
预测前7日mape | 12.3% | 11.5% | 14.7% | 12.3% |
其中mape(平均绝对百分比误差)的公式为:mape=|真实值-预测值|/真实值*100%
预测首日mape是指对预测出的3.1日,4.1日,5.1日,6.1日的mape求平均值,即对应模型验证里4次首个预测日期。预测前7日mape是指对数据集接下来首个7日预测的mape,分别对应模型验证里4次验证的预测日期,见表5。
可以看到测试组2有最小误差,确定使用这种划分数据集的方式。
表5
模型验证 | 预测日期 | mape | 其中预测首日mape |
验证1 | 20230301-20230307 | 11.0% | 8.5% |
验证2 | 20230401-20230407 | 7.3% | 9.8% |
验证3 | 20230501-20230507 | 21.6% | 14.7% |
验证4 | 20230601-20230607 | 6.0% | 3.1% |
最后模型结果如图4:
由此可见,通过划分不同数据集对分别模型测试后,模型的mape误差分别发生了变化,在同等情况下,由测试组3和测试组4可知,在一定范围内提高训练集长度的占比,能减小mape。同时经过多次验证,模型在不同日期也会出现不同误差,其中5.1-5.7号受大型节假日影响,模型误差明显偏大,由于该地区是旅游城市,受游客影响明显,供电量也符合实际情况,模型验证通过。
由于这种改进模型的方式,其数据集参数是写在模型外面,预测的时候才会调用,不会破坏原有已训练好的模型,也不会导致重复训练模型。最终,通过这种减小误差的方式(优化数据集,可在已训练好的模型外调整),能有效减小模型误差。经过CNN-BILSTM多变量模型对供电量的预测,7日综合平均mape为11.5%,其中预测首日mape为9.1%。
本发明采用CNN-BILSTM算法短期真实预测电网供电量,不破坏已训练好的原有模型结构的方式改进模型减小误差,避免多次训练模型、省时省力。在CNN-BILSTM算法模型的建模流程中,包含了获取数据、数据清洗、构建特征、构建算法、优化训练集、模型验证、结果分析。其中较为关键的点为不破坏已训练好的原有模型结构的方式改进模型减小误差,有效减小模型误差。
本发明的特点是真实预测时,在不破坏已训练好的模型结构上优化模型,避免了每优化一次模型就需重新训练一次模型,对于越是超大型数据集则效果越明显。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (1)
1.一种基于CNN-BILSTM算法减小预测电网供电量误差的方法,其特征在于,包括如下步骤:
步骤一、从数据中台获取历史数据集,所述历史数据集包括日期、供电量、用电量、负载率、光伏发电量;
步骤二、对步骤一获取的历史电力数据进行数据清洗,所述数据清洗包括异常值处理、空缺值填充和将未来7天加入到历史数据集,并添加相应日期形成新数据集,日期对应数据项为空缺状态;
步骤三、在步骤二处理后的新数据集基础上构建净供电量字段和节假日字段,并将供电量、用电量、负载率、光伏发电量、净供电量分别进行7天前的滑窗和30天前的滑窗,将当前的供电量与7天前的用电量、供电量、负载率、净供电量以及30天前的用电量、供电量、负载率、净供电量形成映射关系,然后删除部分原始变量使自变量与因变量之间形成错位映射,最终形成输入数据模型;
步骤四、基于步骤三得到的输入数据模型,采用CNN-BILSTM模型对未来7天的供电量进行预测得到初步预测结果;
步骤五、通过优化数据集的方式优化CNN-BILSTM模型,采用优化后的 CNN-BILSTM模型对未来7天的供电量进行预测;
步骤六、根据划分数据集的测试条件下各测试组预测结果的平均绝对百分比误差,选定最小误差的划分数据集的方式训练模型;
步骤五通过优化数据集的方式优化CNN-BILSTM模型具体包括:将数据集分为训练集、验证集、真实预测集3部分,设置训练集、验证集、真实预测集划分比为6:2:2;划分数据集时写成可变变量从模型外传入;对真实预测集的预测采用滚动循环递进式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311026867.XA CN117236485B (zh) | 2023-08-15 | 2023-08-15 | 一种基于cnn-bilstm算法减小预测电网供电量误差的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311026867.XA CN117236485B (zh) | 2023-08-15 | 2023-08-15 | 一种基于cnn-bilstm算法减小预测电网供电量误差的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117236485A CN117236485A (zh) | 2023-12-15 |
CN117236485B true CN117236485B (zh) | 2024-05-03 |
Family
ID=89097481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311026867.XA Active CN117236485B (zh) | 2023-08-15 | 2023-08-15 | 一种基于cnn-bilstm算法减小预测电网供电量误差的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117236485B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117639452B (zh) * | 2024-01-23 | 2024-04-23 | 深圳市科沃电气技术有限公司 | 逆变器的电压补偿方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293326A (zh) * | 2022-07-05 | 2022-11-04 | 深圳市国电科技通信有限公司 | 电力负荷预测模型的训练方法、装置及电力负荷预测方法 |
CN115936208A (zh) * | 2022-12-01 | 2023-04-07 | 广东电网有限责任公司 | 基于深度混合学习模型的短期电力负荷预测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988359B (zh) * | 2021-09-08 | 2024-08-13 | 中南大学 | 基于非对称Laplace分布的风功率预测方法和系统 |
-
2023
- 2023-08-15 CN CN202311026867.XA patent/CN117236485B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293326A (zh) * | 2022-07-05 | 2022-11-04 | 深圳市国电科技通信有限公司 | 电力负荷预测模型的训练方法、装置及电力负荷预测方法 |
CN115936208A (zh) * | 2022-12-01 | 2023-04-07 | 广东电网有限责任公司 | 基于深度混合学习模型的短期电力负荷预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117236485A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674604B (zh) | 基于多维时序帧卷积lstm的变压器dga数据预测方法 | |
CN113962364B (zh) | 一种基于深度学习的多因素用电负荷预测方法 | |
CN111860982B (zh) | 一种基于vmd-fcm-gru的风电场短期风电功率预测方法 | |
CN114611792B (zh) | 一种基于混合CNN-Transformer模型的大气臭氧浓度预测方法 | |
CN111563706A (zh) | 一种基于lstm网络的多变量物流货运量预测方法 | |
CN114092832B (zh) | 一种基于并联混合卷积网络的高分辨率遥感影像分类方法 | |
CN113128113B (zh) | 一种基于深度学习和迁移学习的贫乏信息建筑负荷预测方法 | |
CN111401599B (zh) | 一种基于相似性搜索和lstm神经网络的水位预测方法 | |
CN117236485B (zh) | 一种基于cnn-bilstm算法减小预测电网供电量误差的方法 | |
CN111079989B (zh) | 一种基于dwt-pca-lstm的供水公司供水量预测装置 | |
CN109787821B (zh) | 一种大规模移动客户流量消费智能预测方法 | |
CN112884236B (zh) | 一种基于vdm分解与lstm改进的短期负荷预测方法及系统 | |
CN111353620A (zh) | 构建网点件量预测模型的方法、装置、设备及存储介质 | |
CN114548586B (zh) | 一种基于混合模型的短期电力负荷预测方法及系统 | |
CN117154704B (zh) | 一种基于多尺度时空图注意力卷积网络的光伏功率预测方法 | |
CN115308558B (zh) | Cmos器件寿命预测方法、装置、电子设备及介质 | |
CN112651543A (zh) | 一种基于vmd分解与lstm网络的日用电量预测方法 | |
CN112418545A (zh) | 一种基于负荷特征及模型融合的售电量预测方法及系统 | |
CN117494888A (zh) | 基于优化级联的分布式光伏功率预测方法及系统 | |
CN116107279A (zh) | 基于注意力深度神经网络的流程工业能耗多目标优化方法 | |
CN116775687A (zh) | 一种基于数模共生的时间序列预测闭环框架 | |
CN117236201A (zh) | 一种基于Diffusion和ViT的降尺度方法 | |
CN114692981A (zh) | 基于Seq2Seq模型的中长期径流预报方法和系统 | |
CN113988415A (zh) | 一种中长期电力负荷预测方法 | |
CN117390502A (zh) | 一种基于ResIOFNN网络的电压数据缺失值填补方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |