首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LSTM -时间序列预测

LSTM -时间序列预测
EN

Stack Overflow用户
提问于 2018-04-12 21:01:57
回答 3查看 477关注 0票数 0

我正在学习本教程LSTM,我想知道如何将其映射到多时间序列输入。我有几个时间序列的数据集,我想为每个时间序列预测未来。我不知道如何将LSTM扩展到多个时间序列。

这样做的目的是避免为每个时间序列建立模型,因为我有40k的时间序列。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-04-12 21:37:52

逐个的过程

只需在如下所示的循环中执行相同的操作:

代码语言:javascript
复制
for epoch in range(numberOfEpochs):
    for sequence in yourSequences:
        model.reset_states()

        #1 - do the entire training for this sequence (1 epoch only)    
        #you may use "model.train_on_batch" to avoid some overhead in "fit"

        #or 2 - do the entire predictoins for this sequence

一起处理

只需将序列打包在输入的第一个维度中。不需要对模型进行任何更改

定义输入形状时,请使用batch_input=(number_of_time_series,length,features)batch_input_shape=(number_of_time_series,length,features)。(您可能需要更小的批量,因为40K太多了)

  • 确保在每个训练命令中使用shuffle=False
  • 如果您的批次不是40k,请确保处理每个批次的整个长度(整个训练或预测),然后使用model.reset_states()并开始一组新的序列。

代码语言:javascript
复制
batch_size = ....
for epoch in range(numberOfEpochs):
    firstSeq = 0
    lastSeq = firstSeq + batch_size

    while lastSeq <= len(sequences):

        model.reset_states()
        batch = sequences[firstSeq:lastSeq]

        #train the entire batch (one epoch only)
        #or predict for the entire batch

        firstSeq += batch_size
        lastSeq += batch_size
票数 0
EN

Stack Overflow用户

发布于 2018-04-12 23:01:28

由于您使用的是单独的时间序列,因此我认为保持stateful = True不是一个好主意。

实际上,您的问题更接近于LSTM的“通用”使用。

尝试将序列连接到一个二维数组中,其中每行对应一个序列。然后像这样对数据进行整形:(number_of_series,timesteps (单个序列长度),1),然后将其提供给网络。

根据您的系列文章的长度,您可能需要阅读以下内容:https://machinelearningmastery.com/handle-long-sequences-long-short-term-memory-recurrent-neural-networks/

票数 0
EN

Stack Overflow用户

发布于 2018-09-27 16:34:07

LSTM模型用于时间序列预测的真正潜力可以通过使用所有时间序列构建全局模型来挖掘,而不是作为单变量模型,这实际上忽略了时间序列中任何可用的跨序列信息。

我们通过引入“Moving Window Approach”策略来实现您所提到的用例,该策略涉及对多个输入和输出映射进行建模,其中您可以汇集具有不同长度的时间序列。有关此策略的更详细讨论,请参阅我们的paper1上的第3.4节。在这里,您基本上为给定的一组时间序列生成了多个输入和输出元组,然后将它们汇集在一起用于LSTM训练。即使你有不同长度的时间序列,这也是可行的。

1

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49797291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档