2.2 数据 shuffle

在 FTS 中,选择哪些数据作为验证集并非易事。确实,验证集的选择有无数种方法,但对于变化不定的股票指数,必须仔细考虑。

固定原点方法是最朴素也最常用的方法。给出特定的分割大小,将数据前面一部分分割为训练集,后面的部分分割为验证集。但这是一种较为初级的选择方法,对于像亚马逊这样的高增长股票而言尤其如此。之所以会出现这种情况,是因为亚马逊的股价一开始波动性较低,随着股价的增长,股价波动越来越大。

exiting中文翻译_exiting_exiting

亚马逊今年股票价格(图源:Google Finance)

因此,我们需要训练一个低波动率动态模型,并期望它能预测高波动率动态。对于上述类型的股票而言,这确实有一定困难,并且还要以性能作为代价。因此,如果仅考虑这一点,以验证损失和性能作为基准可能存在一定的误导性。但是,对于像英特尔这样波动性较为稳定的股票(COVID 危机前),这种方法是合理的。

滚动原点重校方法比固定原点方法略稳健,因为它允许通过对数据的多种不同分割取平均值来计算验证损失,以避免无法代表高波动率时间段的问题。

最后,滚动窗口方法通常是最有用的方法之一,因为它尤其适用于长时间运行的 FTS 算法。实际上,该模型输出多个滚动数据窗口的平均验证误差。而这意味着最终获得的值更能代表最近的模型性能。

exiting中文翻译_exiting_exiting

数据 shuffle 技术可视化(图源:)

Thomas Hollis 等人的研究表明,滚动窗口(RW)和滚动原点重校(ROR)的性能(58%和 60%)都比简单的固定原点方法好。这表明对于像亚马逊这样的高波动率股票,使用这些数据 shuffle 方法是不可避免的。

exiting_exiting_exiting中文翻译

数据 shuffle 方法性能比较

3. 时间卷积网络

时间卷积网络(TCN),是用于序列建模任务的卷积神经网络的变体,结合了 RNN 和 CNN 架构。对 TCN 的初步评估表明,简单的卷积结构在多个任务和数据集上的性能优于典型循环网络(如 LSTM),同时表现出更长的有效记忆。

TCN 的特征是:

1. TCN 架构中的卷积是因果卷积,这意味着从将来到过去不存在信息「泄漏」;

2. 该架构可以像 RNN 一样采用任意长度的序列,并将其映射到相同长度的输出序列。通过结合非常深的网络(使用残差层进行增强)和扩张卷积,TCN 具有非常长的有效历史长度(即网络能够看到很久远的过去,并帮助预测)。

3.1 TCN 模型架构概览

3.1.1 因果卷积

如前所述,TCN 基于两个原则:网络的输入输出长度相同,且从未来到过去不存在信息泄漏。

为了完成第一点,TCN 使用 1D 全卷积网络(FCN),每个隐藏层的长度与输入层相同,并用零填充(长度为 kernel size − 1)来保持后续层与之前层长度相同。为了实现第二点,TCN 使用因果卷积,即卷积中时间 t 处的输出仅与时间 t 或前一层中的元素进行卷积。

简而言之:TCN = 1D FCN + 因果卷积。

3.1.2 扩张卷积

简单的因果卷积回看的历史长度只能与网络深度呈线性关系。这使得将因果卷积应用于序列任务具有一定难度,尤其是需要更长历史的任务。Bai 等人采用扩张卷积找到了一种解决方案,其感受野呈指数级增大。对于一维序列输入 x ∈ R^ⁿ 和滤波器 f:→R,序列元素 s 的扩张卷积运算 F 可定义为:

exiting_exiting_exiting中文翻译

其中 d 是扩张因子,k 是滤波器大小,s-d·i 代表过去的方向。因此,扩张卷积等效于在每两个相邻的滤波器之间引入一个固定的步长。当 d = 1 时,扩张卷积即为常规卷积。而使用较大的扩张因子,可使顶层的输出表示更大范围的输入,从而有效地扩展了 ConvNet 的感受野。

exiting中文翻译_exiting_exiting

扩张因果卷积,扩张因子 d = 1、2、4,滤波器大小 k =3。感受野能够覆盖输入序列中的所有值。

3.1.3 残差连接

残差模块可使层高效学习修改(modification),进而识别映射而不是整个变换,这对非常深的网络很有用。

由于 TCN 的感受野取决于网络深度 n、滤波器大小 k 和扩张因子 d,因此,对于更深更大的 TCN 来说,稳定性很重要。

3.2 TCN 的优缺点

使用 TCN 进行序列建模具备以下优势:

并行性。与 RNN 中后继时间步长的预测必须等待之前时间步完成预测不同,卷积可以并行完成,因为每一层都使用相同的滤波器。因此,在训练和评估中,TCN 可以处理一整个较长的输入序列,而不是像 RNN 中那样顺序处理。

