训练时间序列回归 RNN

数据挖掘 机器学习 时间序列 rnn
2022-02-12 19:19:13

我正在寻找有关训练时间序列回归 RNN 模型的参考资料。出于学习目的,我想使用 autograd(或 JAX)而不是高级库来实现自己。我找不到关于如何训练这类模型的真正好的参考资料。

具体来说,我有 15 分钟分辨率的 1 年数据。我适合的型号是

x[t+1] = f(x[t],u[t])
y[t] = g(x[t])

其中 x 是潜在状态,u 是输入,y 是时间 t 的输出。

假设数据中没有间隙,我需要学习 f 和 g 的参数,以及可选的初始状态(或提供猜测)。这样做的一种方法是计算从 t0 到 T 的整个序列的导数和损失。在这种情况下,我可以初始化 x[0]=0 并希望它的影响衰减为零或学习它。

另一种方法是批处理成日常子序列。这似乎是更常见的方法(因为它与随机梯度下降一致),但是你如何处理每个子序列的初始状态?一种方法是设置 x[0]=0,使用第一个子序列更新导数,预测子序列并将最终状态从子序列 i 滚动到子序列 i+1 的初始状态?另一个是尝试学习每个子序列的平均初始状态 - 感觉这可能有效,但前提是子序列足够长,初始状态估计中的误差相对于子序列的长度衰减相对较快。

不过,我还没有真正找到任何真正好的论文甚至博客,大多数博客旨在展示如何使用高级 api 实现 RNN,并且不涉及低级细节或谈论独立序列,例如句子而不是时间序列。

0个回答
没有发现任何回复~