【问题标题】:Ensemble machine learning model with NNETAR and BRNN使用 NNETAR 和 BRNN 的集成机器学习模型
【发布时间】:2021-06-03 16:30:35
【问题描述】:

我使用forecast 包来预测变量Y 的每日时间序列,使用它的滞后值和外部参数X 的时间序列。我发现nnetar 模型(NARX 模型)在整体性能方面是最好的。然而,尽管我尝试了各种参数调整,但我无法很好地预测时间序列的峰值。

然后我提取了Y 的峰值(高于阈值)(当然这不再是常规时间序列)和相应的X 值并尝试拟合回归模型(注意:不是自回归模型)使用carat包中的各种模型。我发现使用brnn(双向递归神经网络)模型仅使用X值预测峰值比使用滞后值和X值的nnetar更好。

现在我的问题是我如何从这里创建这两个模型的样本(即,每当使用 brnn 回归模型(或任何其他回归模型)的预测更好时,我想使用 nnetar 替换预测并继续前进——我最关心的是山峰)?这是常用的方法吗?

【问题讨论】:

    标签: r neural-network forecast ensemble-learning


    【解决方案1】:

    与其尝试选择一个在任何时候都表现出色的模型,不如对模型进行平均处理,以便包含尽可能多的个人视图。 在我参与的实验中,我们试图根据历史表现选择一个表现出色的模型,通常表明简单的平均值同样好或更好。这与这个问题的典型结果是一致的:https://otexts.com/fpp2/combinations.html

    因此,在您尝试通过根据之前的性能选择特定模型或使用加权平均来尝试更高级之前,请考虑对两个模型进行简单平均。

    如果您想继续进行选择/加权平均,请尝试查看 R 中的 FFORMA 包:https://github.com/pmontman/fforma 我还没有尝试过特定的包(还),但在我使用原始 m4metalearning 包的测试中看到了有希望的结果。

    【讨论】:

    • 感谢您提供预测组合的链接。我不知何故忽略了电子书的这一部分。我将首先尝试简单的平均。 FFORMA 包听起来很有前途。但是,如果我认为模型 2 的预测在某个阈值以上总是比模型 1 好,我可以只在阈值以上的模型 2 并使用模型 1 或低于阈值的简单平均。虽然听起来很简单,但我认为我不能使用 FFORMA 包将其存档,因为它不提供基于阈值定义模型的选项。你怎么看?
    • 我相信 FFORMA 仅用于基于元学习器对每个模型进行加权,我不知道它包含执行您描述的任何功能。我相信你需要自己制定这个逻辑 - 还没有看到这个案例实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多