灵活的感受野大小。TCN 有多种方式更改其感受野大小。例如,堆叠更多扩张(因果)卷积层,使用更大的扩张因子,或增加滤波器大小都是可行的选择。因此,TCN 可以更好地控制模型的内存大小,它们也可以轻松适应不同的域。

梯度稳定。与循环网络不一样的是,TCN 的反向传播路径与序列的时间方向不同。TCN 因此避免了梯度爆炸 / 消失问题,这是 RNN 面临的主要问题(限制了 LSTM 和 GRU 的发展)。

训练内存需求低。特别是在输入序列较长的情况下,LSTM 和 GRU 占用大量内存存储其多个单元门的部分结果。然而,在 TCN 中,滤波器是跨层共享的,而反向传播路径仅取决于网络深度。因此,在实践中,人们发现门控 RNN 比 TCN 消耗的内存更多。

可变长度输入。RNN 以循环的方式对可变长度输入进行建模,TCN 也可以通过滑动一维卷积核来接收任意长度的输入。这意味着,对于任意长度的序列数据,都可以用 TCN 替代 RNN。

使用 TCN 存在两个明显的缺点:

评估期间的数据存储。TCN 需要接收有效历史长度的原始序列,因此在评估过程中可能需要更多的内存。

域迁移时可能引起参数更改。不同的域对模型预测所需的历史量可能有不同的要求。因此,当将模型从仅需要很少记忆(即较小的 k 和 d)的域转移至需要更长记忆(即较大的 k 和 d)的域时,TCN 可能因为没有足够大的感受野而表现不佳。

3.3 基准

TCN 和循环网络在典型的序列建模任务中的评估结果,这些任务通常用来评估 RNN 模型。

上述结果表明,经过最小调优的通用 TCN 架构在大量序列建模任务中优于典型循环架构,而这些任务通常用于对循环架构的性能进行基准测试。

4. 基于 TCN 的知识驱动股市趋势预测与解释

4.1 背景介绍

用于股市趋势预测的大部分深度神经网络存在两个常见缺陷:1)当前方法对股市趋势的突然变化不够敏感;2)预测结果不具备可解释性。

为了解决这两个问题,Deng 等人 2019 年提出一种新型知识驱动时间卷积网络(KDTCN)用于股市趋势预测和解释,该方法将背景知识、新闻事件和股价数据集成到深度预测模型中,以解决股市趋势突变时的趋势预测和解释问题。

为了解决股市趋势突变下的预测问题,该研究将金融新闻中的事件提取出来并结构化为事件元组,如「Britain exiting from EU」被表示为 (Britain, exiting from, EU)。然后将事件元组中的实体和关系链接至知识图谱(KG),如 Freebase 和 Wikidata。接下来,分别对结构化知识、文本新闻和股价数值进行向量化和级联。最后,将这些嵌入馈入基于 TCN 的模型。

实验表明 KDTCN 可以更快地响应股市突变,在股市数据集上的性能优于 SOTA 方法,此外它还增强了股市突变预测的可解释性。

此外,基于股市突变预测结果,要想解决可解释性问题,我们可以通过知识图谱中事件的关联对事件的影响进行可视化。这样,我们就可以解释 1)知识驱动的事件如何不同程度地影响股市波动;2)知识如何将股市趋势预测中与突变相关的事件关联起来。

4.2 KDTCN 模型架构

这里介绍的基础 TCN 模型架构基于第三部分推导而来,通用 TCN 架构包括因果卷积、残差连接和扩张卷积。

KDTCN 架构如下所示:

exiting_exiting_exiting中文翻译

KDTCN 框架图示

原始模型输入为股价 X、新闻数据库 N 和知识图谱 G。股价经过归一化处理,并映射到股价向量:

其中每个向量 p_t 表示股票交易日 t 的实时股价向量,T 表示时间跨度。

至于新闻数据库,新闻被表示为事件集合 ε,然后被结构化为事件元组 e = (s, p, o),其中 p 为动作 / 谓语、s 是执行者 / 主语、o 是动作承受者。事件元组中的每个项都与知识图谱链接,对应知识图谱中的实体和关系,通过训练事件元组和 KG 三元组获得事件嵌入 V。详细过程参见 。

最后,将事件嵌入和股价向量结合并输入基于 TCN 的模型。

4.2.1 数据集和基线

数据集:

1. 时间序列股价数据 X:道琼斯工业平均指数每日记录构成的股价数据集;

2. 文本新闻数据 N:来自 Reddit WorldNews 频道的历史新闻组成的新闻数据集;

3. 结构化知识数据 G:基于两个常用开放研究知识图谱 Freebase 和 Wikidata 的结构化数据构建的子图。

基线:

exiting_exiting中文翻译_exiting

使用不同输入的基线模型。第一列中,前缀 WB 表示词嵌入,EB 表示事件嵌入,PV 表示股价向量,KD 表示知识驱动。注意,event embedding^(a) 和 event embedding^(b) 分别表示不具备 / 具备 KG 的事件嵌入。

4.3 预测评估

