Multi-Horizon Time Series Forecasting with Temporal Attention Learning

论文地址

https://dl.acm.org/doi/10.1145/3292500.3330662

模型结构图

在这里插入图片描述

使用注意力机制的时间序列多步预测模型:

  • 对离散输入做 Embeding
  • 对历史数据用单向 LSTM 提取特征,每一个历史时刻对应一个隐状态,图中的下面部分
  • 对未来的输入用双向的 Bi-LSTM 提取特征,图中的上面部分
  • 用注意力机制建立未来时刻特征和历史时刻特征的联系,图中的中间部分

注意力机制

从图中可以看出,注意力机制分了两层:

  1. 季节内的注意力;
  2. 季节间的注意力。

季节内的注意力

图上中间部分的两种颜色分别对应了两个季节(season),下面公式中: s t s_t st 表示未来时刻 t t t 时的 Bi-LSTM 的到的特征, h h h 表示历史某个季节内由 LSTM 得到的特征。
在这里插入图片描述

季节间的注意力

或者理解为季节间特征的融合
在这里插入图片描述

分位点回归

模型的损失函数为分位数损失(quantile loss)

在这里插入图片描述
而且不同的分位点是同时得到的:
在这里插入图片描述
分位数的预测:
在这里插入图片描述

<think>嗯,用户问的是N-HITS模型,我需要先回忆一下这个模型的相关知识。N-HITS全称是Neural Hierarchical Interpolation for Time Series Forecasting,应该是一个时间序列预测的神经网络模型。首先,我需要确定它的基本架构和核心思想。 记得N-HITS是由Element AI团队提出的,可能和之前的模型比如DeepAR、N-BEATS有关系。特别是N-BEATS,它使用了堆叠的块结构,每个块有前向和后向的残差连接。而N-HITS可能在N-BEATS的基础上进行了改进,引入了分层插值的机制。需要确认这一点。 分层插值(Hierarchical Interpolation)应该是指在不同时间尺度上进行插值处理,这样模型可以捕捉到多尺度的特征。比如,处理长期趋势和短期波动。这可能涉及到多分辨率的分析,比如小波变换或者多层次的分解结构。然后,每个层次处理不同频率的信息,再通过插值方法将这些信息融合起来。 另外,N-HITS可能使用了可解释的组件,比如N-BEATS中的趋势和季节性分解。不过N-HITS的分层结构可能更注重于不同时间粒度的特征提取。需要解释它的块结构,每个块内部的操作,比如MLP层,以及如何通过插值进行上采样或下采样。 模型的主要优势可能包括高效性、可解释性,以及处理长周期时间序列的能力。比如,参数效率高,计算速度更快,适合需要快速预测的场景。另外,可能通过分层结构减少误差累积,特别是在多步预测中表现更好。 需要提到它的损失函数,可能使用多尺度的损失,每个层次的输出都有对应的损失项,这样模型可以同时优化不同时间尺度的预测。另外,插值方法的选择,比如线性插值或者更复杂的样条插值,可能也是模型的一个特点。 可能的应用场景包括电商需求预测、能源消耗预测、金融时间序列分析等。需要举例说明,比如在电力负荷预测中,N-HITS可以同时考虑小时级别和天级别的变化,提高预测准确率。 同时,对比其他模型,比如N-BEATS,N-HITS可能在处理更长序列时更高效,或者参数更少,训练更快。需要确认这一点是否有论文支持,或者是否有实验数据支撑。 另外,要确保提到模型的输入输出结构,比如输入是历史时间序列窗口,输出是多步预测结果。以及如何通过分层结构逐步细化预测结果。 可能还需要提到模型的局限性,比如对突然变化的适应性,或者对极高频率数据的处理能力。不过这部分如果记得不太清楚,可以稍微带过,或者建议用户参考具体论文。 最后,确保整个解释结构清晰,分点说明核心思想、结构、优势、应用场景和对比其他模型。使用中文,避免术语混淆,适当举例帮助用户理解。</think>N-HITS(Neural Hierarchical Interpolation for Time Series Forecasting)是一种基于深度学习的时间序列预测模型,由Element AI团队提出。它在经典模型(如N-BEATS)的基础上,通过分层插值机制和多分辨率分析,显著提升了长周期预测的效率和精度。以下是其核心特点及原理的分步解析: --- ### **1. 核心思想** N-HITS的核心是通过**分层分解**和**插值机制**,在不同时间尺度上提取特征,逐步生成预测结果。主要思想包括: - **多分辨率分析**:将时间序列分解为不同频率的分量(如长期趋势、季节项、短期波动),分别建模。 - **参数共享与插值**:通过插值操作(如上采样/下采样)在层级间传递信息,减少参数量并增强泛化性。 - **可解释性**:类似N-BEATS,模型通过显式分解趋势、季节项等成分,提供直观的预测解释。 --- ### **2. 模型架构** N-HITS由多个堆叠的“块”(Block)构成,每个块包含以下关键组件: 1. **编码器(Encoder)**:用多层感知机(MLP)提取输入序列的局部特征。 2. **分层插值(Hierarchical Interpolation)**: - 对特征进行**下采样**(提取低频分量)和**上采样**(恢复高频细节),例如使用线性插值或最大池化。 - 通过插值操作融合不同时间尺度的信息。 3. **预测生成器(Forecast Generator)**:将插值后的特征映射为未来时间步的预测值。 4. **残差连接**:将当前块的输入与输出残差传递到下一块,逐步优化预测。 $$ \text{Block输出} = \text{预测分量} + \text{残差分量} $$ --- ### **3. 关键优势** - **高效性**:通过插值减少参数,训练速度比N-BEATS更快。 - **长周期预测能力**:分层机制有效捕捉长期依赖,减少误差累积。 - **灵活性**:支持多步预测(Multi-horizon)和多变量输入。 --- ### **4. 与N-BEATS的对比** | 特性 | N-HITS | N-BEATS | |---------------------|---------------------------------|--------------------------------| | **核心机制** | 分层插值 + 多分辨率分析 | 堆叠块 + 双重残差连接 | | **参数量** | 更少(依赖插值共享参数) | 较多 | | **计算效率** | 更高 | 较低 | | **可解释性** | 显式分解多尺度分量 | 分解为趋势和季节项 | --- ### **5. 应用场景** - **长周期预测**:如电力负荷预测(天/周级别)、销售额年度趋势分析。 - **高频数据建模**:如分钟级股票价格波动、传感器信号分析。 - **资源受限场景**:因参数量小,适合边缘设备部署。 --- ### **6. 示例代码框架(PyTorch)** ```python import torch import torch.nn as nn class NHITSBlock(nn.Module): def __init__(self, input_size, horizon, interpolation_ratio=0.5): super().__init__() self.encoder = nn.Sequential( nn.Linear(input_size, 128), nn.ReLU(), nn.Linear(128, 128) ) # 插值层(示例:线性插值) self.upsample = nn.Upsample(scale_factor=interpolation_ratio, mode='linear') self.forecast = nn.Linear(128, horizon) def forward(self, x): features = self.encoder(x) upsampled = self.upsample(features.unsqueeze(1)).squeeze() forecast = self.forecast(upsampled) residual = x - forecast # 简化的残差连接 return forecast, residual # 堆叠多个块构建完整模型 class NHITS(nn.Module): def __init__(self, num_blocks=3): super().__init__() self.blocks = nn.ModuleList([NHITSBlock(input_size=24, horizon=12) for _ in range(num_blocks)]) def forward(self, x): forecasts = [] for block in self.blocks: f, x = block(x) forecasts.append(f) return sum(forecasts) # 融合各块预测结果 ``` --- ### **7. 局限性** - **突变适应性**:对突然的事件(如疫情冲击)可能表现不足,需结合外部变量。 - **高频噪声**:插值可能平滑高频细节,需调整超参数(如插值比例)。 --- 如需进一步实现细节或论文复现,建议参考原始论文:[Neural Hierarchical Interpolation for Time Series Forecasting](https://arxiv.org/abs/2201.12886)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颹蕭蕭

白嫖?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值