目录
摘要
Abstract
文献阅读
问题引入
研究背景
研究动机
创新点
动态预训练方法(DynPT)
深度循环神经网络(DRNN)
传感器选择
方法论
时间序列的动态预训练
异构传感器数据的DRNN
基于稀疏度的传感器过滤
实验研究
数据准备
动态预训练DynPT
传感器数据的DRNN
DRNN v.s. VENUS
传感器的选择
核心代码
拓展分析
DRNN against AR
基准测试
传感器参数调整
总结
摘要
本文献提出了一种基于深度循环神经网络(DRNN)的PM2.5浓度预测模型,该模型采用动态预训练方法(DynPT)以增强时间序列数据的处理能力,并利用弹性网(Elastic Net)进行传感器选择以降低计算成本。模型结构包含多层自编码器和循环层,特点在于其能够捕捉时间依赖性和空间相关性,优势在于提高了预测准确性并减少了过拟合风险。该模型适用于环境监测数据的分析,特别是在空气质量管理和公共健康预警系统中。与现有的VENUS系统和其他基线模型相比,DRNN模型展现出更优的预测性能和泛化能力。未来的改进方向可能包括进一步优化动态预训练算法,提高传感器选择的效率,以及探索模型在其他环境监测领域的应用潜力。
Abstract
This paper proposes a PM2.5 concentration prediction model based on deep recurrent neural network (DRNN), which adopts dynamic pre training method (DynPT) to enhance the processing ability of time series data, and uses Elastic Net for sensor selection to reduce computational costs. The model structure includes multiple layers of autoencoders and loop layers, which are characterized by their ability to capture temporal and spatial dependencies. Its advantage lies in improving prediction accuracy and reducing the risk of overfitting. This model is suitable for analyzing environmental monitoring data, especially in air quality management and public health warning systems. Compared with existing VENUS systems and other baseline models, the DRNN model exhibits better predictive performance and generalization ability. Future improvement directions may include further optimizing dynamic pre training algorithms, improving the efficiency of sensor selection, and exploring the potential applications of the model in other environmental monitoring fields.
文献阅读
Dynamically pre-trained deep recurrent neural networks using environmental monitoring data for predicting PM2.5 | Neural Computing and Applications
问题引入
研究背景
1、对人类健康、环境和气候变化影响重大,准确预测意义重大。日本当前多使用气候模型预测
,该文献提出用 DRNN 结合新预训练方法(DynPT)和传感器选择技术来提高预测精度。
2、浓度的降低可以显著减少因空气污染导致的早死人数,并节省巨大的经济成本。
3、目前用于预测浓度的模型大多是基于气候模型(如欧拉网格、拉格朗日网格或轨迹模型),这些模型需要大量的专家知识和参数化,且在处理大量数据时效率较低。无法满足细微浓度检测的要求
研究动机
深度学习(特别是深度神经网络,DNN)在处理大规模数据和复杂模型方面取得了显著进展。特别是循环神经网络(RNN)在建模时间序列数据方面表现出色。
创新点
动态预训练方法(DynPT)
专门针对时间序列预测任务。该方法通过逐步引入时间序列数据,使网络权重逐渐适应动态变化的输出,从而提高预测的准确性。
深度循环神经网络(DRNN)
利用环境监测数据(如PM2.5浓度、风速、温度等)进行PM2.5浓度的预测。该网络通过利用传感器数据的空间相关性,进一步提高预测的准确性。
传感器选择
通过弹性网(Elastic Net)等正则化方法,实现了传感器选择,降低了计算成本并提高了模型的可解释性。这种方法不仅减少了数据处理成本,还使预测模型更易于解释。
方法论
时间序列的动态预训练
“时间序列+预训练”是一种结合了时间序列分析和预训练模型的方法,旨在提升模型对时间序列数据的理解和预测能力。 在时间序列预测任务中,预训练模型被用来提取数据的特征,这些特征随后被用于预测或分类。这种方法尤其适用于数据量有限或特征不明显的情况,能够显著提高模型的泛化能力。
上图的左半部分是预训练的过程,输入序列X被多个时间片段分为多组进行预训练;右半部分是数据时间序列的训练过程,每个时间步长的数据(用红色方框表示)随着训练的进行(即epoch的增加)逐渐被纳入训练。
异构传感器数据的DRNN
DRNN用于处理多变量时间序列数据并进行PM2.5浓度预测。模型通过多层自编码器、动态自编码器和循环神经网络来学习数据中的复杂特征和时间依赖性。最终,模型输出目标城市未来某个时间点的PM2.5浓度预测值。这种架构能够有效地捕捉环境监测数据中的动态变化和时间依赖性,从而提高PM2.5预测的准确性。
基于稀疏度的传感器过滤
稀疏度原理:稀疏性是指在一组数据中,大部分元素都是零或接近零。在机器学习中,稀疏性可以用来实现特征选择,即通过将不重要的特征权重设置为零,从而在模型中只保留重要的特征,减少不重要的特征。
实验研究
数据准备
数据特征
所需的数据特征包括目标城市及其邻近城市的一系列环境监测数据,这些特征对于捕捉PM2.5浓度的时间动态和空间相关性至关重要。具体特征涉及PM2.5浓度本身,以及可能影响其浓度的环境因素,如风速(WS)、风向(WD)、温度(TEMP)、光照强度(SUN)、湿度(HUM)和降雨量(RAIN)。这些数据以小时为单位的时间分辨率收集,覆盖了一段持续时间以包含足够的历史信息用于预测。
为了提高模型性能,这些特征数据在输入模型之前会经过清洗、标准化处理,并根据时间序列分析的需求进行分割,以确保模型能够学习到过去D个小时内的变化趋势,并预测未来N个小时的PM2.5浓度变化。
数据集
在PM2.5预测实验中,使用了17,545小时的数据,分为训练、验证和测试集。模型基于过去48小时的10个传感器数据来预测未来12小时的PM2.5浓度,考虑了3个邻近城市的信息。训练采用随机梯度下降法,经过3次交叉验证,最大200轮迭代,以优化模型性能。
动态预训练DynPT
为了验证动态预训练模型的训练效果,将它与传统自编码器方法CanAE和去噪自编码器方法DenAE进行对比实验,以均方根误差RMSE来衡量模型的性能好坏,实验结果如下图所示:
结果分析:
1、与传统的自编码器(CanAE)和去噪自编码器(DenAE)相比,提出的动态预训练方法(DynPT)在PM2.5预测任务上具有更低的RMSE值,说明其预测性能更优。
2、误差线(图中的红色线条)表示每种方法RMSE值的变动范围,可以看出DynPT的误差范围也相对较小,进一步证明了其稳定性和优越性。
传感器数据的DRNN
对于预测
任务中的模型参数优化问题,该篇文献通过改变神经网络的层数和改变不同节点数实现不同的模型预测任务,预测结果通过仍旧通过均方误差RMSE进行衡量,对比结果如下图所示:
结果分析:
图a展示了不同层数(4到9层)对模型性能的影响。随着层数的增加,所有模型的RMSE值都有所增加,表明模型可能开始过拟合。在该数据集上,较少的层数(4-5层)已经足够捕捉数据的特征,而更多的层数可能导致过拟合。
图b展示了不同节点数(30和300)对模型性能的影响。在相同的层数下,节点数为300的网络通常比节点数为30的网络表现更好,这表明更多的节点有助于模型捕捉更复杂的特征。所以增加节点数可以提高模型的性能。
DRNN v.s. VENUS
VENUS是一个由日本国立环境研究所开发的区域性PM2.5预测系统,旨在提供大气环境的可视化和分析工具,以支持环境监测和空气质量管理。该文献中提出的改进后的DRNN与原有的系统的性能进行比较,分别以“Precision、Recall和F-measure”三个指标来进行性能比较,比较结果如下表所示:
结果分析:
1、DRNN的精确率为0.634,高于VENUS的0.523,表明DRNN在预测PM2.5浓度时的准确性更高,误报更少。
2、VENUS的召回率为0.653,高于DRNN的0.606,表明VENUS在识别所有实际为正类的样本方面表现更好,召回率更高,漏报更少。
3、DRNN的F-measure为0.615,高于VENUS的0.567,说明DRNN在综合考虑精确率和召回率后的整体性能更优。
传感器的选择
为了确定哪种方法能最有效地提高模型的预测准确性、泛化能力,并同时减少模型复杂度。该文献中的实验研究部分比较了四种不同的正则化方法在PM2.5预测模型中的表现,具体包括Ridge回归(作为基线)、Lasso回归、弹性网络(Elastic Net,简称EN)以及结合稀疏自编码器(Sparse AE)和弹性网络的方法。4种方法在预测模型的表现如下表所示:
结果分析:
结合稀疏自编码器和弹性网络的方法(Sparse AE + EN)在预测准确性(最低的RMSE)、特征选择(最高的稀疏性)和传感器过滤(最高的χ/M值)方面均表现最佳。这表明该方法能够有效地从环境监测数据中选择最相关的特征,同时保持较低的预测误差,为PM2.5预测提供了一种高效且准确的解决方案。
核心代码
数据预处理
data = torch.randn(1000, 48, 10) # 假设data是形状为 (样本数, 时间步长, 特征数) 的数据张量
train_size = int(len(data) * 0.6) # 划分训练集、验证集和测试集
val_size = int(len(data) * 0.2)
test_size = len(data) - train_size - val_size
train_data, val_data, test_data = torch.split(data, [train_size, val_size, test_size])
包含数据格式转换、划分数据集
模型构建
class DRNN(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(DRNN, self).__init__();
self.input_size = input_size
self.hidden_size = hidden_size
self.output_size = output_size
self.fc1 = nn.Linear(input_size, hidden_size)
self.tanh = nn.Tanh()
self.fc2 = nn.Linear(hidden_size, output_size)
def forward(self, x):
out = self.fc1(x)
out = self.tanh(out)
out = self.fc2(out)
return out
DRNN模型的定义包含了模型的参数初始化以及前向传播网络
动态预训练
def dynamic_pre_training(model, data, num_epochs, num_fragments):
time_steps = data.size(1)
fragment_size = time_steps // num_fragments
epoch_per_fragment = num_epochs // num_fragments
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-2)
for epoch in range(num_epochs):
for i in range(num_fragments):
start = i * fragment_size
end = (i + 1) * fragment_size
if epoch < i * epoch_per_fragment:
weight = 0
elif epoch < (i + 1) * epoch_per_fragment:
weight = (epoch - i * epoch_per_fragment) / (epoch_per_fragment - 1)
else:
weight = 1
fragment_data = data[:, start:end, :] * weight
output = model(fragment_data)
loss = criterion(output, fragment_data)
optimizer.zero_grad()
loss.backward()
optimizer.step()
包括初始化网络权重、定义时间序列片段、设置动态权重、预训练
模型训练与评估
def train_model(model, train_data, val_data, num_epochs, lr): #训练模型
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=lr)
best_val_loss = float('inf')
for epoch in range(num_epochs):
model.train()
output = model(train_data)
loss = criterion(output, train_data)
optimizer.zero_grad()
loss.backward()
optimizer.step()
model.eval()
with torch.no_grad():
val_output = model(val_data)
val_loss = criterion(val_output, val_data)
if val_loss < best_val_loss:
best_val_loss = val_loss
torch.save(model.state_dict(), 'best_model.pth')
def evaluate_model(model, test_data): #评估模型
criterion = nn.MSELoss()
model.eval()
with torch.no_grad():
test_output = model(test_data)
rmse = np.sqrt(criterion(test_output, test_data).item())
return rmse
传感器选择
def sensors_selection(model, data, threshold):
input_weights = model.fc1.weight.data.cpu().numpy()
sensor_sparsity = np.mean(np.abs(input_weights) <= 1e-3, axis=1)
selected_sensors = np.where(sensor_sparsity >= threshold)[0]
return selected_sensors
该函数根据模型第一层(这里是 fc1
全连接层)的权重稀疏性来选择传感器。
拓展分析
DRNN against AR
传统的自回归模型AR是一种常用于时间序列预测的统计方法,它可能无法充分捕捉PM2.5浓度变化的复杂性和动态性,尤其是当数据中存在非线性关系和长期依赖时。所以为了解决传统统计方法在上述方面的缺陷,提出了DRNN对抗自回归模型。
基准测试
模型的基准测试(Benchmarking)是一种评估和比较不同机器学习或深度学习模型性能的方法。该文献中CATS benchmark被用作评估不同模型在时间序列预测任务上的性能。通过比较不同模型在这一标准化测试上的E1得分,研究者可以直观地看到DynPT模型相对于其他模型(如RBMs、ARIMA、MLP)的优势。
E1得分通常用于衡量模型在预测任务中的性能,得分越低表示模型性能越好。
结果分析:
从E1得分可以看出,DynPT模型在这项测试中的表现优于其他三种模型,这意味着DynPT在捕捉数据的时间序列特征方面更为有效。
传感器参数调整
为了选择合适的模型——不仅预测误差最小,而且能在一定程度上实现传感器的选择,从而降低模型的复杂度和计算成本。 通过改变关于正则化参数λ和τ来对模型进行调整,最后用均方根误差(RMSE)和传感器稀疏性(χ/M)来衡量调整后模型的性能。该文献中的实验对传感器参数进行调整如下:
结果分析:
图a中可以看出RMSE的最小值出现在λ=1×10−4和τ=0.9的参数设置处,这表明在这个参数组合下,模型的预测误差最小,即模型性能最优。
图b中可以看出随着λ的增加(即正则化强度的增加),传感器的稀疏性也增加。
最终结果是找到一个平衡点——模型不仅预测误差最小,而且能在一定程度上实现传感器的选择,从而降低模型的复杂度和计算成本。
总结
文献先介绍预测背景引出研究,回顾相关工作后阐述理论基础,接着说明动态预训练和传感器选择等方法,再呈现实验结果,最后讨论并展望未来。特点是采用动态预训练和传感器选择技术。优势在于提升
预测精度、降低计算成本。用于空气质量预测领域,因
对健康和环境影响大。实验表明其在RMSE等指标上优于传统方法。未来可改进预训练和传感器选择技术,拓展应用范围。