KDTCN 的性能评估基于以下三个方面:1)基础 TCN 架构的评估;2)不同模型输入对 TCN 的影响;3)基于 TCN 的模型对股市趋势突变的预测性能。

基础 TCN 架构:

exiting_exiting_exiting中文翻译

在道琼斯工业平均指数数据集上,不同基础预测模型的股市趋势预测结果。

TCN 在股市趋势预测任务上超过其他基线模型,不管是传统的机器学习模型 (ARIMA) 还是深度神经网络(如 LSTM 和 CNN),这说明 TCN 在序列建模和分类问题上有更明显的优势。

不同模型输入:

exiting_exiting_exiting中文翻译

在道琼斯工业平均指数数据集上,不同输入的 TCN 模型的股市趋势预测结果。

可以看出,WB-TCN 和 EB-TCN 的性能都超过 TCN,这表明文本信息有助于改进预测结果。

KDTCN 获得了最高的准确率和 F1 得分,这说明模型输入集成结构化知识、金融新闻和股价信息是有效的。

模型对股市趋势突变的预测性能:

exiting中文翻译_exiting_exiting

基于局部道琼斯工业平均指数数据集(股市趋势突变),不同输入的模型的股市趋势预测结果。

可以看出,使用知识驱动事件嵌入输入的模型(如 KDEB-TCN 和 KDTCN)性能大大超过基于数值数据和文本数据的模型。这些对比结果说明,知识驱动的模型对于股市突变能够做出更快的反应。

那么,如何量化股市波动程度呢?

首先,通过识别两个邻近股票交易日的波动程度 D_(fluctuation) 获取股市突变的时间间隔:

exiting_exiting中文翻译_exiting

其中时间 t 处的 x 表示股票交易日 t 的股票价格。波动程度的差异 C 被定义为:

如果 | Ci | 超过特定阈值,则可以认为在第 i 天,股票价格突变。

4.4 解释预测结果

为什么知识驱动事件是不具备 ML 专业知识的人识别股市突变的常规来源?这可以从两个方面进行解释:1)将知识驱动事件对突变预测结果的影响可视化;2)将知识驱动事件链接至外部 KG,进而检索事件的背景事实。

将知识驱动事件的影响可视化:

下图中的预测结果显示道琼斯工业平均指数趋势将下降。注意图中同色长条表示相同的事件影响,长条的高度反映了影响的程度,事件的流行性自左向右下降。直观来看,具备更高流行性的事件对股市趋势突变预测应有更大的影响,但事实并不总是如此。

exiting中文翻译_exiting_exiting

事件对股市趋势预测的影响示例。

几乎所有负影响事件都与这两个事件有关,如 (British Pound, drops, nearly 5%) 和 (Northern Ireland, calls for poll on United Ireland)。

尽管一些事件对预测股市趋势上涨有着积极影响也具备高流行性,但整体影响仍是负面的。因此,股票指数波动出现突变可被视为事件影响和事件流行性的共同结果。

事件元组链接至 KG 后的可视化结果:

exiting_exiting中文翻译_exiting

首先,搜索具备高影响或高流行性的事件元组;然后,回溯包含这些事件的新闻文本;最后,通过实体链接检索与事件元组相关的 KG 三元组。上图中,蓝色为事件元组,其中的实体与 KG 链接。

列出的这些事件元组字面上并没有强相关。但是,链接 KG 后,它们可以彼此建立关联,并与英国脱欧和欧盟公投事件产生强相关。通过集成事件影响的解释,我们可以证明知识驱动事件是突变的常规来源。

结论

循环网络在序列建模中的优秀效果可能大多是历史的痕迹。最近,扩张卷积和残差连接等架构元素的引入使得卷积架构不那么弱了。近期的学术研究表明,使用这些元素后,简单的卷积架构在不同序列建模任务上的效果优于循环架构,如 LSTM。由于 TCN 的清晰性和简洁性,Shaojie Bai 等人提出卷积网络应被看作序列建模的起点和强大工具。

此外,本文介绍的 TCN 在股市趋势预测任务中的应用表明,集成新闻事件和知识图谱后,TCN 的性能大幅超过 RNN。

参考文献

[1] Hollis, T., Viscardi, A. and Yi, S. (2020). “A Comparison Of Lstms And Attention Mechanisms For Forecasting Financial Time Series”. ()

[2] Qiu J, Wang B, Zhou C. (2020). “Forecasting stock prices with long-short term memory neural network based on attention mechanism”. ()

[3] Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. (2020). “Neural Machine Translation By Jointly Learning To Align And Translate”. ()

[4] Bai, S., Kolter, J. and Koltun, V., 2020. “An Empirical Evaluation Of Generic Convolutional And Recurrent Networks For Sequence Modeling”. ()

[6] Deng, S., Zhang, N., Zhang, W., Chen, J., Pan, J. and Chen, H., 2019. “Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network”. ()

[5] Hao, H., Wang, Y., Xia, Y., Zhao, J. and Shen, F., 2020. “Temporal Convolutional Attention-Based Network For Sequence Modeling”. ()

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注