Ich versuche den nächsten Wert in der Zeitreihe mit den vorherigen 20 Werten vorherzusagen. Hier ist ein Beispiel aus meinem Code:Zeitreihenvorhersage mit LSTM mit Keras: Falsche Anzahl der Dimensionen: erwartet 3, 2 mit Form erhalten
X_train.shape
ist (15015, 20)
Y_train.shape
ist (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
Obwohl, wenn ich meinen Code lief ich folgende Fehlermeldung bekam:
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).')
Ich habe versucht, die Ergebnisse in diesem Beitrag zu replizieren: neural networks for algorithmic trading. Hier ist ein Link zum Git Repo: link
Es scheint ein konzeptioneller Fehler zu sein. Bitte posten Sie alle Quellen, in denen ich LSTMS für die Zeitreihenvorhersage besser verstehen kann. Bitte erläutern Sie mir auch, wie ich diesen Fehler behebe, damit ich die in dem oben genannten Artikel erwähnten Ergebnisse reproduzieren kann.