CN115358461A - 天然气负荷预测方法、装置、设备、介质 - Google Patents
天然气负荷预测方法、装置、设备、介质 Download PDFInfo
- Publication number
- CN115358461A CN115358461A CN202210992608.1A CN202210992608A CN115358461A CN 115358461 A CN115358461 A CN 115358461A CN 202210992608 A CN202210992608 A CN 202210992608A CN 115358461 A CN115358461 A CN 115358461A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- iteration
- training
- natural gas
- 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.)
- Pending
Links
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 title claims abstract description 176
- 239000003345 natural gas Substances 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 178
- 230000002159 abnormal effect Effects 0.000 claims abstract description 38
- 238000013528 artificial neural network Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 105
- 238000012795 verification Methods 0.000 claims description 67
- 238000012216 screening Methods 0.000 claims description 36
- 239000007789 gas Substances 0.000 claims description 20
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000010200 validation analysis Methods 0.000 claims description 11
- 230000003828 downregulation Effects 0.000 claims description 8
- 238000013277 forecasting method Methods 0.000 claims 1
- 230000000717 retained effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 19
- 238000012545 processing Methods 0.000 abstract description 7
- 230000009466 transformation Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 230000001105 regulatory effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003245 coal Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Operations Research (AREA)
- Primary Health Care (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Biomedical Technology (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种天然气负荷预测方法、装置、设备、介质,应用于天然气负荷技术领域,包括:步骤1:根据获取的天然气的原始数据中的流量数据的绝对中位差对原始数据中的异常数据进行剔除处理,得到样本数据;步骤2:将样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到天然气负荷的预测模型;步骤3:根据预测模型进行天然气负荷预测。通过异常值处理和由循环神经网络和全连接神经网络组成的训练模型,得到用于天然气负荷预测的预测模型,预测效果明显提高。
Description
技术领域
本申请涉及天然气负荷技术领域,具体涉及一种天然气负荷预测方法、装置、设备、介质。
背景技术
随着燃气产业的飞速发展,以及国家环保政策的实施力度的加大,民用和工业“煤改气”超过预期,导致冬季采暖期出现“气荒”现象,除去“寒冬”、“极寒”等天气原因使天然气的供应出现短缺外,天然气消费量的急剧增长占据着“气荒”现象的主要原因。
除了消费量增长之外,“气荒”现象的另一方面原因是:燃气负荷预测精度不足,燃气负荷预测的准确性方面依然存在较大问题。既没有提前预测到天然气急剧增长后的供应短缺状况,也没有预测到“煤改气”政策对燃气用量产生的较大影响,说明随着燃气产业的进一步发展,燃气负荷预测技术并未得到提升,进而导致预测结果偏差过大,出现“气荒”现象。
因此,对城市天然气负荷进行更加准确的预测,关系到城市天然气管网规划能否更好地适应新型能源结构、用户结构和居民生活方式等问题,城市天然气负荷预测在天然气的调度、控制和运行中都发挥了非常重要的作用,为城市的管理和规划提供了重要的参考依据。
因此,需要一种新的进行天然气负荷预测的技术方案。
发明内容
有鉴于此,本说明书实施例提供一种天然气负荷预测方法、装置、设备、介质,以解决现有技术中存在的天然气负荷预测不准确的技术问题。
本说明书实施例提供以下技术方案:
本说明书实施例提供一种天然气负荷预测方法,包括:
步骤1:根据获取的天然气的原始数据中的流量数据的绝对中位差对原始数据中的异常数据进行剔除处理,得到样本数据;
步骤2:将样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到天然气负荷的预测模型;
步骤3:根据预测模型进行天然气负荷预测。
优选地,步骤1,包括:
步骤11:根据天然气的用户类型,对原始数据中的0值进行删除,得到筛选数据;
步骤12:将筛选数据中的每个流量数据与筛选数据中所有的流量数据的中位数作差,并将作差得到的差值取绝对值,得到差值数据;
步骤13:对差值数据取中位数,得到绝对中位差;
步骤14:根据绝对中位差和西格玛系数,对筛选数据中的异常数据进行剔除处理,得到样本数据。
优选地,步骤14,包括:
步骤140:将绝对中位差乘以第一系数,得到等效标准差;
步骤141:若筛选数据中的一个流量数据与等效标准差的差值的绝对值大于西格玛系数与等效标准差的乘积,则对应的流量数据为异常数据,将异常数据从筛选数据中剔除;
步骤142:若筛选数据中的一个流量数据与等效标准差的差值的绝对值小于或者等于西格玛系数与等效标准差的乘积,则对应的流量数据保留,得到样本数据。
优选地,步骤2,包括:
步骤21:对样本数据进行划分,得到训练集和验证集;
步骤22:根据训练集和验证集,对训练模型进行模型训练,得到预测模型。
优选地,步骤21,包括:
步骤210:根据小时级别累计流量数据、天气数据和时间戳将样本数据转换为矩阵形式,并按照预设比例将矩阵形式的样本数据划分为训练集和验证集;
步骤211:根据预设时间步长长度和预设预测个数,在训练集和验证集中构建时间序列-标签对。
优选地,步骤22,包括:
步骤220:根据批量时间序列-标签对数量将训练集中的时间序列-标签对中的时间序列输入训练模型进行前向传播,得到训练模型输出的预测结果,批量时间序列-标签对数量表示每一个批量时间序列-标签对中时间序列-标签对的数量;
步骤221:根据预测结果与时间序列-标签对中的标签的交叉熵,得到训练模型的损失函数值;
步骤222:根据损失函数值和验证集,得到预测模型。
优选地,步骤222,包括:
步骤2220:根据损失函数值和学习率忍耐轮数,迭代更新训练模型中的模型参数,得到中间模型;
步骤2221:根据每一轮迭代得到的中间模型的损失函数值与验证集的迭代忍耐轮数,得到预测模型,每一轮迭代中使用多个批量时间序列-标签对。
优选地,步骤2220,包括:
步骤22201:若使用训练集对训练模型的第一轮迭代得到的损失函数值小于第二轮迭代得到的损失函数值,则更新训练模型中的模型参数得到中间模型,并继续对训练模型进行下一轮迭代,直至迭代终止,第一轮为第二轮的下一轮;
步骤22202:若第一轮迭代得到的损失函数值大于或者等于第二轮迭代得到的损失函数值,则执行步骤22203;
步骤22203:判断迭代轮数是否大于学习率忍耐轮数,若否,则继续对训练模型进行下一轮迭代,若是,则执行步骤22204;
步骤22204:将第一轮迭代的第一学习率乘以下调系数,得到下一轮迭代的第二学习率,使用第二学习率对训练模型进行迭代。
优选地,步骤2221,包括:
步骤22211:在使用训练集的第一轮迭代后,使用验证集训练中间模型,得到验证集的第一轮迭代的损失损失函数值,若验证集的第一轮迭代的损失函数值小于第二轮迭代的损失函数值,则继续使用训练集对中间模型进行迭代;
步骤22212:若验证集的第一轮迭代的损失函数值大于或者等于第二轮迭代的损失函数值,则执行步骤22213;
步骤22213:判断验证集的迭代轮数是否大于迭代忍耐轮数,若是,则终止对于中间模型的迭代,得到预测模型,若否,则继续进行下一轮迭代。
本说明书实施例还提供一种天然气负荷预测装置,包括:
获取模块M1:根据获取的天然气的原始数据中的流量数据的绝对中位差对原始数据中的异常数据进行剔除处理,得到样本数据;
训练模块M2:将样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到天然气负荷的预测模型;
预测模块M3:根据预测模型进行天然气负荷预测。
优选地,获取模块M1,包括:
子模块M11:根据天然气的用户类型,对原始数据中的0值进行删除,得到筛选数据;
子模块M12:将筛选数据中的每个流量数据与筛选数据中所有的流量数据的中位数作差,并将作差得到的差值取绝对值,得到差值数据;
子模块M13:对差值数据取中位数,得到绝对中位差;
子模块M14:根据绝对中位差和西格玛系数,对筛选数据中的异常数据进行剔除处理,得到样本数据。
优选地,子模块M14,包括:
子模块M140:将绝对中位差乘以第一系数,得到等效标准差;
子模块M141:若筛选数据中的一个流量数据与等效标准差的差值的绝对值大于西格玛系数与等效标准差的乘积,则对应的流量数据为异常数据,将异常数据从筛选数据中剔除;
子模块M142:若筛选数据中的一个流量数据与等效标准差的差值的绝对值小于或者等于西格玛系数与等效标准差的乘积,则对应的流量数据保留,得到样本数据。
优选地,训练模块M2,包括:
子模块M21:对样本数据进行划分,得到训练集和验证集;
子模块M22:根据训练集和验证集,对训练模型进行模型训练,得到预测模型。
优选地,子模块M21,包括:
子模块M210:根据小时级别累计流量数据、天气数据和时间戳将样本数据转换为矩阵形式,并按照预设比例将矩阵形式的样本数据划分为训练集和验证集;
子模块M211:根据预设时间步长长度和预设预测个数,在训练集和验证集中构建时间序列-标签对。
优选地,子模块M22,包括:
子模块M220:根据批量时间序列-标签对数量将训练集中的时间序列-标签对中的时间序列输入训练模型进行前向传播,得到训练模型输出的预测结果,批量时间序列-标签对数量表示每一个批量时间序列-标签对中时间序列-标签对的数量;
子模块M221:根据预测结果与时间序列-标签对中的标签的交叉熵,得到训练模型的损失函数值;
子模块M222:根据损失函数值和验证集,得到预测模型。
优选地,子模块M222,包括:
单元D2220:根据损失函数值和学习率忍耐轮数,迭代更新训练模型中的模型参数,得到中间模型;
单元D2221:根据每一轮迭代得到的中间模型的损失函数值与验证集的迭代忍耐轮数,得到预测模型,每一轮迭代中使用多个批量时间序列-标签对。
优选地,单元D2220,包括:
子单元D22201:若使用训练集对训练模型的第一轮迭代得到的损失函数值小于第二轮迭代得到的损失函数值,则更新训练模型中的模型参数得到中间模型,并继续对训练模型进行下一轮迭代,直至迭代终止,第一轮为第二轮的下一轮;
子单元D22202:若第一轮迭代得到的损失函数值大于或者等于第二轮迭代得到的损失函数值,则执行子单元D22203;
子单元D22203:判断迭代轮数是否大于学习率忍耐轮数,若否,则继续对训练模型进行下一轮迭代,若是,则执行子单元D22204;
子单元D22204:将第一轮迭代的第一学习率乘以下调系数,得到下一轮迭代的第二学习率,使用第二学习率对训练模型进行迭代。
优选地,单元D2221,包括:
子单元D22211:在使用训练集的第一轮迭代后,使用验证集训练中间模型,得到验证集的第一轮迭代的损失损失函数值,若验证集的第一轮迭代的损失函数值小于第二轮迭代的损失函数值,则继续使用训练集对中间模型进行迭代;
子单元D22212:若验证集的第一轮迭代的损失函数值大于或者等于第二轮迭代的损失函数值,则执行子单元D22213;
子单元D22213:判断验证集的迭代轮数是否大于迭代忍耐轮数,若是,则终止对于中间模型的迭代,得到预测模型,若否,则继续进行下一轮迭代。
本说明书实施例还提供一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的天然气负荷预测方法。
本说明书实施例还提供一种计算机存储介质,计算机存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时执行上述的天然气负荷预测方法。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:在异常值处理方面,使用绝对中位差的方法,相较于常规的3西格玛标准差的做法,由于流量表的累计读数和维护等原因,小时流量可能产生很大的异常数,因此不能直接对数据求标准差,也不适合直接使用平均值进行3西格玛离群性判断。用中位数替代平均值,用1.486倍的绝对中位差替代标准差,可以更好的进行异常值处理,使得到的数据更能反应真实的天然气使用情况;对由循环神经网络和全连接神经网络组成的训练模型进行训练后,得到用于天然气负荷预测的预测模型,效果明显优于常规统计的时序预测方法,循环神经网络就可以使用长短期记忆网络(Long-Short Term Memory,LSTM),由于LSTM特有的遗忘和记忆机制,在小时级别上的预测表现也普遍好于机器学习回归算法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种天然气负荷预测方法的流程示意图;
图2是本申请实施例提供的一种异常数据处理的流程示意图;
图3是本申请实施例提供的一种预测模型训练的流程示意图;
图4是本申请实施例提供的一种学习率调整的流程示意图;
图5是本申请实施例提供的一种训练模型迭代的流程示意图;
图6是本申请实施例提供的一种一次性预测某调压站未来15天的流量数据的示意图;
图7是本申请实施例提供的一种一次性预测某调压站未来48小时的流量数据的示意图;
图8是本申请实施例提供的一种一次性预测某调压站未来48小时的效果示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践。
目前,关于燃气负荷预测技术的方法种类较多,燃气负荷预测方法不仅有多元线性回归分析、时间序列法和最小二乘法等统计学预测方法和灰色模型、模糊理论和弹性系数等传统预测方法,随着全球信息化技术的跨越式发展,人工智能成为社会各行各业快速发展和提高工作效率的基础,小波分析、支持向量机和神经网络等机器学习算法也被逐步应用于预测领域的实验研究,以便更加精确快速的对城市天然气负荷值进行预测,为负荷预测在未来的发展方向提供了新的途径。
但是,基于统计学的预测方法,已不适用于当下天然气用量趋势复杂多变的场景,而线性回归、随机森林和极致梯度提升(eXtreme Gradient Boosting,XGB)等机器学习算法,在效果上也存在对前时序数据的跟随性不足,导致预测结果的平均绝对误差(MeanAbsolute Error,MAE)和/或平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)指标不高,仍不能满足企业的预测要求。
基于此,本说明书实施例提出了一种处理方案:根据与天然气负荷相关的特征数据构建训练集和验证集,并特征数据输入由两层长短期记忆网络(Long-Short TermMemory,LSTM)和一层全连接神经网络构建的网络模型对未来的天然气负荷情况进行预测,可以全方位地解决天然气负荷预测中的主要矛盾,提升预测精度。
以下结合附图,说明本申请各实施例提供的技术方案。
如图1所示,本说明书实施例提供一种天然气负荷预测方法,包括:
步骤1:根据获取的天然气的原始数据中的流量数据的绝对中位差对原始数据中的异常数据进行剔除处理,得到样本数据。
其中,原始数据中包括小时级别累计流量数据、天气数据和时间戳等。
具体地,调压站的流量表一般进行读数累积计数,因此数据集中每个时刻的流量值均为流量表在当时时刻的历史累积读数。若要推算这一个小时内的累积流量,则需要用下一个时刻的读数与当前读数相减。由于流量表的机械或电子结构等先天原因,需要定期进行维护,而维护后流量表的累积计数可能清零,也可能为一个其他的整数值,此时,对流量表的前后时刻求差值得到的小时流量值,可能是一个绝对值很大的正数或负数,将这样的数据引入模型训练,无疑会产生极大的问题,例如样本特征列的标准化操作时,会将每个特征的所有值,变换为均值为0,标准差为1的分布。由于有超大数的存在,按照这样数据生成的标准差也是极大的,通过线性变换将巨大标准差转换为1后,就会隐藏到很多样本流量的离群效果,比如正常流量在(1000-10000),如果一个样本的流量为50万,但由于异常值的存在,标准差可能为100万,此时50万这种明显异常的值仍然在一个标准差之内,无法体现其离群特性。再者,数据完成标准化变换后,由于异常数据带来的原始巨大标准差,导致大量样本流量值线性变换后的差值极小,在后续的神经网络正向传播得到预测值后与标签值作对比生成损失函数值时,该损失函数值也会极小,而且难以继续下降,导致模型训练效果很差。为此,需要对数据进行异常值剔除处理。
其中,绝对中位差是指对一数据集求中位数后,将数据集中的每一个数据与中位数作差后,对得到的所有差值取绝对值,得到的新的数据集的中位数。
在本说明书实施例中根据绝对中位差判断原始数据中的每一个数据是否为异常数据,在判断为异常数据后,将异常数据从原始数据中剔除,得到样本数据。
步骤2:将样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到天然气负荷的预测模型。
本说明书实施例中对于循环神经网络的类型不做限制,示例性的,可以为LSTM。
进一步地,构建由两层LSTM和一层全连接神经网络组成的训练模型,将样本数据输入LSTM,然后将两层LSTM的输出数据,输入到全连接神经网络中,进行模型训练,得到天然气负荷的预测模型。
其中,在进行模型训练时,根据预测数据与样本数据中的真实数据的差异,决定是否终止模型训练进程。
步骤3:根据预测模型进行天然气负荷预测。
具体地,根据训练得到的预测模型使用历史数据对未来的天然气负荷进行预测。
本说明书实施例中对于预测模型的预测数据数量不做限制,示例性的,可以根据历史数据预测未来一小时、三小时或者四小时等的天然气负荷数据。
在本说明书中根据绝对中位差进行异常数据的剔除,使样本数据可以更好的贴合天然气的使用情况,以使后续模型训练的效果更加接近真实的情况,从而进行更好的预测,并且通过两层LSTM和一层全连接神经网络组成的训练模型进行训练后,得到的预测模型进行天然气负荷预测,由于结合小时级别累计流量数据、天气数据和时间戳等信息可以很好的反应现实情况,从而使预测模型的预测效果更好。
在一种可选的实施方式中,如图2所示,本说明书实施例提供一种天然气负荷预测方法,包括:步骤11:根据天然气的用户类型,对原始数据中的0值进行删除,得到筛选数据。
其中,用户类型包括调压站或者用户等。针对用户类型是调压站还是用户,确定是否去除0值,如果是调压站,其后连接的用户不只一个,大概率不会出现0值情况,可以去除0值。如果是用户,根据其用气规律判断0值是否异常后再决定是否保留。筛选后的数据排序后得到筛选数据。
步骤12:将筛选数据中的每个流量数据与筛选数据中所有的流量数据的中位数作差,并将作差得到的差值取绝对值,得到差值数据。
具体地,首先获取筛选数据的中位数,然后,将筛选数据中的每个流量数据与中位数作差,之后,将得到的所有的差值取绝对值,得到差值数据,差值数据中的数据量与筛选数据中的数据量相等。
步骤13:对差值数据取中位数,得到绝对中位差。
在一种可选的实施方式中,可以通过设置百分比的方式获取差值数据中的中位数。示例性的,百分比可以设置为50%。
步骤14:根据绝对中位差和西格玛系数,对筛选数据中的异常数据进行剔除处理,得到样本数据。
在一种可选的实施方式中,步骤14,包括:步骤140:将绝对中位差乘以第一系数,得到等效标准差。
本说明书实施例中对于第一系数的设置不做限制,示例性的,可以根据经验取为1.4826。
步骤141:若筛选数据中的一个流量数据与等效标准差的差值的绝对值大于西格玛系数与等效标准差的乘积,则对应的流量数据为异常数据,将异常数据从筛选数据中剔除。
其中,西格玛系数表征正态分布中的标准差,这里可以取为2.5。
具体地,对于筛选数据中的每一个流量数据,若流量数据与等效标准差的差值的绝对值大于西格玛系数与等效标准差的乘积,则认为对应的流量数据为异常数据,将其从筛选数据中剔除。
步骤142:若筛选数据中的一个流量数据与等效标准差的差值的绝对值小于或者等于西格玛系数与等效标准差的乘积,则对应的流量数据保留,得到样本数据。
步骤2:将样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到天然气负荷的预测模型。
步骤3:根据预测模型进行天然气负荷预测。
在本说明书实施例中通过绝对中位差和西格玛系数对筛选数据中的每一个数据进行判断是否为异常数据,相比于现有技术更能体现数据的特性。
在一种可选的实施方式中,如图3所示,本说明书实施例提供的天然气负荷预测方法,包括:
步骤1:根据获取的天然气的原始数据中的流量数据的绝对中位差对原始数据中的异常数据进行剔除处理,得到样本数据。
步骤21:对样本数据进行划分,得到训练集和验证集。
本说明书实施例中对于划分方式不做限制,示例性的,由于使用的两层LSTM和一层全连接神经网络组成的训练模型,可以根据需要特征将样本数据以矩阵形式输入LSTM的输入端。
具体地,步骤21,包括:步骤210:根据小时级别累计流量数据、天气数据和时间戳将样本数据转换为矩阵形式,并按照预设比例将矩阵形式的样本数据划分为训练集和验证集;步骤211:根据预设时间步长长度和预设预测个数,在训练集和验证集中构建时间序列-标签对。
在实际应用中,将获取的小时级别累计流量数据作为自回归特征,保持不变;将时间戳中的月、日、时信息,生成小时、小时正弦变换、小时余弦变换、天、星期几、星期几正弦变换、星期几余弦变换、月、月正弦变换、月余弦变换、季度、是否为工作日、时间戳正弦变换、时间戳余弦变换等14个时间特征;获取当地的日级别天气信息,关联到对应时间戳下的流量数据,本说明书实施例中仅使用了一天中的最高温度和最低温度两个特征,如有更多外部数据条件,可以使用小时级别的最高温度、最低温度、平均温度、湿度、风力、阴晴、雨量、雪量等构建更多天气特征;对以上17个特征,n条样本数据,转换为矩阵形式,将样本数据按照预设比例划分为训练集和验证集。
本说明书实施例中对于预设比例的设置不做限制,示例性的,样本数据的2%为验证集,其余为训练集。
进一步地,在训练集中,根据预设时间步长长度和预设预测个数,构建时间序列-标签对。验证集数据也作同样处理。
具体地,若预设时间步长长度为24,预设预测个数为1,则将样本数据按照时间先后顺序排序后,将第1个数据到第24个数据中的24个数据和第25个数据构建为一个时间序列-标签对,其中,第25个数据为真实流量数据的标签,然后,向前滑动一个数据,将第2个数据到第25个数据中的24个数据和第26个数据构建为一个时间序列-标签对,依次进行下去,得到多个时间序列-标签对。
步骤22:根据训练集和验证集,对训练模型进行模型训练,得到预测模型。
具体的,步骤22,包括:步骤220:根据批量时间序列-标签对数量将训练集中的时间序列-标签对中的时间序列输入训练模型进行前向传播,得到训练模型输出的预测结果,批量时间序列-标签对数量表示每一个批量时间序列-标签对中时间序列-标签对的数量;步骤221:根据预测结果与时间序列-标签对中的标签的交叉熵,得到训练模型的损失函数值;步骤222:根据损失函数值和验证集,得到预测模型。
其中,根据批量时间序列-标签对数量将样本数据分为若干个批次(Batch)输入训练模型中,其中每个Batch中包含批量时间序列-标签对数量个时间序列-标签对。示例性的,批量时间序列-标签对数量(BATCH_SIZE)为32,则将32个时间序列-标签对在同一批次中输入训练模型,同一批次中包含的数据个数为24+32-1=55。
可知的是,在对训练模型进行模型训练之前,需要构建训练模型。具体地,主要定义输入层、隐藏层和全连接层的大小。首先,确定输入层,即时间步长数据的矩阵大小,矩阵定为三维,各维度为(BATCH_SIZE,SEQ_LEN,INPUT_SIZE),其中,BATCH_SIZE是指每个Batch的大小,即每一个批量时间序列-标签对数量,示例性,可以取为32,SEQ_LEN是指预设时间步长长度内的样本个数,INPUT_SIZE是指每个样本的特征数量,示例性的,本说明书实施例中使用了17个特征,因此,INPUT_SIZE可以设置为17。三个参数分别代表一次训练使用的时间序列-标签对的数量,即一个批量时间序列-标签对数量、预设时间步长长度内的样本量,以及每条样本的特征数量,可在参数配置模块中分别定为32、24、17;然后,定义LSTM隐藏层大小为(NUM_LAYERS,BATCH_SIZE,HIDDEN_SIZE),NUM_LAYERS表示LSTM隐藏层的数量,在本说明书中使用两层LSTM,因此,隐藏层的数量为2,HIDDEN_SIZE表示LSTM每层的神经元数量,这里设置为128,上述三个参数分别代表隐藏层数量、一次模型训练使用的时间序列-标签对数量、每个隐藏层的神经元数量,可在参数配置模块中分别定为2、32、128;再然后,定义全连接层,全连接神经网络层以LSTM最后一个隐藏层的输出为输入,以标签结果为输出,示例性的,若预设预测个数是1,则输出的是根据24个样本数据预测的未来一个小时的流量数据。全连接神经网络层输出的大小为(HIDDEN_SIZE,OUTPUT_SIZE),HIDDEN_SIZE和OUTPUT_SIZE分别表示LSTM隐藏层的神经元数量、全连接层输出的数据维度,可分别设置为128、1;之后,全连接神经网络层的前向传播结果的三维大小为:(BATCH_SIZE,SEQ_LEN,OUTPUT_SIZE),可分别设置为32、24、1;最后,预测模型的预测结果维度是32、1。
在训练模型构建完成后,将训练集生成的时间序列-标签对,提取时间序列部分,按照输入层的矩阵大小,即(BATCH_SIZE,SEQ_LEN,OUTPUT_SIZE),提供给训练模型进行前向传播,生成预测结果。预测结果与标签的交叉熵即为损失函数值。有了损失函数值,就可以通过梯度下降等算法,迭代更新训练模型中的参数。关键在于,梯度下降所使用的学习率的值该如何介定,而且训练模型更新参数到什么时候不至于过拟合,即在训练集表现好而在验证集效果差。这就需要制定依据损失函数值进行动态调整的学习率策略和模型训练早停机制。
进一步地,步骤222,包括:步骤2220:根据损失函数值和学习率忍耐轮数,迭代更新训练模型中的模型参数,得到中间模型。
具体地,步骤2220,包括:步骤22201:若使用训练集对训练模型的第一轮迭代得到的损失函数值小于第二轮迭代得到的损失函数值,则更新训练模型中的模型参数得到中间模型,并继续对训练模型进行下一轮迭代,直至迭代终止,第一轮为第二轮的下一轮;步骤22202:若第一轮迭代得到的损失函数值大于或者等于第二轮迭代得到的损失函数值,则执行步骤22203;步骤22203:判断迭代轮数是否大于学习率忍耐轮数,若否,则继续对训练模型进行下一轮迭代,若是,则执行步骤22204;步骤22204:将第一轮迭代的第一学习率乘以下调系数,得到下一轮迭代的第二学习率,使用第二学习率对训练模型进行迭代。
其中,每一轮(EPOCH)迭代表示使用全部的样本数据对训练模型进行依次训练。一轮迭代中包括多个Batch,若样本数据中的数据量构成整数倍的Batch后,有剩余的数据量,且剩余的数据量少于一个Batch中的数据量,则将剩余的数据量在一轮迭代中删除。
在实际应用中,学习率就是在反向传播时,优化器对训练模型所有基于损失函数值的模型参数的偏导数上,进行梯度下降算法迭代的横向步进,这个步进太大,可能错过导数的最低点,以至于无法找到模型参数的最优解;如果步进太小,训练模型可能在迭代次数达到迭代轮数上限时仍无法找到导数的最低点。一般的策略是随着迭代轮数的增加,学习率在基础学习率的基础上,不断下调,但是机械的下调不是好的方法。如果对前后轮迭代后的损失函数值作比较,按照损失值下降学习率不变,损失值不下降学习率乘以固定系数下调的方法,就容易更快的找到更优的模型参数解。总结来说就是针对损失函数值进行学习率自适应调整。其中,基础学习率为首次迭代时设置的学习率。
在本说明书实施例中增加了一个在损失函数值不下降时,学习率也不下降的学习率忍耐轮数参数,就是允许在学习率忍耐轮数的迭代内,即便损失函数不下降,学习率也不用下调,以防止学习率下调速度过快。因为当迭代轮数上限(EPOCHS)较大时,若没有学习率忍耐轮数,则学习率可能在远没有达到EPOCHS的学迭代轮数时,就已经进行了数次的指数级别的下调了,每次下调的学习率=下调前学习率*下调系数,过小的学习率对模型调优的意义已经不大。
其中,下调系数和学习率忍耐轮数为预先设置的,在本说明书中不做限制,示例性的,下调系数可以设置为0.6,学习率忍耐轮数可以设置为1。
如图4所示,在首次迭代时,使用基础学习率,在梯度下降算法中寻找模型参数的最优解;在迭代过程中使用当前学习率完成一轮数据的模型训练,若是首轮数据迭代,则该学习率为基础学习率;然后,检查模型是否停止迭代,若停止迭代,则使用当前的模型参数,如没有停止迭代,则继续检查损失函数值是否下降,其中,模型迭代是否停止需要根据步骤2221进行判断;若是,损失函数值下降,则继续使用当前的学习率进行下一轮的迭代,若是损失函数值没有下降,则进一步判断迭代轮数是否达到学习率忍耐轮数;若没有达到学习率忍耐轮数,则使用当前的学习率继续进行下一轮迭代,若达到学习率忍耐轮数,则将当前的学习率×下调系数设置为下一轮使用的学习率,继续下一轮迭代。
步骤2221:根据每一轮迭代得到的中间模型的损失函数值与验证集的迭代忍耐轮数,得到预测模型,每一轮迭代中使用多个批量时间序列-标签对。
具体地,步骤2221,包括:步骤22211:在使用训练集的第一轮迭代后,使用验证集训练中间模型,得到验证集的第一轮迭代的损失损失函数值,若验证集的第一轮迭代的损失函数值小于第二轮迭代的损失函数值,则继续使用训练集对中间模型进行迭代;步骤22212:若验证集的第一轮迭代的损失函数值大于或者等于第二轮迭代的损失函数值,则执行步骤22213;步骤22213:判断验证集的迭代轮数是否大于迭代忍耐轮数,若是,则终止对于中间模型的迭代,得到预测模型,若否,则继续进行下一轮迭代。
本说明书实施例中使用早停法判断是否停止模型迭代。早停法,是为了防止模型训练不断的迭代训练下去,可能出现两个结果:A.即便在训练集数据内,训练模型的损失函数值也没有一直下降,反而在达到临界值后上升;B.在迭代轮数上限范围内,损失函数值整体一直为下降趋势,但是模型训练过于强调在训练集内的效果,当在验证集内进行预测时,效果并不好。
为了解决过拟合的问题,需要使模型训练在每一轮数据迭代后,记录其在验证集的损失函数值,如果损失函数值在验证集已经不下降,则此时便可以通过程序告知模型停止迭代训练了。与学习率调整的情况一样,仍然需要一个迭代忍耐轮数(PATIENCE),容许在PATIENCE轮迭代内,即便验证集的损失函数值不下降,模型也继续迭代训练下去。以便不错过使损失函数值更低的机会。当然,对于验证集的损失函数值的查看,是不能影响到模型参数更新的,否则相当于验证集的数据也参与了模型训练,则结果便不客观了。为此,在对验证集数据进行前向传播预测结果时,程序需要进入到验证模中,此模式下,计算验证集的损失函数值,不会影响到模型的参数,即不会对训练集的训练过程产生任何影响。
如图5所示,当训练模型开始迭代后,一开始模型在新一轮的样本数据迭代训练,在训练结束后,获取得到损失函数值并存储,然后通过验证集进行训练模型,验证集的损失函数值是否比上一个检查点的损失函数值下降,上一个检查点即上几轮迭代训练中的最小的损失函数值所在的迭代轮数,不一定是在上一轮;若本轮迭代的损失函数值相比于上一检查点的损失函数值下降,则存储本轮的损失函数值,以及对应的迭代轮数和对应的模型参数,本轮则为新的检查点,得到的检查点处的模型,即为中间模型,并根据本轮的损失函数值更新检查点的损失函数值;若本轮迭代的损失函数值相比于上一检查点的损失函数值没有下降,则判断验证集损失函数值不下降的轮数,是否已经达到最大的迭代忍耐轮数,若是,则模型迭代训练结束,若否,则继续进行下一轮的迭代训练。
步骤3:根据预测模型进行天然气负荷预测。
本说明书实施例设置SEQ_LEN=24,预测的样本个数(NUM_LABLES)=1,即训练每24个小时预测一个小时的流量,但客户的预测需求是多变的,其预测的未来时长可能在24小时、48小时,甚至一周的时间范围内变动。为此,本说明书实施例除了选择单步预测结果外,再增加一个数据滚动预测的机制。即将预测的一个小时的流量和其他16个未来可知特征,其中,时间特征可由未来的时间戳变换而来、天气特征可链接外部天气预报数据,组成一条新的样本数据,融合进预测提供的24条样本当中,并使整个数据向未来步进一个样本。如此,又得到了一个新的24条样本的数据,该数据中最后一条即是之前预测的结果拼接其他可知特征而得到的。将以上过程循环至客户所需要的预测个数后,则此时总的融合样本集中最后n条即为全量预测结果,n表示客户希望预测的样本个数。
如图6所示展示了在某调压站上小时级别时间颗粒度的预测效果,横轴为时间,纵轴为流量,其中,实线为真实数据(real)曲线,虚线为一次性的预测结果(prediction),涵盖约15天、约360条流量结果。当然,利用滚动预测,一次性预测的时间越久,更后面的流量预测结果可能更不准确。因此,生成更精细的效果指标时,可以直接预测未来48小时情况,如图7所示,横轴为时间,纵轴为流量,其中,实线为真实数据(real)曲线,虚线为一次性的预测结果(prediction),涵盖约48小时,其中,如图8所示,预测未来48小时的情况中模型的平均绝对误差(Mean Absolute Error,MAE)为665.0649233217592,平均绝对误差率(MeanAbsolute Percentage Error,MAPE)为0.12200207175839425,最大绝对误差(MAX_AE)为1858.47705078125,最大绝对误差率(MAX_APE)为0.346894075917738,最小绝对误差(MIN_AE)为9.314453125,最小绝对误差率(MIN_APE)为0.0036816020256916996,在用户最关注的MAPE指标上,48小时平均预测的误差率约12.2%,预测模型的预测效果更好。
在实际应用中,由于模型训练使用的数据量并不是无限大的,可能只覆盖了一年或两年的历史数据,而随着“煤改气”的深入,更多的需求会爆发出来,在小时级别预测调压站或大用户的用气流量,预测模型需要学习新的规律和趋势,以使好的预测效果保持下去,这便需要套用模型检验的方法,对线上的预测效果作持续监测。如果出现长时间的MAPE、MAX_APE等指标的上升,则程序要对数据库重新调用训练/验证数据,进行模型训练,若效果指标回升,则更新服务;反之,则需要人工介入,通过对参数进行微调,实现更好的模型效果。
本说明书实施例针对不同城市的情况,通用性的实现小时级别的流量预测,并保证较好的预测效果。本说明书实施例可以全方位地解决天然气负荷预测中的主要矛盾,提升预测精度。其中,在异常值处理方面,相较于常规的3西格玛标准差的做法,好处在于:由于流量表的累计读数和维护等原因,小时流量可能产生很大的异常数,因此不能直接对数据求标准差,也不适合直接使用平均值进行3西格玛离群性判断。用中位数替代平均值,用1.4826倍的绝对中位差替代标准差,更能处理此类问题;由于使用了深度学习模型,其效果明显优于常规统计的时序预测方法。且由于LSTM特有的遗忘和记忆机制,在小时级别上的预测表现也普遍好于机器学习回归算法,如随机森林、XGBoost等。
本说明书实施例尽可能利用了有限数据的价值,其中在时间特征的生成方面,采用了月份、星期几和小时等时间信息在正弦余弦的变换处理,使模型更容易学习在月份、星期和小时上的周期规律;使用多BATCH同时训练,提升了训练效率,并且由于模型一次更新参数使用了多组时间序列-标签对,模型更容易收敛,否则模型每次更新参数都会波动较大,难以收敛;学习率根据损失函数值是否下降的自适应机制,并融合了不下降轮数的等待机制,使学习率维持合理下降的速度,更有利于找到模型参数偏导数的最低值;模型迭代的早停机制,是防止模型过拟合的有效有段。本说明书实施例中使用的早停机制是基于模型切换到验证模式后,对验证集损失函数计算后,判断该值相较于检查点的损失函数值,其中,验证模式下,对验证数据的损失函数计算不会改变模型参数,在指定的数据迭代轮数内,是否下降,若未下降,直接终止模型训练。否则,更新检查点模型参数,并记录检查点验证集的损失函数值,继续进行迭代;本说明书实施例可灵活应对任何样本量的预测需求。其思想核心就是预测结果合并至输入数据后,滚动向前推进再预测,直到预测的样本数量满足需求为止;本说明书实时采用线上监测保证天然气负荷预测服务长久平稳运行的基础,其思想核心在于对MAE/MAPE指标的动态监控,若长时间,例如一周内,指标未达到预测阈值,则重新训练模型并更新服务。
本说明书实施例还提供一种天然气负荷预测装置,包括:
获取模块M1:根据获取的天然气的原始数据中的流量数据的绝对中位差对原始数据中的异常数据进行剔除处理,得到样本数据。
其中,获取模块M1,包括:子模块M11:根据天然气的用户类型,对原始数据中的0值进行删除,得到筛选数据;子模块M12:将筛选数据中的每个流量数据与筛选数据中所有的流量数据的中位数作差,并将作差得到的差值取绝对值,得到差值数据;子模块M13:对差值数据取中位数,得到绝对中位差;子模块M14:根据绝对中位差和西格玛系数,对筛选数据中的异常数据进行剔除处理,得到样本数据。
在一种可选的实施方式中,子模块M14,包括:子模块M140:将绝对中位差乘以第一系数,得到等效标准差;子模块M141:若筛选数据中的一个流量数据与等效标准差的差值的绝对值大于西格玛系数与等效标准差的乘积,则对应的流量数据为异常数据,将异常数据从筛选数据中剔除;子模块M142:若筛选数据中的一个流量数据与等效标准差的差值的绝对值小于或者等于西格玛系数与等效标准差的乘积,则对应的流量数据保留,得到样本数据。
训练模块M2:将样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到天然气负荷的预测模型
其中,训练模块M2,包括:子模块M21:对样本数据进行划分,得到训练集和验证集;子模块M22:根据训练集和验证集,对训练模型进行模型训练,得到预测模型。
具体地,子模块M21,包括:子模块M210:根据小时级别累计流量数据、天气数据和时间戳将样本数据转换为矩阵形式,并按照预设比例将矩阵形式的样本数据划分为训练集和验证集;子模块M211:根据预设时间步长长度和预设预测个数,在训练集和验证集中构建时间序列-标签对。
进一步地,子模块M22,包括:子模块M220:根据批量时间序列-标签对数量将训练集中的时间序列-标签对中的时间序列输入训练模型进行前向传播,得到训练模型输出的预测结果,批量时间序列-标签对数量表示每一个批量时间序列-标签对中时间序列-标签对的数量;子模块M221:根据预测结果与时间序列-标签对中的标签的交叉熵,得到训练模型的损失函数值;子模块M222:根据损失函数值和验证集,得到预测模型。
其中,子模块M222,包括:单元D2220:根据损失函数值和学习率忍耐轮数,迭代更新训练模型中的模型参数,得到中间模型;单元D2221:根据每一轮迭代得到的中间模型的损失函数值与验证集的迭代忍耐轮数,得到预测模型,每一轮迭代中使用多个批量时间序列-标签对。
具体地,单元D2220,包括:子单元D22201:若使用训练集对训练模型的第一轮迭代得到的损失函数值小于第二轮迭代得到的损失函数值,则更新训练模型中的模型参数得到中间模型,并继续对训练模型进行下一轮迭代,直至迭代终止,第一轮为第二轮的下一轮;子单元D22202:若第一轮迭代得到的损失函数值大于或者等于第二轮迭代得到的损失函数值,则执行子单元D22203;子单元D22203:判断迭代轮数是否大于学习率忍耐轮数,若否,则继续对训练模型进行下一轮迭代,若是,则执行子单元D22204;子单元D22204:将第一轮迭代的第一学习率乘以下调系数,得到下一轮迭代的第二学习率,使用第二学习率对训练模型进行迭代。
进一步地,单元D2221,包括:子单元D22211:在使用训练集的第一轮迭代后,使用验证集训练中间模型,得到验证集的第一轮迭代的损失损失函数值,若验证集的第一轮迭代的损失函数值小于第二轮迭代的损失函数值,则继续使用训练集对中间模型进行迭代;子单元D22212:若验证集的第一轮迭代的损失函数值大于或者等于第二轮迭代的损失函数值,则执行子单元D22213;子单元D22213:判断验证集的迭代轮数是否大于迭代忍耐轮数,若是,则终止对于中间模型的迭代,得到预测模型,若否,则继续进行下一轮迭代。
预测模块M3:根据预测模型进行天然气负荷预测。
本说明实施例还提供一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的天然气负荷预测方法。
本说明实施例还提供一种计算机存储介质,计算机存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时执行上述的天然气负荷预测方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例侧重说明的都是与其他实施例的不同之处。尤其,对于后面说明的产品实施例而言,由于其与方法是对应的,描述比较简单,相关之处参见系统实施例的部分说明即可。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种天然气负荷预测方法,其特征在于,包括:
步骤1:根据获取的天然气的原始数据中的流量数据的绝对中位差对所述原始数据中的异常数据进行剔除处理,得到样本数据;
步骤2:将所述样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到所述天然气负荷的预测模型;
步骤3:根据所述预测模型进行天然气负荷预测。
2.根据权利要求1所述的天然气负荷预测方法,其特征在于,所述步骤1,包括:
步骤11:根据所述天然气的用户类型,对所述原始数据中的0值进行删除,得到筛选数据;
步骤12:将所述筛选数据中的每个所述流量数据与所述筛选数据中所有的所述流量数据的中位数作差,并将作差得到的差值取绝对值,得到差值数据;
步骤13:对所述差值数据取中位数,得到所述绝对中位差;
步骤14:根据所述绝对中位差和西格玛系数,对所述筛选数据中的异常数据进行剔除处理,得到所述样本数据。
3.根据权利要求2所述的天然气负荷预测方法,其特征在于,所述步骤14,包括:
步骤140:将所述绝对中位差乘以第一系数,得到等效标准差;
步骤141:若所述筛选数据中的一个所述流量数据与所述等效标准差的差值的绝对值大于所述西格玛系数与所述等效标准差的乘积,则对应的所述流量数据为异常数据,将所述异常数据从所述筛选数据中剔除;
步骤142:若所述筛选数据中的一个所述流量数据与所述等效标准差的差值的绝对值小于或者等于所述西格玛系数与所述等效标准差的乘积,则对应的所述流量数据保留,得到所述样本数据。
4.根据权利要求1-3任一项所述的天然气负荷预测方法,其特征在于,所述步骤2,包括:
步骤21:对所述样本数据进行划分,得到训练集和验证集;
步骤22:根据所述训练集和所述验证集,对所述训练模型进行模型训练,得到所述预测模型。
5.根据权利要求4所述的天然气负荷预测方法,其特征在于,所述步骤21,包括:
步骤210:根据小时级别累计流量数据、天气数据和时间戳将所述样本数据转换为矩阵形式,并按照预设比例将矩阵形式的所述样本数据划分为所述训练集和所述验证集;
步骤211:根据预设时间步长长度和预设预测个数,在所述训练集和所述验证集中构建时间序列-标签对。
6.根据权利要求5所述的天然气负荷预测方法,其特征在于,所述步骤22,包括:
步骤220:根据批量时间序列-标签对数量将所述训练集中的所述时间序列-标签对中的所述时间序列输入所述训练模型进行前向传播,得到所述训练模型输出的预测结果,所述批量时间序列-标签对数量表示每一个批量时间序列-标签对中所述时间序列-标签对的数量;
步骤221:根据所述预测结果与所述时间序列-标签对中的标签的交叉熵,得到所述训练模型的损失函数值;
步骤222:根据所述损失函数值和所述验证集,得到所述预测模型。
7.根据权利要求6所述的天然气负荷预测方法,其特征在于,所述步骤222,包括:
步骤2220:根据所述损失函数值和学习率忍耐轮数,迭代更新所述训练模型中的模型参数,得到中间模型;
步骤2221:根据每一轮迭代得到的所述中间模型的所述损失函数值与所述验证集的迭代忍耐轮数,得到所述预测模型,所述每一轮迭代中使用多个所述批量时间序列-标签对。
8.根据权利要求7所述的天然气负荷预测方法,其特征在于,所述步骤2220,包括:
步骤22201:若使用训练集对所述训练模型的第一轮迭代得到的所述损失函数值小于第二轮迭代得到的所述损失函数值,则更新所述训练模型中的所述模型参数得到所述中间模型,并继续对所述训练模型进行下一轮迭代,直至迭代终止,所述第一轮为所述第二轮的下一轮;
步骤22202:若所述第一轮迭代得到的所述损失函数值大于或者等于所述第二轮迭代得到的所述损失函数值,则执行步骤22203;
步骤22203:判断迭代轮数是否大于所述学习率忍耐轮数,若否,则继续对所述训练模型进行下一轮迭代,若是,则执行步骤22204;
步骤22204:将所述第一轮迭代的第一学习率乘以下调系数,得到下一轮迭代的第二学习率,使用所述第二学习率对所述训练模型进行迭代。
9.根据权利要求7或8所述的天然气负荷预测方法,其特征在于,所述步骤2221,包括:
步骤22211:在使用所述训练集的所述第一轮迭代后,使用所述验证集训练所述中间模型,得到所述验证集的所述第一轮迭代的所述损失损失函数值,若所述验证集的所述第一轮迭代的所述损失函数值小于所述第二轮迭代的所述损失函数值,则继续使用所述训练集对所述中间模型进行迭代;
步骤22212:若所述验证集的所述第一轮迭代的所述损失函数值大于或者等于所述第二轮迭代的所述损失函数值,则执行步骤22213;
步骤22213:判断所述验证集的所述迭代轮数是否大于所述迭代忍耐轮数,若是,则终止对于所述中间模型的迭代,得到所述预测模型,若否,则继续进行下一轮迭代。
10.一种天然气负荷预测装置,其特征在于,包括:
获取模块M1:根据获取的天然气的原始数据中的流量数据的绝对中位差对所述原始数据中的异常数据进行剔除处理,得到样本数据;
训练模块M2:将所述样本数据输入由循环神经网络和全连接神经网络组成的训练模型中进行模型训练,得到所述天然气负荷的预测模型;
预测模块M3:根据所述预测模型进行天然气负荷预测。
11.一种电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的天然气负荷预测方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时执行权利要求1-9中任一项所述的天然气负荷预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210992608.1A CN115358461A (zh) | 2022-08-18 | 2022-08-18 | 天然气负荷预测方法、装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210992608.1A CN115358461A (zh) | 2022-08-18 | 2022-08-18 | 天然气负荷预测方法、装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115358461A true CN115358461A (zh) | 2022-11-18 |
Family
ID=84002774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210992608.1A Pending CN115358461A (zh) | 2022-08-18 | 2022-08-18 | 天然气负荷预测方法、装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115358461A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116085685A (zh) * | 2023-03-15 | 2023-05-09 | 上海叁零肆零科技有限公司 | 保证用气高峰时段天然气稳定供气的方法和系统 |
CN116737804A (zh) * | 2023-08-15 | 2023-09-12 | 成都秦川物联网科技股份有限公司 | 基于智慧燃气物联网的燃气数据分级处理方法和系统 |
CN117059201A (zh) * | 2023-07-26 | 2023-11-14 | 佛山市南舟智能科技有限公司 | 一种污水化学需氧量的预测方法、装置、设备及存储介质 |
CN117875480A (zh) * | 2023-12-18 | 2024-04-12 | 上海叁零肆零科技有限公司 | 小时级天然气流量负荷预测方法、介质及电子设备 |
-
2022
- 2022-08-18 CN CN202210992608.1A patent/CN115358461A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116085685A (zh) * | 2023-03-15 | 2023-05-09 | 上海叁零肆零科技有限公司 | 保证用气高峰时段天然气稳定供气的方法和系统 |
CN117059201A (zh) * | 2023-07-26 | 2023-11-14 | 佛山市南舟智能科技有限公司 | 一种污水化学需氧量的预测方法、装置、设备及存储介质 |
CN117059201B (zh) * | 2023-07-26 | 2024-06-11 | 佛山市南舟智能科技有限公司 | 一种污水化学需氧量的预测方法、装置、设备及存储介质 |
CN116737804A (zh) * | 2023-08-15 | 2023-09-12 | 成都秦川物联网科技股份有限公司 | 基于智慧燃气物联网的燃气数据分级处理方法和系统 |
CN116737804B (zh) * | 2023-08-15 | 2023-11-10 | 成都秦川物联网科技股份有限公司 | 基于智慧燃气物联网的燃气数据分级处理方法和系统 |
US12009992B2 (en) | 2023-08-15 | 2024-06-11 | Chengdu Qinchuan Iot Technology Co., Ltd. | Methods and systems for hierarchical processing of gas data based on smart gas internet of things |
CN117875480A (zh) * | 2023-12-18 | 2024-04-12 | 上海叁零肆零科技有限公司 | 小时级天然气流量负荷预测方法、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hafeez et al. | Electric load forecasting based on deep learning and optimized by heuristic algorithm in smart grid | |
CN115358461A (zh) | 天然气负荷预测方法、装置、设备、介质 | |
CN107578124B (zh) | 基于多层改进gru神经网络的短期电力负荷预测方法 | |
CN111783953B (zh) | 一种基于优化lstm网络的24点电力负荷值7日预测方法 | |
CN101551884B (zh) | 面向大规模样本的cvr电力负荷快速预测方法 | |
CN110969290B (zh) | 一种基于深度学习的径流概率预测方法及系统 | |
CN112990556A (zh) | 一种基于Prophet-LSTM模型的用户用电能耗预测方法 | |
CN111260136A (zh) | 一种基于arima-lstm组合模型的楼宇短期负荷预测方法 | |
CN111861013B (zh) | 一种电力负荷预测方法及装置 | |
CN111079989B (zh) | 一种基于dwt-pca-lstm的供水公司供水量预测装置 | |
CN112329990A (zh) | 一种基于lstm-bp神经网络的用户用电负荷预测方法 | |
CN113554466A (zh) | 一种短期用电量预测模型构建方法、预测方法和装置 | |
CN113449919B (zh) | 一种基于特征和趋势感知的用电量预测方法及系统 | |
CN113011680A (zh) | 一种电力负荷预测方法及系统 | |
CN112990587A (zh) | 一种对台区用电进行精准预测的方法及系统、设备、介质 | |
CN113205223A (zh) | 一种电量预测系统及其预测方法 | |
CN114169434A (zh) | 一种负荷预测方法 | |
CN114154716B (zh) | 一种基于图神经网络的企业能耗预测方法及装置 | |
CN115600640A (zh) | 基于分解网络的电力负荷预测方法 | |
CN112348236B (zh) | 用于智能用电监测终端的异常日负荷需求预测系统与方法 | |
CN117578440A (zh) | 一种基于神经网络的电网负荷预测方法 | |
CN116885699A (zh) | 基于双重注意力机制的电力负荷预测方法 | |
CN116341753A (zh) | 一种使用机器学习对区域二氧化碳排放预测的方法 | |
CN116205359A (zh) | 一种日前电力负荷预测的方法、装置、终端和存储介质 | |
CN115907131A (zh) | 一种北方地区电采暖负荷预测模型搭建方法和系统 |
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 |