建设网站相关法律条文,做网站建设的公司有哪些方面,安徽津城建设工程有限公司网站,网站制作排名文章目录前言文献阅读摘要简介方法介绍讨论结论相关性分析总结前言
本周阅读文献《Streamflow and rainfall forecasting by two long short-term memory-based models》#xff0c;文献主要提出两种基于长短时记忆网络的混合模型用于对水流量和降雨量进行预测。小波-LSTM文献主要提出两种基于长短时记忆网络的混合模型用于对水流量和降雨量进行预测。小波-LSTM即WLSTM模型应用小波变换的trous算法进行时间序列分解小波变换将高频和低频提取到不同的子时间序列中将时间序列分解为更简单的分量把传统的数据流预测数据驱动模型集成了数据预处理技术来进行预测。另一个模型将LSTM与卷积层相结合应用CNN提取时间特征。最后通过实际的案例证明提出的两个模型在时序预测方面提高了LSTM的预测精度。其次学习了相关性的基础知识。
This week,I read an article which proposes two hybrid models, based on long short-term memory network (LSTM), for monthly streamflow and rainfall forecasting. One model, wavelet-LSTM , applies a trous algorithm of wavelet transform to do series decomposition.Traditional data-driven models for streamflow forecasting require data pre-processing techniques integrated with novel models to forecast streamflow. And the other, convolutional LSTM (namely, CLSTM), couples convolutional neural network to extract temporal features.The results obtained indicate that the wavelet transform and convolutional layers improved the forecast accuracy of LSTM, especially for longer time step ahead forecasting. Then I learn the basics of correlation. 文献阅读
题目Streamflow and rainfall forecasting by two long short-term memory-based models 作者Lingling Ni Dong Wang Vijay P. SinghJianfeng WuYuankun Wang Yuwei Tao Jianyun Zhang
摘要
Prediction of streamflow and rainfall is important for water resources planning and management. In this study, we developed two hybrid models, based on long short-term memory network (LSTM), for monthly streamflow and rainfall forecasting. One model, wavelet-LSTM (namely, WLSTM), applied a trous algorithm of wavelet transform to do series decomposition, and the other, convolutional LSTM (namely, CLSTM), coupled convolutional neural network to extract temporal features. Two streamflow datasets and two rainfall datasets are used to evaluate the proposed models. The prediction accuracy of WLSTM and CLSTM was compared with that of multi-layer perceptron (MLP) and LSTM. Results indicated that LSTM was applicable for time series prediction, but WLSTM and CLSTM were superior alternatives.
简介
合适的数据预处理提高了数据驱动模型的性能将数据预处理技术与机器学习相结合许多研究表明具有更高的准确性。基于小波的模型是最受欢迎的混合模型之一因为它通常可以显着提高预测准确性。小波变换WT可以将时间序列分解为单独的子序列并为数据驱动的模型提供更连贯的序列结构因此它已成为水文和气象预报的流行工具。与WT类似卷积神经网络CNN使用基于滤波器组的离散卷积操作来检测特征的局部合相滤波器组是指卷积层。本研究的目的是研究LSTM在预测流量和降雨方面的潜力并开发两个基于LSTM的模型来提高预报的准确性。一种模型将LSTM与小波变换以下简称WLSTM耦合并采用小波变换将时间序列分解为更简单的分量。另一个模型将LSTM与卷积层以下简称CLSTM相结合应用CNN提取时间特征。
方法介绍
小波变换 WT 小波变换是一种工具可将数据切割成不同的频率分量然后以与其比例相匹配的分辨率研究每个分量。它的主要特性是它提供了所考虑过程的时间尺度本地化。自然界中观测到的水文序列通常是离散信号因此通常首选离散小波变换DWT。
离散小波变换可以通过金字塔算法计算该算法在多个时间和频率分辨率下计算其表示。通过两组线性滤波器小波和缩放滤波器小波和缩放系数定义为 典型的DWT是一种非冗余变换其敏感性容易变化因此在应用于与预测相关的问题时是一个不希望出现的特征。这个问题是由边界条件引起的可以通过trousAT小波变换来克服它促进了对观测数据中潜在过程特性的理解。 性能度量 以下三种性能度量用于定性评估所开发模型的性能均方根误差RMSE纳什-萨特克利夫模型效率系数NSE和平均绝对相对误差MARE分别表示为
两种混合预测模型
小波-LSTM模型即WLSTM 在水文和水资源领域基于小波的预测通常采用Mallat离散小波变换算法其中执行WT会将一些未来信息发送到预报中。此问题通常通过迭代地将追加-分解-采样 ADS 操作应用于测试数据集来解决这非常耗时。为了克服“未来数据”问题以及ADS运算的高计算成本本研究应用了trousAT算法进行时间序列分解不需要未来时间t的数据来计算当前t的小波缩放系数。由于AT的特性WT可以直接对整个数据集执行而不是迭代应用ADS操作。WLSTM 模型首先选择需要分解的解释变量然后使用 AT 将所选解释变量和目标变量的时间序列划分为几个更稳定的子序列。然后它删除了受序列开始时边界条件影响的小波系数。之后它将整个数据集分为训练集和测试集。训练包含两层 LSTM 且顶部有一个密集层的网络以使用 q 用作输入的先前时间步长的数量滞后记录计算 p 我们想要预测的下一个时间段的数量提前一步预测。 CLSTM 第二个模型将LSTM与卷积神经网络CNN耦合即CLSTM。在 CLSTM 中应用卷积层堆栈来捕获变量的时间特征。CNN提取的特征被馈送到一个包含两层LSTM的网络上面有一个密集层。然后训练整个 CLSTM 模型以使用 q 滞后记录计算 p 提前预测。 应用 在Cuntan的情况下WLSTM模型在RMSE方面对提前6个月和8个月的预测具有最佳的准确性。对于提前1步预测所有神经网络均显示出令人满意的结果当预测步骤调整为 3 和 6 时与其他基于 LSTM 的模型相比MLP 的性能迅速下降。尽管CLSTM的RMSEMARE和NSE高于LSTM但与WLSTM相比它并没有显着提高预测准确性。WLSTM的表现优于LSTM。
讨论
用于多步骤提前预测时MLP和LSTM之间的区别于 MLP滞后记录被视为固定大小的输入而提前多步预测是固定大小的输出。这种处理模式是一对一的情况其中所有时间记录通过神经元权重直接相互连接而 LSTM 的处理方式与 MLP 不同因为它被视为序列到序列即一次处理序列输入的一个元素然后一个接一个地生成输出的问题。LSTM 一次处理一个元素的输入序列并生成序列输出其中过去的时间信息由存储单元隐式维护。与LSTM类似CLSTM和WLSTM将预测作为序列到序列问题进行处理。
关于CLSTM和WLSTM之间的区别。CLSTM 和 WLSTM 都可以看作是数据预处理方法因为它们都应用卷积操作来提取数据的时间局部信息。小波变换将高频和低频提取到不同的子时间序列中。CNN在一个卷积层的水平上对时间局部信息进行编码。但是WLSTM 的筛选器是预先指定的结构化筛选器而 CLSTM 的筛选器是由数据训练的这些数据是可学习的。此外卷积层的输出由非线性函数激活。从应用结果可以看出尽管WLSTM显示出其优于LSTM的优越性但在大多数情况下可学习和非线性CLSTM的性能优于WLSTM。有人建议当解释变量较小且更期望准确预测峰值时WLSTM 似乎是更好的选择。如果没有关于建模的先验信息CLSTM 似乎是更好的选择因为它在大多数情况下表现良好。在这项研究中我们只应用了两个卷积层来构建CLSTM作为数据不足的极限。可用于训练 CLSTM 的数据越多可以堆叠的卷积层就越多。此外堆叠卷积层越大输入数据的表示形式就越丰富预测结果就越好。
结论
由于溪流的非线性和非平稳性传统的数据流预测数据驱动模型需要与新模型集成的数据预处理技术来预测溪流。长短时记忆LSTM是一种流行的神经网络NN适用于时序数据。本文研究了LSTM在流量和降雨预报中的潜在用途并提出了两种基于LSTM的模型来执行多步提前预测。一个模型WLSTM应用“trous”小波变换算法进行序列分解另一个模型CLSTM耦合卷积层来提取时间特征。利用该模型预测长江昆滩站和后口站月流量对济南站、温江站进行月降雨量预报。
将结果与MLP和LSTM的结果进行比较。结果表明LSTM适用于水流量和降雨预报小波变换和卷积层提高了LSTM的预报精度特别是对于长时间提前的预测。CLSTM 和 WLSTM 是更好的替代方案当预计预测的时间更长时。
相关性分析
相关分析是指对两个或多个具备相关性的变量元素进行分析从而衡量两个因素的的相关密切程度相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。 如何利用相关系数判断数据之间的关系 1.绘制散点图 2.相关系数 Pearson相关系数 一般用于分析两个连续变量之间的关系是一种线性相关系数公式为 |r| 0.3 不存在线性相关
0.3|r| 0.5 低度线性关系
0.5|r| 0.8 显著线性关系
|r| 0.8 高度线性关系 Spearman相关系数 Pearson相关系数要求连续变量的取值服从正态分布不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数也称等级相关系数来描述。公式 对两个变量成对的取值分别按照从小到大或者从大到小顺序编秩Ri代表xi的秩次Qi代表yi的秩次Ri-Qi为xi、yi的秩次之差。 3.判定系数 判定系数是相关系数的平方用r2表示用来衡量回归方程对y的解释程度。判定系数取值范围0≤r2≤1。r2越接近于1表明x与y之间的相关性越强r2越接近于0表明两个变量之间几乎没有直线相关关系。
应用场景 1.利用相关系数来减少统计指标 当业务指标繁杂叙述笼统给报告制作分析解读带来巨大的成本的时候。根据相关系数删减指标是方法之一一般来说相关性大于0.8的时候可以选择其一。
2.利用相关系数来挑选回归建模的变量。 在建立多元回归模型前需要解决把那些数据放入模型作为自变量。最常规的方式就是先计算所有字段与因变量的相关系数把相关系数较高的放入模型。然后计算自变量间的相关系数。若自变量间的相关系数高说明存在多重共线性需要进行删减。 代码学习 相关性分析分析连续变量之间的线性相关程度的强弱Pearson相关系数皮尔逊相关系数
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
%matplotlib inline
plt.rcParams[font.sans-serif] [uSimHei]
plt.rcParams[axes.unicode_minus] False
# Pearson相关系数data1 pd.Series(np.random.rand(100)*100).sort_values()
data2 pd.Series(np.random.rand(100)*50).sort_values()
data pd.DataFrame({value1:data1.values,value2:data2.values})
print(data.head())
print(------)
# 创建样本数据u1,u2 data[value1].mean(),data[value2].mean() # 计算均值
std1,std2 data[value1].std(),data[value2].std() # 计算标准差
print(value1正态性检验\n,stats.kstest(data[value1], norm, (u1, std1)))
print(value2正态性检验\n,stats.kstest(data[value2], norm, (u2, std2)))
print(------)
# 正态性检验 → pvalue 0.05data[(x-u1)*(y-u2)] (data[value1] - u1) * (data[value2] - u2)
data[(x-u1)**2] (data[value1] - u1)**2
data[(y-u2)**2] (data[value2] - u2)**2
print(data.head())
print(------)
# 制作Pearson相关系数求值表r data[(x-u1)*(y-u2)].sum() / (np.sqrt(data[(x-u1)**2].sum() * data[(y-u2)**2].sum()))
print(Pearson相关系数为%.4f % r)
# 求出r
# |r| 0.8 → 高度线性相关总结
本周在阅读文献时主要了解到一种数据预处理技术小波变换方法对时间序列进行分解从而提高预测的准确性。