[0004] 针对影响窨井液位的多上游泵站因素以及支管流不确定性,本发明提出了一种排水管网窨井液位预测方法——基于长短期记忆模型LSTM的窨井液位预测方法[0005] 本发明的具体步骤如下:
[0006] 步骤1、建立排水管网窨井液位数据库
[0007] 建立排水管网窨井液位数据库。数据项包括:时刻,窨井液位数据,各个上游泵站开泵信号。
[0008] 步骤2、建立并训练LSTM预测模型
[0009] 1)确定时滞
[0010] 上游泵站的启停,增减输排污水量的变化会反应在下游窨井液位中,而这个变化往往有一定的时间差,这个时间差就是污水流动的时滞时间。这个时滞时间通过皮尔森相关性分析得出。皮尔逊相关系数R的计算如式(1):
[0011]
[0012] 其中A、B为2个变量的观察值,R的取值在‑1与+1之间,若R>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若R<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。R的绝对值越大表明相关性越强。
[0013] 不断调整上游泵站信号序列与下游窨井液位序列相对位置,分别计算相关性系数R,当R绝对值达到最大,即为该上游泵站到该窨井液位的时滞时间t。
[0014] 计算每个上游泵站到该窨井液位的相关性系数,得到p个上游泵站到该窨井液位的时滞时间t1t2…tp。
[0015] 2)确定LSTM预测模型的输入输出。
[0016] LSTM长短期记忆模型具有记忆性,但不能记忆太前或太后的内容,会存在梯度爆炸或者梯度消失的问题。从时滞时间t1t2…tp中取最大时滞值tmax。输入时间跨度In*T略微大于tmax以保障所有泵站变化信息全部获取。输出跨度Out*T取决于预测期。这里In、Out为整数,T为步长(采样周期)。
[0017] 由此确定:模型输入为前In个的窨井液位、p个上游泵站开泵信号,输入量为(p+1)*In个;输出为第Out*T时刻的窨井液位值,输出量仅1个。
[0018] 3)样本采集及划分
[0019] 样本数不少于2000个,训练测试样本,尽量在一个连续时间内。训练集样本数过少,会导致网络精度过低。训练集样本数过大,会导致训练时间增加。一般设置训练集样本数为总样本数的70%~80%。
[0020] 4)数据归一化处理
[0021] 对输入数据进行归一化处理,一般采用最大—最小标准化方法对数据进行处理,如式(2):
[0022]
[0023] 其中:X为归一化处理后的输入值,L为原始输入值,Lmax、Lmin为神经网络模型输入输出量的最大、最小值。
[0024] 输出量需要经过反归一化处理:
[0025] Y=Lmin+y*(Lmax‑Lmin) (3)
[0026] 这里y为模型输出量,Y为还原后的幅值。
[0027] 5)确定LSTM网络模型结构
[0028] LSTM模型的训练过程中,损失函数(目标函数)设置为MAE(平均绝对误差),优化函数设置为admin函数。LSTM隐含层神经元个数K,如式(4):
[0029] K=4*(m*n+n) (4)
[0030] 其中m,n分别为输入和输出维数,这里m=(p+1)*In,n=1。
[0031] 6)模型校核。
[0032] 训练好的LSTM预测模型仍需要通过测试样本校核,如果测试误差过高,则需要重复步骤2),直到得到一个较为理想的窨井液位预测模型。一般模型允许误差ε=5%波幅。在窨井液位预测中评判一个预测模型的优劣一般用平均绝对误差MAE来判断,MAE值越低,说明预测误差越小,模型预测效果越好。
[0033]
[0034] 其中,Yt是t时刻实际观察值,Yt'为模型在t时刻预测值。
[0035] 步骤3、LSTM预测模型应用及更新
[0036] 利用步骤2训练、校验得到的LSTM记忆网络模型,输入前In个上游泵站信号与液位,预测得到Out*T后的液位值。模型输出的液位预测值填入数据库相应记录中。
[0037] 每天计算当日得到的预测值与实际值的平均绝对误差MAE。当MAE大于模型允许误差ε时,极有可能是沿线排污增减或者上游输排发生变化,需要重新进行步骤2,尽量利用新近的样本训练、检核模型,保证窨井液位的预测精度。
[0038] 本发明的有益效果:本发明考虑了上游泵站的启停和污水在管道之间流动的时滞因素,运用了长短期记忆模型LSTM的记忆能力解决了上游泵站启停与下游的时滞不确定性,能够比传统方法更准确有效地预测窨井液位。