我们可以使用 H2O 预测时间序列单维数据吗?
Can we predict time-series single-dimensional data using H2O?
我们有 2 列每小时时间序列数据,一列是时间戳,另一列是错误率。我们使用 H2O 深度学习模型来学习和预测未来的错误率,但看起来它至少需要 2 个特征(时间戳除外)来创建模型。
h2o 有什么方法可以学习这种只有一个特征的数据(时间、值)并预测给定未来时间的值吗?
当前版本的 H2O 中没有,但 ARIMA 模型正在开发中。您可以关注进度here.
有趣的问题,
我读到要声明代表时间序列先前值的其他变量,类似于 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 方法的输入,通过附加因素提高它们的预测质量。看来整个参数space我没有手动算出的某些品质可以补充一个不错的基础
此时真正的问题是现在引入了尚未完全理解的巨大复杂性。当非线性模型封装了两个阶段之间大约 95% 的信息时,编译环境中的复杂性是否合理?