我们有每小时的时间序列数据,有 2 列,一列是时间戳,另一列是错误率。我们使用 H2O 深度学习模型来学习和预测未来的错误率,但看起来它至少需要 2 个特征(时间戳除外)来创建模型。
h2o有什么方法可以学习只有一种特征的这种类型的数据(时间,值)并预测给定未来时间的值?
不是在当前版本的H2O中,但ARIMA模型正在开发中。 您可以在此处关注进度。
有趣的问题,
我读到声明其他变量,这些变量代表时间序列的先前值,类似于ARIMA模型中的回归方法。但我不确定这是否是一种可能的方法,所以如果我错了,请纠正我。
因此,您可以尝试将数据集扩展为如下所示的内容:
t value(t) value(t-1) value(t-2) value(t-3) ...
1 10 NA NA NA ...
2 14 10 NA NA ...
3 27 14 10 NA ...
...
在此之后,value(t) 是你的响应(输出神经元),其他是你的预测变量,每个变量都引用一个输入神经元。
我尝试在 H2O 中使用许多默认方法来处理时间序列数据。如果将系统视为状态机,其中状态变量是一系列滞后的先验状态,这是可能的,但并不完全有效,因为先验状态不维持其因果顺序。 缓解此问题的一种方法是根据过去的时间为每个滞后状态集分配权重,类似于 EMA 优先处理较新的数据的方式。
如果您想了解 DL/ML 对于非线性时间序列模型的简单程度或有效性,我会从一个简单的问题开始,以验证 DL 方法在简单的 1 个周期 ARIMA/GARCH 类型过程中是否有任何改进。
我使用过这种技术,取得了不同的成功。 我所取得的成功是采用众所周知的非线性时间序列模型,并使用手工制作的非线性模型作为DL方法的输入,通过其他因素提高其预测质量。 似乎我没有手动解决整个参数空间的某些品质能够补充一个体面的基础。
在这一点上,真正的问题是现在引入了尚未完全理解的巨大复杂性。 当非线性模型在两个阶段之间封装大约 95% 的信息时,在编译环境中是否保证了这种复杂性?