我試圖預測使用以前的20個值時間序列的下一個值。下面是我的代碼示例:的時間序列預測使用Keras LSTM:維錯誤號:預計3,拿到了2形狀
X_train.shape
是(15015, 20)
Y_train.shape
是(15015,)
EMB_SIZE = 1
HIDDEN_RNN = 3
model = Sequential()
model.add(LSTM(input_shape = (EMB_SIZE,), input_dim=EMB_SIZE, output_dim=HIDDEN_RNN, return_sequences=True))
model.add(LSTM(input_shape = (EMB_SIZE,), input_dim=EMB_SIZE, output_dim=HIDDEN_RNN, return_sequences=False))
model.add(Dense(1))
model.add(Activation('softmax'))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(X_train,
Y_train,
nb_epoch=5,
batch_size = 128,
verbose=1,
validation_split=0.1)
score = model.evaluate(X_test, Y_test, batch_size=128)
print score
雖然當我跑我的代碼,我得到了以下錯誤:
TypeError: ('Bad input argument to theano function with name "/usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py:484" at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (32, 20).')
我試圖在這篇文章中複製結果:neural networks for algorithmic trading。這裏是一個鏈接到混帳回購協議:link
這似乎是一個概念上的錯誤。請發佈任何資料,以便我可以更好地瞭解LSTMS以進行時間序列預測。另外請解釋我如何解決這個錯誤,以便我可以重現上述文章中提到的結果。