我们有每小时的时间序列数据有2列,一个是时间戳,另一个是错误率。我们使用H2O深度学习模型来学习和预测未来的错误率,但看起来它需要至少2个功能(时间戳除外)来创建模型。
有没有什么方法可以让h2o学习这种只有一个特征的数据(时间,价值)并预测未来时间的价值?
答案 0 :(得分:2)
有趣的问题,
我读到要宣布代表时间序列先前值的其他变量,类似于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 ...
...
在此之后,值(t)是您的响应(输出神经元),其他是您的预测变量,每个变量都指向一个输入神经元。
答案 1 :(得分:1)
不在当前版本的H2O中,但ARIMA模型正在开发中。您可以关注进度here。
答案 2 :(得分:0)
我试图在时间序列数据中使用H2O中的许多默认方法。如果将系统视为状态机,其中状态变量是一系列滞后的先前状态,则可能但不完全有效,因为先前的状态不保持其因果顺序。减轻这种情况的一种方法是根据过去的时间为每个滞后状态集分配权重,类似于EMA优先于更新数据的方式。
如果您希望看到DL / ML对于非线性时间序列模型有多么简单或有效,我会从一个简单的问题开始验证DL方法在简单的1个周期ARIMA /上提供任何改进GARCH类型的过程。
我使用过这种技术,取得了不同程度的成功。我所取得的成功是采用众所周知的非线性时间序列模型,并使用手工非线性模型作为DL方法的输入,利用其他因素提高其预测质量。似乎我没有手动解决整个参数空间的某些特性能够补充一个不错的基础。
那时真正的问题是,现在引入了一种尚未完全理解的巨大复杂性。当非线性模型在两个阶段之间封装了大约95%的信息时,编译环境是否需要这种复杂性?