CN116307115A - 一种基于改进Transformer模型的二次供水用水量预测方法 - Google Patents

一种基于改进Transformer模型的二次供水用水量预测方法 Download PDF

Info

Publication number
CN116307115A
CN116307115A CN202310143617.8A CN202310143617A CN116307115A CN 116307115 A CN116307115 A CN 116307115A CN 202310143617 A CN202310143617 A CN 202310143617A CN 116307115 A CN116307115 A CN 116307115A
Authority
CN
China
Prior art keywords
data
water consumption
model
training
water
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
Application number
CN202310143617.8A
Other languages
English (en)
Inventor
苟茂华
陈雅丹
付友行
徐建钢
何东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Supcon Information Industry Co Ltd
Original Assignee
Zhejiang Supcon Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Supcon Information Industry Co Ltd filed Critical Zhejiang Supcon Information Industry Co Ltd
Priority to CN202310143617.8A priority Critical patent/CN116307115A/zh
Publication of CN116307115A publication Critical patent/CN116307115A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply
    • YGENERAL 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS 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/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于改进Transformer模型的二次供水用水量预测方法,包括:获取历史用水量数据并进行数据预处理;将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组,并与位置编码相加得到数据样本;建立包括缩放点乘注意力模块以及多头注意力模块的改进Transformer模型,并输入数据样本进行训练得到用水量预测模型;通过用水量预测模型对用水量进行预测。本发明对二次供水泵房的历史数据进行分析和预处理后输入到改进Transformer模型中进行训练,使得模型在训练中自动学习出规律,并在模型训练过程中不断进行迭代优化使其用水量预测能力达到精度和可靠性要求。

Description

