1.一种基于机器学习的智慧水务日用水量预测方法,其特征在于,包括以下步骤:
S1、获取日期、气候数据和历史用水量数据,对数据进行预处理,得到预处理后的日期、气候数据和历史用水量数据;
S2、将预处理后的历史用水量数据输入时间卷积神经网络TCN预测模型提取城市日用水时间序列中的混沌信息和隐藏特征,并根据混沌信息和隐藏特征进行预测,得到TCN预测结果,即基于历史用水量数据的下一天用水量预测结果;
S3、通过日期和气候数据对TCN预测结果进行矫正:将TCN预测结果与日期、气候数据一同作为特征输入机器学习模型中进行再次训练,得到矫正后的下一天用水量预测结果;
其中,机器学习模型包括初级学习器、次级学习器以及融合层;
初级学习器:以3个基模型RandomForest、Xgboost、Lasso作为初级学习器,每个基模型RandomForest、Xgboost、Lasso之后连接平均模型AverageModel;
次级学习器:采用LinearRegression模型对三个初级学习器的最终预测值和元模型的拟合结果进行融合处理,得到StackModel融合模型结果;
融合层:将初级学习器RandomForest、初级学习器Xgboost、平均模型AverageModel的输出以及StackModel融合模型结果进行融合,得到融合结果。
2.根据权利要求1所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,所述预处理包括:异常值处理:重新赋值/均值填充;
缺失值处理:均值插入/线性插值处理;
非数值数据处理:one‑hot离散处理;
数值数据处理:归一化处理,归一化表达式如下:
其中,x′表示归一化之后的数据,σ表示数值型数据的标准差, 表示数值型数据的平均值。
3.根据权利要求1所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,TCN预测模型采用时间卷积神经网络,TCN预测模型的结构包括输入层、4个隐藏层、输出层,各个隐藏层之间采用残差连接,每一个隐藏层中包含两个一维扩张因果卷积和一个1*1卷积。
4.根据权利要求3所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,TCN预测模型的具体结构包括:使用一维因果卷积和扩张卷积作为标准卷积层,将每两个标准卷积层恒等映射封装为一个残差模块,由残差模块堆叠起深度网络,在最后几层使用全卷积层代替全连接层;最后一层为输出层,输出层用于将隐藏层最后一个维度的输出做一个线性回归,输出结果。
5.根据权利要求3所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,TCN预测模型的中间处理过程包括:S21、将预处理后的历史用水量数据直接作为模型的输入,经过时间卷积神经网络TCN预测模型的4个隐藏层,在每一个隐藏层中,输入数据首先经过两个一维扩张因果卷积,每个扩张因果卷积之后先使用WeightNorm对模型的权重进行权重正则化,其次使用ReLU非线性函数作为激活函数,再添加Dropout实现正则化;输入数据经过两次扩张因果卷积之后,得到扩张因果卷积后的结果,将输入数据输入一个1*1卷积,得到1*1卷积结果;将1*1卷积结果与扩张因果卷积后的结果相加,得到一个隐藏层提取的特征;在一个隐藏层进行特征提取时,通过残差连接块把下层特征拿到高层增强准确率;
S22、在经过4个隐藏层之后,将隐藏层最后一层输出的最后一维做线性回归,得到下一天的日用水量预测结果,计算预测结果与真实数据的RMSE,若RMSE的值小于RMSE阈值,则说明TCN预测模型训练完毕,得到训练好的TCN预测模型。
6.根据权利要求1所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,所述机器学习模型包括4个基模型,分别是:RandomForest、Xgboost、Lasso、LinearRegression。
7.根据权利要求6所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,以3个基模型RandomForest、Xgboost、Lasso作为初级学习器,每个基模型RandomForest、Xgboost、Lasso之后连接平均模型AverageModel,平均模型AverageModel的作用是对基模型的多次预测结果求平均。
8.根据权利要求6所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,LinearRegression模型为次级学习器,将RandomForest、Xgboost、Lasso通过学习后生成的新数据集,用于训练次级学习器LinearRegression,训练完毕后得到StackModel。
9.根据权利要求6所述的一种基于机器学习的智慧水务日用水量预测方法,其特征在于,机器学习模型的工作流程包括:S31、将训练数据集分别输入每个初级学习器中,初级学习器根据训练数据分别进行多次预测,得到多次预测的结果,分别对每个初级学习器的多次预测的结果求平均,得到初级学习器的最终预测值;
S32、得到初级学习器的最终预测值后,将所有初级学习器的最终预测值进行拼接,并生成一个新的数据集输入次级学习器LinearRegression中进行数据拟合,得到次级学习器LinearRegression的输出结果;
S33、将三个初级学习器的输出结果和次级学习器LinearRegression的输出结果输入平均模型AverageModel求平均,得到的平均值作为平均模型AverageModel的最终输出值;
S34、通过LinearRegression对三个初级学习器的最终预测值进行融合处理,得到StackModel融合模型结果;
S35、通过融合层对RandomForest、Xgboost、AverageModel的输出以及StackModel融合模型结果再次进行融合,得到用于下一天日用水量预测的最终结果,融合公式如下:sum=
0.25*RandomForest+0.25*Xgboost+0.25*StackModel+0.25*AverageModel。