首页 > 解决方案 > 神经网络回归 - 考虑动态

问题描述

我正在使用 Tensorflow 解决具有已知动态分量的回归问题,也就是说,我们知道时间t的(奇异)标签取决于环境的某些动态状态,但这个特征是未知的。可以理解的是,最初通过简单回归解决问题的尝试失败了,这证实了我们的假设,即我们无法访问的特征存在某种动态影响。

但是,时间t的环境状态应该反映在时间t0-n已知的特征和标签(尤其是它们的相互作用)中的某处,其中n > 0。不幸的是,由于问题的性质,时间 t 的输出在很大程度上取决于时间t的输入,与它取决于环境的动态状态一样多。我担心这会导致我想尝试的方法无效 - 在我的理解中,时间序列预测会考虑以前时间步的特征,但当前时间步没有输入。此外,我知道以前时间步长的标签,但不知道我想要做出预测的时间。

这是一个表格来说明这个问题:

输入 输出
0 x(t=0) y(t=0)
... ... ...
t0-1 x(t=t0-1) y(t=t0-1)
t0 x(t=t0) y(t=t0)=?

最终模型将被部署并继续为未来的时间窗口工作。我们知道相关时间窗口的大小大约是过去 100 个时间步长。

标签: pythontensorflowmachine-learningneural-networktime-series

解决方案


正如我后来了解到的那样,我所描述的问题与所谓的外生变量有关。就我而言,我需要一种叫做 NNARX 的东西,它的核心类似于 ARMAX 模型,但(作为神经网络)可以考虑非线性。

总体思路是引入一个 LSTM 层,该层充当历史输入的编码器,然后将其耦合到具有外生变量的另一个输入层。两者都耦合在所谓的解码器——神经网络架构的其余部分。


推荐阅读