一种基于改进Transformer模型的二次供水用水量预测方法
技术领域
本发明涉及二次供水技术领域,尤其是涉及一种基于改进Transformer模型的二次供水用水量预测方法。
背景技术
二次供水用水量预测主要是通过预测的用水量,进行水箱进水控制,来改善二次供水泵房的水质和能耗。用水量预测过小,可能会导致小区停水等问题,用水量预测过大,可能会导致水质下降,还会增加能耗成本。在传统的二次供水机理模型中,用水量的预测需要通过用户数、需水量、高峰时段、用水趋势等数据,针对这部分数据存在较大不确定性问题。此外,用水量不仅受到用户数、用水趋势等因子的影响,还会受到节假日等的影响,所以对用水量的影响不能单从几个具有完整数据的影响因子进行建模,还要考虑到其他因子对它的综合影响,所需要的基础数据太多太复杂,专业型数据来源于专家、从业人员经验;实时型数据来源于感知层仪表,但是很多历史数据在此前并没有进行记录,使得数据缺失从而导致用水量预测的结果与实际用水量偏离较大,数据精度不高可靠性不足。
在中国专利文献上公开的“一种基于大数据的二次供水量预测方法、设备及储存介质”,其公开号为CN115423224A,公开日期为2022-12-02,包括:建立单户居民用水预测模型;具体包括:获取单户居民用水数据生成数据集;根据正态分布将全部居民用水量划分为5个等级,并对获取的全部居民用水数据进行等级标注;根据决策树算法训练得到单户居民用水预测模型;基于单户居民用水预测模型预测单户居民用水量,根据单户居民用水量计算获得二次供水用水点的用水量预测值;若单户居民用水量预测值与单户居民用水量实际值不属于同一用水量等级,则修正单户居民用水预测模型。该技术解决了现有的二次供水量预测模型存在的模型输入参数简单、缺乏反馈优化机制的问题;但是该技术中模型建立和训练所需要的基础数据过多,同时还需要考虑节假日等因素的影响,因此需要各个影响因素的历史数据,但是在实际操作中只有部分影响因素存在完整历史数据,这会使得用水量预测的结果与实际用水量偏离较大,数据精度不高可靠性不足。
发明内容
本发明是为了克服现有技术中进行用水量预测需要的用户数、需水量、高峰时段、用水趋势等数据存在较大不确定性和不完整,使得用水量预测结果数据精度不高可靠性不足的问题,提供了一种基于改进Transformer模型的二次供水用水量预测方法,对二次供水泵房的历史数据进行分析和预处理后输入到改进Transformer模型中进行训练,使得模型在训练中自动学习出规律,并在模型训练过程中不断进行迭代优化使其用水量预测能力达到精度和可靠性要求。
为了实现上述目的,本发明采用以下技术方案:
一种基于改进Transformer模型的二次供水用水量预测方法,包括:
获取历史用水量数据并进行数据预处理;
将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组,并与位置编码相加得到数据样本;
建立包括缩放点乘注意力模块以及多头注意力模块的改进Transformer模型,并输入数据样本进行训练得到用水量预测模型;
通过用水量预测模型对用水量进行预测。
本发明中Transformer模型在时序预测问题上完全绕开了序列串行的约束方式,并根据位置编码技术,使其同样可以获取到序列间的位置信息,同时相比于现有技术中需要大量不同种类基础数据进行模型建立和训练的缺点,本发明中的方法并不需要对工作日和节假日等影响因素的数据进行处理,可以直接将预处理后的用水量数据输入到模型中,使得模型在训练中自动学习出规律,这一定程度上提高了模型的泛化能力,同时通过对二次供水的用水量预测来应用到二次供水的进水次数、进水量等的智能控制。
作为优选,所述数据预处理的过程包括:
采用箱型图对历史用水量数据进行异常检测,并将异常值作为缺失值进行处理;
对于历史用水量数据中的缺失值,采用移动中值滤波方式进行填充;
将历史用水量数据进行Box-Cox变换后在进行标准化处理。
本发明中数据的预处理包括异常检测、缺失填补和特征变换等步骤,由于用水量数据是通过仪器仪表采集的,因为仪器仪表的安装或维修等因素会导致数据存在缺失或类似“尖刺”的异常值,因此需要先对异常值进行处理;考虑到本发明时间序列数据前后存在一定的关联性,因此通过移动中值滤波方式进行填充,对于数据具有一定的抗敏性;而特征变换则是将数据处理成有利于模型训练的形式。
作为优选,将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组的过程包括:
将历史用水量数据进行训练集和测试集划分,并设定输入窗口大小m和输出窗口大小1;
结合滑动窗口遍历方式生成序列数据和目标数据,其维度大小均为[T-m,m,1],T为训练集或训练集的数据量。
本发明中历史用水量数据是一维结构,而Transformer模型训练的数据是三维结构,即:[sample_size,seq_len,feature],其中sample_size为样本数量,seq_len为样本序列的长度,feature为序列的特征维度,因此需要将用水量数据先进行维度转化后才能进行训练;将总的历史用水量数据按照一定比例划分成训练集和测试集分别对模型进行训练和对训练完成的模型进行测试。
作为优选,预处理后的历史用水量数据进行转化并与位置编码相加后,还需要进行样本填充和拼接后得到数据样本;
所述样本填充是指在转化完成后的数据组的最顶部填充一行数据,填充的数据值为0;
所述拼接是指将填充后的数据组Xt的前半列与填充前的数据组X0的后半列进行拼接,作为改进Transformer模型最终输入的数据样本。
本发明中Transformer模型本质上在实现3个过程:将序列样本的全局信息增加到每一个样本点上;量化每个样本点在序列中所具有的关注度,即权重;重复之前出现过的样本点组合;模型并不善于完成最后一个过程,这在很大程度上会降低模型的学习效率,甚至还可能会用过拟合的错误方式完成任务;因此增加了样本填充和拼接的过程,拼接后的数据样本在模型的训练过程中引入了先验信息,使得序列前后样本点具有比较大的关联性,这样模型不用学习也能获得这些信息,进而加速训练。
作为优选,所述Box-Cox变换为:
Figure BDA0004088370100000031
其中λ是变换参数,yi为第i个用水量数据;
本发明中使用的历史用水量数据可能因为分布规律不同,需要进行数据变换操作以适合模型的训练,由于进水浊度数据均为正,恰好满足利用Box-Cox变换的条件,同时使用Box-Cox变换可以使用水量数据趋于正态分布。
作为优选,所述标准化处理为:
Figure BDA0004088370100000032
x为处理前的数据,x'为处理后的数据,xmin和xmax分别为标准化处理前的最小值和最大值。
本发明中由于用水量数据数值比较大,在模型训练时很容易导致梯度数值较大而直接达到激活函数饱和区,使得模型更新困难,因此需将数据进行标准化处理,将数据按比例缩放,使之落入一个特性区间,并去除数据单位得到无量纲的纯数值。
作为优选,所述改进Transformer模型中将Transformer模型的解码器替换为线性变换层;所述改进Transformer模型通过数据样本的训练集进行训练得到用水量预测模型,并通过数据样本的测试集测试用水量预测模型;训练时根据均方差MSE最小作为评价指标确定单次训练的样本个数batch_size。
本发明中是对用水量的预测,属于时序回归问题,而现有的Transformer模型包括编码器和解码器两部分,对于解码器而言在回归问题上会累计误差,导致模型预测效果差,因此在改进的模型设计中去掉解码部分,直接使用线性变换层进行替换,从而提升模型的预测精度。
作为优选,所述改进Transformer模型采用RMSProp优化算法进行迭代训练:
Figure BDA0004088370100000041
Figure BDA0004088370100000042
Figure BDA0004088370100000043
和/>
Figure BDA0004088370100000044
分别是第t轮和第t-1轮迭代过程中累积的权重梯度动量;dW为损失函数关于权重W的梯度;β为梯度累积的指数;α为学习率,ε为常数。
本发明中在训练过程中,考虑到模型梯度更新时,在损失函数变化较大和平缓的地方采用了同样的学习率;如果学习率太大很容易在损失函数变化较大的地方直接跨过最优解,如果学习率太小则在损失函数平缓的地方学习很慢,很难收敛;因此采用RMSProp优化算法,保证了损失函数变化较大时,将学习率自动更改为一个较小值,反之则更改为较大的值,从而加快模型的学习速度。
作为优选,通过数据样本的测试集对用水量预测模型测试的输出结果,还需要进行Box-Cox逆变换及反归一化变换得到用水量预测值;
将用水量预测值和测试集中的实际用水量进行精度拟合R2,得到用水量预测模型的预测效果:
Figure BDA0004088370100000045
yi为实际用水量数据;
Figure BDA0004088370100000046
为预测的用水量数据;/>
Figure BDA0004088370100000047
为实际用水量数据的平均值。
本发明中通过对用水量预测值和实际用水量两个序列的精度拟合来测试用水量预测模型的预测精度和效果;由于在模型训练时训练的数据样本经过Box-Cox变换和标准化处理,因此使用测试集对用水量预测模型的测试结果需要相应的进行逆变换来得到最终的用水量预测值。
本发明具有如下有益效果:对二次供水泵房的历史数据进行分析和预处理后输入到改进Transformer模型中进行训练,使得模型在训练中自动学习出规律,并在模型训练过程中不断进行迭代优化使其用水量预测能力达到精度和可靠性要求;本发明中不需要对工作日、节假日等影响因素的数据进行处理,基础数据的数量要求不高,所需要的历史数据是二次供水泵房中最普遍的检测数据,因此数据较完整,使得用水量预测结果符合实际用水量,数据精度高。
附图说明
图1是本发明二次供水用水量预测方法的流程图;
图2是本发明实施例中现有的Transformer模型的框架设计图;
图3是本发明实施例中现有的缩放点乘注意力结构图和多头注意力结构图;
图4是本发明实施例中历史用水量数据的部分内容;
图5是本发明实施例中基于异常检测的箱型图;
图6是本发明实施例中用水量数据预处理后的部分结果;
图7是本发明实施例中对序列数据进行样本填充的示意图;
图8是本发明实施例中改进Transformer模型部分的结构图;
图9是本发明实施例中用水量预测值和实际值的对比图。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步的描述。
如图1所示,一种基于改进Transformer模型的二次供水用水量预测方法,包括:
获取历史用水量数据并进行数据预处理;数据预处理的过程包括:
采用箱型图对历史用水量数据进行异常检测,并将异常值作为缺失值进行处理;
对于历史用水量数据中的缺失值,采用移动中值滤波方式进行填充;
将历史用水量数据进行Box-Cox变换后在进行标准化处理。
将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组,并与位置编码相加得到数据样本;
将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组的过程包括:
将历史用水量数据进行训练集和测试集划分,并设定输入窗口大小m和输出窗口大小1;结合滑动窗口遍历方式生成序列数据和目标数据,其维度大小均为[T-m,m,1],T为训练集或训练集的数据量。
预处理后的历史用水量数据进行转化并与位置编码相加后,还需要进行样本填充和拼接后得到数据样本;
所述样本填充是指在转化完成后的数据组的最顶部填充一行数据,填充的数据值为0;
所述拼接是指将填充后的数据组Xt的前半列与填充前的数据组X0的后半列进行拼接,作为改进Transformer模型最终输入的数据样本。
建立包括缩放点乘注意力模块以及多头注意力模块的改进Transformer模型,并输入数据样本进行训练得到用水量预测模型;
改进Transformer模型中将Transformer模型的解码器替换为线性变换层;改进Transformer模型通过数据样本的训练集进行训练得到用水量预测模型,并通过数据样本的测试集测试用水量预测模型;训练时根据均方差MSE最小作为评价指标确定单次训练的样本个数batch_size。
改进Transformer模型采用RMSProp优化算法进行迭代训练:
Figure BDA0004088370100000061
Figure BDA0004088370100000062
Figure BDA0004088370100000063
和/>
Figure BDA0004088370100000064
分别是第t轮和第t-1轮迭代过程中累积的权重梯度动量;dW为损失函数关于权重W的梯度;β为梯度累积的指数;α为学习率,ε为极小的常数,防止分母为0。
通过用水量预测模型对用水量进行预测。对于实时采集的用水量数据采用和历史用水量预测数据相应的方式处理成数据样本,输入用水量预测模型中得到最终的预测结果。
Box-Cox变换为:
Figure BDA0004088370100000065
其中λ是变换参数,yi为第i个用水量数据;
标准化处理为:
Figure BDA0004088370100000066
x为处理前的数据,x'为处理后的数据,xmin和xmax分别为标准化处理前的最小值和最大值。
通过数据样本的测试集对用水量预测模型测试的输出结果,还需要进行Box-Cox逆变换及反归一化变换得到用水量预测值;
将用水量预测值和测试集中的实际用水量进行精度拟合R2,得到用水量预测模型的预测效果:
Figure BDA0004088370100000071
yi为实际用水量数据;
Figure BDA0004088370100000072
为预测的用水量数据;/>
Figure BDA0004088370100000073
为实际用水量数据的平均值。
本发明中Transformer模型在时序预测问题上完全绕开了序列串行的约束方式,并根据位置编码技术,使其同样可以获取到序列间的位置信息,同时相比于现有技术中需要大量不同种类基础数据进行模型建立和训练的缺点,本发明中的方法并不需要对工作日和节假日等影响因素的数据进行处理,可以直接将预处理后的用水量数据输入到模型中,使得模型在训练中自动学习出规律,这一定程度上提高了模型的泛化能力,同时通过对二次供水的用水量预测来应用到二次供水的进水次数、进水量等的智能控制。
本发明中数据的预处理包括异常检测、缺失填补和特征变换等步骤,由于用水量数据是通过仪器仪表采集的,因为仪器仪表的安装或维修等因素会导致数据存在缺失或类似“尖刺”的异常值,因此需要先对异常值进行处理;考虑到本发明时间序列数据前后存在一定的关联性,因此通过移动中值滤波方式进行填充,对于数据具有一定的抗敏性;而特征变换则是将数据处理成有利于模型训练的形式。
本发明中历史用水量数据是一维结构,而Transformer模型训练的数据是三维结构,即:[sample_size,seq_len,feature],其中sample_size为样本数量,seq_len为样本序列的长度,feature为序列的特征维度,因此需要将用水量数据先进行维度转化后才能进行训练;将总的历史用水量数据按照一定比例划分成训练集和测试集分别对模型进行训练和对训练完成的模型进行测试。
本发明中Transformer模型本质上在实现3个过程:将序列样本的全局信息增加到每一个样本点上;量化每个样本点在序列中所具有的关注度,即权重;重复之前出现过的样本点组合;例如,对于用水量序列样本来说,如果最近出现了用水量持续增大,随后逐渐趋于平稳的时段序列,当下次再遇到用水量持续增大时,后面是趋于平稳的概率显然在Bayesian意义上更大,这是一种常见的时序现象。但是模型并不善于完成最后一个过程,这在很大程度上会降低模型的学习效率,甚至还可能会用过拟合的错误方式完成任务;因此增加了样本填充和拼接的过程,拼接后的数据样本在模型的训练过程中引入了先验信息,使得序列前后样本点具有比较大的关联性,这样模型不用学习也能获得这些信息,进而加速训练。
本发明中使用的历史用水量数据可能因为分布规律不同,需要进行数据变换操作以适合模型的训练,由于进水浊度数据均为正,恰好满足利用Box-Cox变换的条件,同时使用Box-Cox变换可以使用水量数据趋于正态分布。
本发明中由于用水量数据数值比较大,在模型训练时很容易导致梯度数值较大而直接达到激活函数饱和区,使得模型更新困难,因此需将数据进行标准化处理,将数据按比例缩放,使之落入一个特性区间,并去除数据单位得到无量纲的纯数值。
本发明中是对用水量的预测,属于时序回归问题,而现有的Transformer模型包括编码器和解码器两部分,对于解码器而言在回归问题上会累计误差,导致模型预测效果差,因此在改进的模型设计中去掉解码部分,直接使用线性变换层进行替换,从而提升模型的预测精度。
本发明中在训练过程中,考虑到模型梯度更新时,在损失函数变化较大和平缓的地方采用了同样的学习率;如果学习率太大很容易在损失函数变化较大的地方直接跨过最优解,如果学习率太小则在损失函数平缓的地方学习很慢,很难收敛;因此采用RMSProp优化算法,保证了损失函数变化较大时,将学习率自动更改为一个较小值,反之则更改为较大的值,从而加快模型的学习速度。
本发明中通过对用水量预测值和实际用水量两个序列的精度拟合来测试用水量预测模型的预测精度和效果;由于在模型训练时训练的数据样本经过Box-Cox变换和标准化处理,因此使用测试集对用水量预测模型的测试结果需要相应的进行逆变换来得到最终的用水量预测值。
本发明的实施例中首先对现有的Transformer模型进行说明,如图2所示由编码器和解码器2大部分构成,在其内部中是基于一种全注意力机制策略进行设计的,这种设计使得模型在运算过程中,不需要等待前面相关时间序列的处理结果,即可以达到并行计算的目的,完全摒弃了时间序列在处理上存在顺序依赖性的制约问题。
在Transformer模型中,最重要的部分就是多头注意力机制,它使用了矩阵运算的方式来实现,其过程如下:
对输入编码器的每个词向量Xi,创建三个向量:Query查询向量Qi,Key键向量Ki,Value值向量Vi。这三个向量由词向量分别和WQ,WK,WV三个矩阵相乘得到的,对于某个序列长度为len的样本,即有:
Q=XWQ
K=XWK
V=XWV
其中,
Figure BDA0004088370100000081
dk为每个词的嵌入维度,WQ,WK,WV是要学习的参数矩阵。
得到Q,K,V矩阵后,即可进行注意力分数(Attention Score)的计算:
Figure BDA0004088370100000091
QKT计算结果为每个词在整个句子中(包含本身)的注意力得分值,
Figure BDA0004088370100000092
的作用是使得在反向传播时求取的梯度值更加稳定,避免其过大而进入激活函数softmax的饱和区,softmax为多元归一化函数,其表达式为:
Figure BDA0004088370100000093
得到每个位置的分数后,再分别与每个V相乘。对于分数高的位置,相乘后的值就越大,即可将更多的注意力放到这些位置上;对于分数低的位置,相乘后的值就越小,这些词的信息相关性不大,即可忽略这些位置的信息,这种定义下的注意力机制被称为缩放点乘注意力,如图3的左侧所示。
前两个过程是一个完整的注意力过程,得出的结果相当于是对序列数据从某一角度上获取的特征信息,而对整个序列要掌握更多的信息,需要重复前2个过程h次,最后将h个注意力结果进行拼接,如图3的右侧所示:
MultiHead(Q,K,V)=Concat(head1,head2,...,headh)
再进行线性变换:
Z=MultiHead(Q,K,V)Wo
headj=Attention(Qj,Kj,Vj)
Wo为权重矩阵;得到最终的矩阵Z包含了所有Attention head(注意力头)的信息,这个矩阵会被继续输入到前馈神经网络FFNN层。
此外Transformer模型包括位置编码(Positional encoding,PE)机制来捕获输入数据间的时间序列信息。其原理是将不同频率的正弦函数和余弦函数作为“位置编码”添加到归一化之后的输入序列中,使得Transformer模型中的多头注意力机制能够充分捕获维度更为丰富的时间序列间的位置信息。位置编码技术使用的公式如下:
Figure BDA0004088370100000094
Figure BDA0004088370100000095
其中,pos为序列位置,dmodel为序列嵌入维度,与dk相同,i为dmodel整除2后的维度值。例如,对长度pos=3,嵌入维度dmodel=128的序列,其位置编码为:
Figure BDA0004088370100000101
在本发明的实施例中整个用水量预测过程如下:
如图4所示是获取的历史用水量数据的部分内容,源数据集是近两年的以5分钟级的时间序列,其中TARGET_VALUE为累积流量数据,故需要进行差分计算,得到对应时段内的用水量。
利用如图6所示的箱型图对历史用水量进行异常检测,将上下Q1,3±1.70IQR外的数据点视为异常值,并将其作为缺失值一并进行处理,其中Q1,3为上下四分位值,IQR为上下四分位距。
累计流量数据经过箱型图处理后,仍含有缺失值,此时采用移动中值滤波处理方法对缺失值进行填补;根据确定的滑动窗口大小,取待填补的当前缺失值的前m个和后m个数据,共得到2m+1个数据计算其中位数作为当前缺失值的填补;若该滑动窗口中存在其他缺失值,则排除掉缺失值位置后对剩余数据计算中位数作为当前缺失值的填补。
Figure BDA0004088370100000102
如上表所示,取当前缺失值的前3和后3个数据组成移动窗口,可以得到填补处理后的数据。
对累计流量进行差分计算,得到每5min内的用水量数据,再通过分组计算得到30min级别的用水量数据,本实施例后续的模型训练及预测都在该级别下进行。对于用水量数据先进行Box-Cox变换后再进行标准化处理,得到如图6所示的数据预处理结果。
对于处理后的历史用水量数据进行维度转化,将用水量数据进行训练集和测试集划分,划分比例为训练集:测试集=8:2,得到训练集的数据量为5400,测试集的数据量为1350。对划分后的训练集,使用输入窗口大小为12,输出窗口大小为1,并结合滑动窗口遍历的方式生成序列数据和目标数据,其维度大小均为[5388,12,1]。序列数据和目标数据制作完成后,需要进行位置编码。根据前面序列生成的维度[5388,12,1],设置序列长度为12,嵌入维度为1,然后将计算得到的位置编码数组直接与序列数据和目标数据相加,作为样本填充前的输入,随后进行样本填充、拼接步骤,拼接后的数组需要复制3份,分别赋值于Q,K,V。
对于样本填充,如图7所示,以数组形状大小为[100,50,1]的序列样本为例进行说明,样本填充过程中填充的数值为0,图7左侧为样本填充前的用水量数据,记为X0,图7右侧为样本填充后的用水量数据,记为Xt;填充时在数组的最上方填充一行数据。填充完成后将Xt的前半列与X0的后半列进行拼接,作为模型最终输入的序列数据X,拼接公式如下:
X=Concat(Xt[:,:,:dk//2],X0[:,:,dk//2:])
式中,dk表示嵌入维度,Xt[:,:,:dk//2]表示经填充后的前半列部分,X0[:,:,dk//2:]表示填充前的后半列部分。经拼接后的序列数据,使得模型在训练过程中引入了先验信息,使得序列前后样本点具有较大关联性,这样模型不用学习也能获得这些信息,进而加速训练。
如图8所示是改进后的Transformer模型部分的结构图,由于考虑到对用水量的预测属于时序回归问题,所以将模型的解码器部分替换成线性变换层,从而建立改进Transformer模型进行训练。在训练前还需提供批量大小batch_size参数(即单次训练的样本个数),本实施例中先后考虑32、64和128,最后依据均方差评价指标MSE值最小,确定选择batch_size为64,其中指标MSE表达式为:
Figure BDA0004088370100000111
N为样本数,yi
Figure BDA0004088370100000112
分别为第i个样本的实际值和预测值。在改进Transformer模型的训练中计算损失函数后,采用RMSProp优化算法进行迭代训练,得到用水量预测模型。
对于得到的用水量预测模型进行测试,将测试集部分输入到模型中,得到维度为[1338,12,1],本实施例中使用的输出窗口大小为1,故需要对其第二维度(值12)做切片操作,取最后一个值,最后得到大小为1338的数组,此时还需要进行Box-Cox逆变换及反归一化变换,最终得到用水量预测值,若对用水量预测模型进行测试得到的预测结果未达到要求时,可以重新进行模型训练。将用水量预测值和实际值通过精度拟合后得到R2为:94.28%,说明模型的预测效果较好,泛化能力较强。为便于预测的用水量进行可视化,截取了前1000个预测数据和实际数据得到如图9所示的对比示意图。
上述实施例是对本发明的进一步阐述和说明,以便于理解,并不是对本发明的任何限制,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,包括:
获取历史用水量数据并进行数据预处理;
将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组,并与位置编码相加得到数据样本;
建立包括缩放点乘注意力模块以及多头注意力模块的改进Transformer模型,并输入数据样本进行训练得到用水量预测模型;
通过用水量预测模型对用水量进行预测。
2.根据权利要求1所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,所述数据预处理的过程包括:
采用箱型图对历史用水量数据进行异常检测,并将异常值作为缺失值进行处理;
对于历史用水量数据中的缺失值,采用移动中值滤波方式进行填充;
将历史用水量数据进行Box-Cox变换后在进行标准化处理。
3.根据权利要求1所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,将预处理后的历史用水量数据转化为符合Transformer模型训练结构要求的数据组的过程包括:
将历史用水量数据进行训练集和测试集划分,并设定输入窗口大小m和输出窗口大小1;
结合滑动窗口遍历方式生成序列数据和目标数据,其维度大小均为[T-m,m,1],T为训练集或训练集的数据量。
4.根据权利要求1或3所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,预处理后的历史用水量数据进行转化并与位置编码相加后,还需要进行样本填充和拼接后得到数据样本;
所述样本填充是指在转化完成后的数据组的最顶部填充一行数据,填充的数据值为0;
所述拼接是指将填充后的数据组Xt的前半列与填充前的数据组X0的后半列进行拼接,作为改进Transformer模型最终输入的数据样本。
5.根据权利要求2所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,所述Box-Cox变换为:
Figure QLYQS_1
其中λ是变换参数,yi为第i个用水量数据。
6.根据权利要求2或5所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,所述标准化处理为:
Figure QLYQS_2
x为处理前的数据,x'为处理后的数据,xmin和xmax分别为标准化处理前的最小值和最大值。
7.根据权利要求1或2或3所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,所述改进Transformer模型中将Transformer模型的解码器替换为线性变换层;
所述改进Transformer模型通过数据样本的训练集进行训练得到用水量预测模型,并通过数据样本的测试集测试用水量预测模型;训练时根据均方差MSE最小作为评价指标确定单次训练的样本个数batch_size。
8.根据权利要求1所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,所述改进Transformer模型采用RMSProp优化算法进行迭代训练:
Figure QLYQS_3
Figure QLYQS_4
Figure QLYQS_5
和/>
Figure QLYQS_6
分别是第t轮和第t-1轮迭代过程中累积的权重梯度动量;dW为损失函数关于权重W的梯度;β为梯度累积的指数;α为学习率,ε为常数。
9.根据权利要求7所述的一种基于改进Transformer模型的二次供水用水量预测方法,其特征在于,通过数据样本的测试集对用水量预测模型测试的输出结果,还需要进行Box-Cox逆变换及反归一化变换得到用水量预测值;
将用水量预测值和测试集中的实际用水量进行精度拟合R2,得到用水量预测模型的预测效果:
Figure QLYQS_7
yi为实际用水量数据;
Figure QLYQS_8
为预测的用水量数据;/>
Figure QLYQS_9
为实际用水量数据的平均值。
CN202310143617.8A 2023-02-21 2023-02-21 一种基于改进Transformer模型的二次供水用水量预测方法 Pending CN116307115A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310143617.8A CN116307115A (zh) 2023-02-21 2023-02-21 一种基于改进Transformer模型的二次供水用水量预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310143617.8A CN116307115A (zh) 2023-02-21 2023-02-21 一种基于改进Transformer模型的二次供水用水量预测方法

Publications (1)

Publication Number Publication Date
CN116307115A true CN116307115A (zh) 2023-06-23

Family

ID=86837063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310143617.8A Pending CN116307115A (zh) 2023-02-21 2023-02-21 一种基于改进Transformer模型的二次供水用水量预测方法

Country Status (1)

Country Link
CN (1) CN116307115A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955993A (zh) * 2023-08-24 2023-10-27 中国长江电力股份有限公司 一种混凝土性态多元时序监测数据补全方法
CN118244648A (zh) * 2024-05-28 2024-06-25 浙江中控信息产业股份有限公司 一种基于出水流量预测的进水流量优化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955993A (zh) * 2023-08-24 2023-10-27 中国长江电力股份有限公司 一种混凝土性态多元时序监测数据补全方法
CN116955993B (zh) * 2023-08-24 2024-03-12 中国长江电力股份有限公司 一种混凝土性态多元时序监测数据补全方法
CN118244648A (zh) * 2024-05-28 2024-06-25 浙江中控信息产业股份有限公司 一种基于出水流量预测的进水流量优化方法
CN118244648B (zh) * 2024-05-28 2024-08-02 浙江中控信息产业股份有限公司 一种基于出水流量预测的进水流量优化方法

Similar Documents

Publication Publication Date Title
CN116307115A (zh) 一种基于改进Transformer模型的二次供水用水量预测方法
CN111832101B (zh) 一种水泥强度预测模型的构建方法及水泥强度预测方法
CN113095550B (zh) 基于变分递归网络和自注意力机制的空气质量预测方法
CN110046378A (zh) 一种基于进化多目标优化的选择性分层集成高斯过程回归软测量建模方法
CN113268883B (zh) 一种基于pca-abc-svm模型的海底原油管道腐蚀速率预测方法
CN110232461A (zh) 基于量子遗传算法优化的多关联向量机水质预测方法
CN114662793B (zh) 基于可解释分层模型的业务流程剩余时间预测方法与系统
CN116107279A (zh) 基于注意力深度神经网络的流程工业能耗多目标优化方法
CN116340726A (zh) 一种能源经济大数据清洗方法、系统、设备及存储介质
CN116755000A (zh) 一种变压器故障快速识别装置及方法
CN114241267A (zh) 基于结构熵采样的多目标架构搜索骨质疏松图像识别方法
CN113743453A (zh) 一种基于随机森林的人口数量预测方法
CN117251705A (zh) 一种每日天然气负荷预测方法
CN116738297A (zh) 一种基于深度自编码的糖尿病分型方法和系统
CN115526300B (zh) 一种基于循环神经网络的序列重排方法
CN116521863A (zh) 一种基于半监督学习的标签抗噪文本分类方法
CN116362125A (zh) 一种基于深度学习的涡扇发动机多级预测性维护方法
CN117610696A (zh) 一种利用不同属性跨数据集的径流预测方法
CN110598900A (zh) 基于遗传算法和支持向量机的电力负荷预测算法
CN113835964B (zh) 基于小样本学习的云数据中心服务器能耗预测方法
CN113343589B (zh) 一种基于遗传-随机常数的基因表达式编程的酸性天然气水合物生成条件预测方法
CN115221045A (zh) 一种基于多任务多视角学习的多目标软件缺陷预测方法
CN114064794A (zh) 一种基于大数据技术的业扩报装档案挖掘分析方法
CN117057416B (zh) 一种次日光伏发电预测方法及系统
CN118504764A (zh) 一种基于Transformer的食用菌生态环境预测方法

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