【问题标题】:How can I predict the following values after RNN model training?RNN模型训练后如何预测以下值?
【发布时间】:2020-09-02 19:51:04
【问题描述】:

我用 LSTM 训练了一个时间序列模型(形状为 N、20、1)。

假设N是最后一条数据。

使用model.predict 给出N + 1 th 预测值。

如何预测 N + 2、N + 3、N + 4 .... 等之后的数据值

【问题讨论】:

    标签: python tensorflow lstm recurrent-neural-network


    【解决方案1】:

    在像 LSTM 这样的时间序列模型中,预测新数据点取决于之前的数据点。要预测 n + 1,请使用 [N-19...N]。现在要预测 n + 2,您需要 [N-18...N+1]。如果您想预测未来越来越远,请重复此过程。

    当然,你走得越远,你的预测就越不准确。 RNN 擅长预测下一个时间步长,但不擅长预测遥远的未来。这就是为什么如果您查看由神经网络生成的书籍或句子,它们没有多大意义。

    一旦你得到 n + 1 的实际值,n + 2 的预测将比你必须使用你的预测值更准确。

    【讨论】:

    • gist.github.com/Lay4U/a0a1a32320567c2aab9cd7ec78cf96a5 这是简化的代码。 (没有太大区别。)如果你编写预测下一个值的代码,我会给你 25 美元。
    • 如果你想使用 githelp 链接,我绝对可以为你写,但你快到了。你不能只调用一次 predict ,你必须为每个额外的时间步调用一次,否则它不会有新的信息。像 LSTM 这样的标准 RNN 只能预测未来的一个时间步。
    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 2018-09-14
    • 2022-10-19
    • 2021-02-22
    • 1970-01-01
    • 2017-08-19
    • 2020-04-18
    • 2018-03-24
    相关资源
    最近更新 更多