量化百科

CW-RNN 收益率时间序列回归

由polll创建,最终由polll 被浏览 41 用户

CW-RNN是一个带时钟频率的RNN变种,似乎是对回归有不错的效果,不过这个有争论。对一个时间序列,无论是回归还是分类都是将数据经过循环按照时间序列输入,RNN使用隐藏矩阵进行记忆,然后判定输出。针对原始RNN对长序列记忆效果极差,作者在这里设计了一种将隐藏状态矩阵(记忆机制)分割成g个小模块并使用类时钟频率掩码的方式,将RNN的记忆分割成几个部分,然后经过特定设计,使CW-RNN记忆矩阵中每个部分处理不同的时刻的数据,加强记忆效果。如下图所示,Y轴方向CW高频向低频排列。其中通过设置三角掩码矩阵使相对低频不汲取相对高频的记忆信息,但相对高频汲取相对低频的全部记忆信息。也就是具有高频更新的g模块相当于短期记忆(缓存记忆),低频g模块相当于长期记忆。

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='529' height='210'></svg>)

在论文中作者列举的数据显示这种设计在特定的应用中具有更优的效果。例如,对一个长度为L的时间序列进行预测,在使用CW-RNN的时候可以通过设置时钟频率人工设定记忆序列。如,L长度为36,那我们可以设置CW为[1,2,4,8,16,12,18,36],这相当于在长度为36的序列设置了多个记忆点,每个记忆点基于此记忆点之前的输入值进行抽象记忆。这个设计与RNN经典变种LSTM有巨大的差异。LSTM通过gate结构实现自动的记忆选择汲取,这里的CW设计需要有一种类似于先验值的CW设定,这并不是一种十分优雅的设计。但这种设计增加的人工设定序列节点选取的操作空间,应该可以在一定程度上对标收益率的时间序列进行特别设计,从而取得不错的回归效果。

如下图,该设计进行时间序列回归拟合,在取局部图的时候可以观察到,LSTM的回归效果相对平滑,而CW-RNN并没有这种缺陷。

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='25200' height='2400'></svg>)

预测序列协方差

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='413' height='161'></svg>)

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='389' height='282'></svg>)

参考文献:

Koutník J, Greff K, Gomez F, et al. A clockwork rnn[J]. arXiv preprint arXiv:1402.3511, 2014.

Kuna K. Time Series Prediction Using Neural Networks[J].

讨论中关于趋势反转部分延迟问题示意图:

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='12000' height='5400'></svg>)