Keras LSTM Série temporelle

J'ai un problème et à ce point, je suis complètement perdu quant à la façon de le résoudre. Je suis l'aide de Keras avec un LSTM couche de projet d'une série chronologique. Je suis en train d'utiliser au cours des 10 points de données pour prédire le 11.

Voici le code:

from keras.models import Sequential
from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM

def _load_data(data):
"""
data should be pd.DataFrame()
"""
n_prev = 10
docX, docY = [], []
for i in range(len(data)-n_prev):
    docX.append(data.iloc[i:i+n_prev].as_matrix())
    docY.append(data.iloc[i+n_prev].as_matrix())
if not docX:
    pass
else:
    alsX = np.array(docX)
    alsY = np.array(docY)
    return alsX, alsY

X, y = _load_data(df_test)

X_train = X[:25]
X_test = X[25:]

y_train = y[:25]
y_test = y[25:]

in_out_neurons = 2
hidden_neurons = 300
model = Sequential()
model.add(LSTM(in_out_neurons, hidden_neurons, return_sequences=False))
model.add(Dense(hidden_neurons, in_out_neurons))
model.add(Activation("linear"))
model.compile(loss="mean_squared_error", optimizer="rmsprop")
model.fit(X_train, y_train, nb_epoch=10, validation_split=0.05)

predicted = model.predict(X_test)

Alors je prend les données d'entrée (un à deux colonnes dataframe), la création de X qui est un n par 10 par 2 tableau et y, qui est un n par 2 tableau qui est en avance d'une étape de la dernière ligne de chaque tableau de X (l'étiquetage des données avec le point directement au-devant de lui.

prédit est de retour

[[ 7.56940445,  5.61719704],
[ 7.57328357,  5.62709032],
[ 7.56728049,  5.61216415],
[ 7.55060187,  5.60573629],
[ 7.56717342,  5.61548522],
[ 7.55866942,  5.59696181],
[ 7.57325984,  5.63150951]]

mais je devrais être en train de

[[ 73,  48],
[ 74,  42],
[ 91,  51],
[102,  64],
[109,  63],
[ 93,  65],
[ 92,  58]]

L'ensemble de données original a seulement 42 lignes, alors je me demandais si il n'y a pas là de quoi travailler? Ou ai-je raté une étape clé dans le processus de modélisation, peut-être? J'ai vu quelques exemples d'utilisation de l'Incorporation de couches, etc, c'est quelque chose que je devrais regarder?

Merci d'avance pour toute aide!

source d'informationauteur Ryan Allen | 2015-09-10