在處理時間序列預測時,我看到大多數人在使用 LSTM 模型時遵循以下步驟:
- 獲取、清理和預處理資料
- 取出驗證資料集,以便將來與模型預測進行比較
- 初始化和訓練 LSTM 模型
- 使用驗證資料集的副本與訓練資料完全一樣進行預處理
- 使用經過訓練的模型對轉換后的驗證資料進行預測
- 評估結果:預測與驗證
但是,如果模型是準確的,您如何做出超出驗證期結束時間的預測?
以下僅接受以與訓練資料相同的方式轉換的資料,但對于超出驗證期的預測,您沒有任何輸入資料可提供給模型。那么,人們如何做到這一點呢?
# Predictions vs validation
predictions = model.predict(transformed_validation)
# Future predictions
future_predictions = model.predict(?)

uj5u.com熱心網友回復:
要預測第 i 個值,您的 LSTM 模型需要最后 N 個值。所以如果你想預測,你應該使用每個預測來預測下一個。
換句話說,你必須回圈類似的東西
prediction = model.predict(X[-N:])
X.append(prediction)
您可以猜到,您將輸出添加到輸入中,這就是為什么您的預測會發散并放大不確定性的原因。
其他模型更穩定,可以預測遙遠的未來。
uj5u.com熱心網友回復:
您必須將資料分解為訓練和測驗,然后適合您的模式。最后,你做出這樣的預測。
future_predictions = model.predict(X_test)
查看下面的鏈接以了解所有詳細資訊。
https://towardsdatascience.com/lstm-time-series-forecasting-predicting-stock-prices-using-an-lstm-model-6223e9644a2f
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/341011.html
