【问题标题】:Making a future prediction with trained Tensorflow model (LSTM-RNN)使用经过训练的 Tensorflow 模型 (LSTM-RNN) 进行未来预测
【发布时间】:2020-04-18 04:53:34
【问题描述】:

我对如何告诉我的 RNN-LSTM model 生成未来值有疑问。我认为我需要将值附加到“输入”,以便X_test 超出我的测试数据集并延伸到未来,但我应该如何去做,或者这些值应该是什么?在这里放轻松,刚刚进入 python/机器学习。

X_test.shape = (193, 60, 5) 在这段代码的末尾,顺便说一下,包含“Open, High, Low, Close, Volume”值。

past_60_days = data_training.tail(60)

df = past_60_days.append(data_test, ignore_index = True)
df = df.drop(['Date', 'Adj Close'], axis = 1)

inputs = scaler.transform(df)

X_test = []
y_test = []

for i in range(60, inputs.shape[0]):
  X_test.append(inputs[i-60:i])
  y_test.append(inputs[i, 0])

X_test, y_test = np.array(X_test), np.array(y_test)

y_pred = regressior.predict(X_test)

【问题讨论】:

    标签: python tensorflow lstm recurrent-neural-network


    【解决方案1】:

    您的问题是Time Series Analysis,是的,可以使用LSTM (RNN) 来预测未来。

    例如,您想预测 Next Days Value,考虑过去 60 天的数据,代码的重要部分是

    def multivariate_data(dataset, target, start_index, end_index, history_size,
                          target_size):
      data = []
      labels = []
    
      start_index = start_index + history_size
      if end_index is None:
        end_index = len(dataset) - target_size
    
      for i in range(start_index, end_index):
        indices = range(i-history_size, i)
        data.append(dataset[indices])
    
        labels.append(target[i:i+target_size])
    
      return np.array(data), np.array(labels)
    
    past_history = 60
    future_target = 1
    
    x_train, y_train = multivariate_data(dataset, dataset[:, 0], 0,
                                                       training_data_len, past_history,
                                                       future_target)
    x_val_single, y_val_single = multivariate_data(dataset, dataset[:, 0],
                                                   training_data_len, None, past_history,
                                                   future_target)
    

    请参考此Comprehensive Tensorflow Tutorial,其中包含Multi-Variate Data 的完整代码(多个列,如Open, Close, High, Low, etc..),预测Single StepMultiple Steps

    如果您在实施过程中遇到任何错误,请联系我们,我很乐意为您提供帮助。

    希望这会有所帮助。快乐学习!

    【讨论】:

      猜你喜欢
      • 2017-12-30
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      相关资源
      最近更新 更多