# training neural net with multiple sets of time-series data

I have the following data

($x^1_i$, $y^1_i$) for $i=1,2,...N_1$

($x^2_i$, $y^2_i$) for $i=1,2,...N_2$

...

($x^m_i$, $y^m_i$) for $i=1,2,...N_m$

Is it possible to train a neural net to produce some $y_k$ where $k<=min(N)$ given a input ${x_1, x_2, ..., x_{k-1}}$?

If so any suggestion of documentation/ library I can look at (preferably python)?

## 2 Answers

Yes, this is a straightforward application for neural networks. In this case yk are the outputs of the last layer ("classifier"); xk is a feature vector and yk is what it gets classified into. For simplicity prepare your data so that N is the same for all. The problem you have is perhaps that in the case of time series you won't have enough data: you need (ideally) many 1000's of examples to train a network, which in this case means time series, not points. Look at the specialized literature on neural networks for time series prediction for ideas on network architecture.

Library: try Pylearn2 at http://deeplearning.net/software/pylearn2/ It's not the only good option but it should serve you well.

I have trained a LSTM using different series in the X_train_list:

epochs=1000
for i in range(epochs):
print("Epoch: " + str(i))

for i in range(len(X_train_list)):
X_train, y_train=X_train_list[i], y_train_list[i]
regressor_mae.fit(X_train, y_train, shuffle=False, epochs = 1, batch_size = batch_size)
regressor_mae.reset_states()