通过时间导数降低股票预测延迟,实现更精准的趋势预测
通过时间导数降低股票预测延迟,实现更精准的趋势预测
在金融、环境科学等领域,时间序列预测是至关重要的工具。然而,传统的预测模型往往存在预测延迟的问题,导致实际应用效果大打折扣。为了解决这一难题,研究者们提出了CONTIME模型,通过引入连续时间双向GRU和时间导数正则化,实现了更精准、及时的预测。本文将详细介绍这一创新方法及其在多个数据集上的出色表现。
一 本文概要
时间序列预测对于很多领域来说都非常重要,比如预测天气或者股票价格。但是,这种预测存在一些挑战,比如预测结果可能会有延迟,也就是说,模型预测的结果可能比实际发生的事情晚。这种现象在金融和天气预报等领域可能会导致问题。本文提出了一种新的方法,叫做CONTIME,它使用一种特殊的神经网络(叫做连续时间双向GRU)来预测时间序列。这种方法特别关注减少预测延迟,即使预测结果更及时。他们还引入了新的评估指标,比如时间扭曲指数(TDI)和动态时间弯曲(DTW),来更全面地评估预测的质量。通过实验,研究人员发现CONTIME在减少预测延迟方面做得很好,而且在准确性(MSE)、形状相似性(DTW)和时间相似性(TDI)这些指标上都优于其他方法。这对于投资者来说很重要,因为更准确的预测可以帮助他们做出更好的决策,比如何时买入或卖出股票。
二 背景知识
2.1 时间序列预测模型
时间序列预测就是预测未来的事情,比如明天的天气或者股票价格。为了做好这个预测,研究人员想出了很多不同的模型,这些模型就像是不同的工具,帮助我们从过去的数据中学习规律,然后用来预测未来。
为了实现这一目标,研究人员们开发了多种模型,包括基于微分方程的神经网络(如神经ODE),它们能够连续处理数据并在任何特定时间点进行预测。还有更高级的模型,比如NCDE,它使用特殊的积分方法来更灵活地处理时间序列。此外,基于变换器的模型,如Autoformer和FEDformer,通过自注意力机制捕捉数据中的复杂关系,而最新的模型,比如PatchTST和DLinear,则在考虑整体趋势的同时,也关注数据的局部变化。所有这些模型都在不断进化,目的是更准确、更有效地预测未来,以便我们能够做出更好的决策。
2.2 评估和训练指标
在时间序列预测中,评估和训练深度模型时,我们常用的指标包括MAE、MSE及其变体(如SMAPE)。这些指标可以有效衡量模型的整体表现,但仅依靠它们并不足够,因为我们还需要关注预测的形状和时间位置。为此,研究人员使用了一些技术,比如动态时间规整(DTW),来评估形状相关的指标,而时间失真指数(TDI)则用于估计预测的延迟。然而,由于这些指标是不可微分的,无法直接用作训练深度神经网络的损失函数。
为了解决这一问题,研究者们探索了开发替代损失函数的方式,最近也有针对MSE的替代方法,尤其是通过无缝近似DTW来训练深度模型。尽管DTW在形状评估上表现良好,但它对时间变化的敏感度不足。
图2和表2对MSE、DTW和TDI在实验结果分析中的优缺点进行了对比。举个例子,图2.(a)中的DLinear模型虽然MSE值较小(0.084),但在预测的形状和时机上表现并不理想,TDI和DTW的结果也支持了这一点。这表明,仅有良好的MSE分数并不能保证时间序列预测的准确性。相对而言,图2.(b)中的预测在形状上更为准确,但在判断运动方向时存在延迟,因此TDI和MSE的值较高,而DTW值较小。这表明,评价时间序列预测时不能仅依赖于DTW和MSE这两个指标。
最后,图2.©展示的CONTIME模型在时间序列的形状和时机上表现优异,因而也得到了较小的MSE值。这些分析强调了从多个角度评估时间序列预测的重要性,以便获得更全面的理解和评价。
2.3 时间序列预测中的预测延迟
时间序列预测在金融、环境科学等多个领域非常重要,但一个主要挑战是预测延迟。模型有时无法提供准确和及时的预测。预测延迟通常有两个主要原因:
时间依赖性:时间序列数据的当前值往往受过去观察值的影响。如果模型未能准确捕捉这些关系,或者在使用历史信息时出现延迟,就可能导致预测延迟。
MSE模型的局限性:基于均方误差(MSE)的模型主要目标是最小化预测值与实际值之间的差距。但在时间序列发生突变时,这些模型的调整能力有限,因此也容易出现预测延迟。
三 本文方法
3.1 总体框架
上图展示了本文CONTIME方法的整体工作流程:
数据生成:首先,利用Hermite三次样条算法,从离散的时间序列样本中生成路径𝑋。
双向结构:CONTIME采用双向结构。我们进行前向(从𝑠到𝑇)和后向(从𝑇到𝑠)的积分操作。
隐藏向量重排:完成前向和后向操作后,我们将后向操作得到的隐藏向量h2(𝑠)重新排列为前向方向的h2(𝑇 − 𝑠)。
最终隐藏向量:通过将h1(𝑇)和h2(𝑇 − 𝑠)相加,得到最终的隐藏向量h(𝑇)。
未来预测:根据隐藏向量h(𝑇),线性网络生成未来的预测结果。
计算时间导数:我们明确计算预测结果𝑌ˆ的时间导数,以监督时间导数的变化。
损失函数设计:我们设计了一个损失函数,既要保持现有预测的准确性,又要添加时间导数调节项,以防止预测延迟。
3.2 双向连续时间模型 (Bi-directional CONTIME)
在这一部分,我们介绍一种新的模型,称为 CONTIME。这个模型使用双向的 GRU(门控循环单元)策略来处理时间序列数据,使得模型能够更好地捕捉长期依赖关系。
我们首先定义两个隐藏状态:
h 1 (T):从初始时间点 s s 到结束时间 T T 的状态。
h 2 (s):从结束时间 T T 反向到初始时间 s s 的状态。
这两个状态可以用以下公式表示:
这里, s 是时间序列的起始点, X 是包含多个特征的时间序列数据。我们用全连接层提取特征,并通过双向积分操作来生成更有用的隐藏状态。最终的隐藏表示可以写成:
隐藏状态的导数 GRU 的隐藏状态 h(t) 被定义为前一个状态和当前输入的组合:
其中 z(t) 是一个门控值,决定了前一个状态的信息保留程度,g(t) 是当前输入经过处理后的结果。我们可以计算 h(t) 的导数,表示状态随时间的变化:
这意味着隐藏状态的变化与门控值和输入的变化有关。
最后,通过将最终隐藏状态 h(T) 输入到一个全连接层 F ,我们可以得到预测结果 Y:
3.3 为什么选择连续 GRU?
在这一部分,我们来讨论为什么选择 GRU 作为 CONTIME 的主要架构。基于 GRU 的网络 GRU(门控循环单元)模型中的隐藏状态 h(t) 包含当前时间 t 和之前时间 t − τ的信息。我们提出了 CONTIME,这种模型利用过去的隐藏状态来减少预测的延迟。隐藏状态的导数 在 GRU 的方程中,同时考虑当前时间和之前的时间,这使得我们能够将 h(t) 重新定义为时间的导数。这种方法在许多研究中都有应用。从离散到连续 我们引入了一种新的连续 GRU 方法,而不是传统的离散版本。这个连续的方式可以在离散时间点之间进行更细致的建模,从而更全面地描述h(t) 和 h(t+1) 之间的变化。这种设计与我们希望更好地处理时间变化和消除预测延迟的目标非常契合。
3.4 如何训练
CONTIME 使用均方误差(MSE)损失和时间导数正则化,旨在准确预测时间序列并减少预测延迟。最终的损失函数是任务损失 和时间导数损失的总和。
四 实验分析
4.1 实验设置
数据集:作者使用了六个公开的数据集进行实验,包括四个股票数据集(AAPL、AMZN、GOOG、MSFT)、汇率数据集和天气数据集。这些数据集涵盖了金融、环境科学等领域的时间序列数据。
基线模型:为了比较CONTIME模型的性能,作者选择了多个现有的时间序列预测模型作为基线,包括DLinear、Neural ODE (NODE)、Neural CDE (NCDE)、Autoformer、FEDformer和PatchTST。
评估指标:除了常用的均方误差(MSE)外,作者还使用了动态时间弯曲(DTW)和时间扭曲指数(TDI)来评估模型的预测准确性和及时性。
4.2 实验结果
论文将CONTIME模型与其他基线模型在MSE、DTW和TDI三个指标上进行了比较。结果显示,CONTIME在所有数据集上都表现出了优越的性能,尤其是在减少预测延迟方面。
五 总结展望
本文提出了一种新的时间序列预测方法,名为CONTIME,旨在解决现有预测模型中普遍存在的预测延迟问题。本文引入了一种基于连续时间门控循环单元(GRU)的神经普通微分方程(NODE)模型,该模型能够显式地监督时间导数,从而减少预测延迟。在多个公开数据集上的实验结果表明,CONTIME在减少预测延迟方面优于现有的先进方法,包括DLinear、NODE、NCDE、Autoformer、FEDformer和PatchTST。这些数据集涵盖了股票价格、汇率和天气指标等不同领域的时间序列数据。CONTIME不仅在均方误差(MSE)这一传统指标上表现优异,还在动态时间弯曲(DTW)和时间扭曲指数(TDI)这两个衡量预测形状和时间准确性的指标上取得了显著的改进。