Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks(LSNet)论文解读

本文介绍了LSNet模型,一种在SIGIR 2018会议上发表的深度学习框架,用于多元时间序列预测。LSNet结合CNN和GRU组件捕捉短期和长期模式,通过循环-跳跃组件处理周期性,时间注意力组件动态调整重要性,自回归组件解决规模不敏感问题。实验证明LSNet在周期性数据上表现出色,但对非周期性数据的预测效果一般。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为自己是做时间序列预测这一块,所以关于阅读的论文也是这一块,主要是深度学习在时间序列预测中的一个应用。其实撇开深度学习而言,时间序列预测本身就有自己的方法:ARIMA、VAR、三指数平滑法、SARIMA等等,还包括机器学习中的方法(回归分析,随机森林,GBDT、Xgboost等等)。因为深度学习被炒得很热,吸引了很多研究人员的目光,所以深度学习在时间序列预测中的应用也越来越受关注,越来越多的论文是基于深度学习的时间序列预测方面的。

之前看了很多论文也没有做一个统一一点的总结,现在借着博客,详细的返回看看之前看过的论文,无论是之后自己再写论文或者做实验,也希望能从这些阅读过的论文中再次获得灵感。今天总结的这篇论文是Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks(LSNet),这篇论文是发表在SIGIR 2018会议上,地址:https://arxiv.org/abs/1703.07015。

摘要

论文的开始是摘要,摘要部分是要详细阅读,在这篇论文的概要部分首先强调了多元时间序列预测在各个领域的重要性,突出论文中的研究意义,然后就阐述了在实际应用中收集到的时间序列数据通常涉及长期和短期模式的混合 (如下图),而对付这样的数据,传统的方法比如自回归模型和高斯分布可能会失败,所以作者说到他们在论文中提出了一种新颖的深度学习框架,也就是LSTNe

### MICN 模型概述 MICN(Multi-scale Local and Global Context Modeling for Long-term Series Forecasting)是一种专门设计用于长时间序列预测的深度学习框架[^1]。该模型通过结合多尺度特征提取以及局部和全局上下文建模的能力,显著提升了对于复杂时间序列数据的预测性能。 #### 多尺度特征提取 为了捕捉不同时间粒度下的模式变化,MICN 利用了卷积神经网络 (CNN) 的层次结构来实现多尺度特征提取。具体而言,它采用多个并行的一维卷积层,每层对应不同的感受野大小,从而能够捕获短时波动与长期趋势之间的关系。 ```python import torch.nn as nn class MultiScaleConv(nn.Module): def __init__(self, input_channels=1, output_channels=[8, 16], kernel_sizes=[3, 7]): super(MultiScaleConv, self).__init__() self.convs = nn.ModuleList([ nn.Conv1d(input_channels, out_ch, k_size, padding=k_size//2) for out_ch, k_size in zip(output_channels, kernel_sizes) ]) def forward(self, x): outputs = [conv(x) for conv in self.convs] return torch.cat(outputs, dim=1) ``` 上述代码展示了如何构建一个多尺度一维卷积模块,其中 `kernel_sizes` 参数控制着各个分支的感受野范围。 #### 局部与全局上下文建模 除了关注单一时序片段内的特性外,MICN 还引入了一种机制用来融合更广泛的背景信息——即所谓的 **global context**。这种策略允许当前时刻的状态不仅依赖于最近的历史记录,还可以受到远距离节点的影响。为此,作者采用了自注意力机制(Self-Attention Mechanism),其核心思想在于计算任意两个位置间的重要性权重,并据此调整输入表示形式。 另一方面,在处理局部区域方面,则继续沿用传统的循环单元(如GRU或LSTM),它们擅长描述连续帧间的动态演变过程。 ```python import torch from torch import Tensor from typing import Optional def scaled_dot_product_attention(query: Tensor, key: Tensor, value: Tensor, mask: Optional[Tensor]=None) -> Tuple[Tensor]: d_k = query.size(-1) scores = torch.matmul(query, key.transpose(-2,-1)) / math.sqrt(d_k) if mask is not None: scores += mask * -1e9 attention_weights = F.softmax(scores,dim=-1) weighted_sum = torch.matmul(attention_weights,value) return weighted_sum, attention_weights ``` 此函数实现了标准缩放点乘法注意机制的核心部分,它是构成整个架构中不可或缺的一个组件。 ### 总结 综上所述,MICN 提供了一个强大的解决方案,适用于那些具有高度非线性和跨时段关联性的场景分析需求。通过对多种时空维度上的交互作用进行全面刻画,最终达到了提高预报精度的目的。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值