# Time series prediction based on multiple time series data

I'm trying to build a RNN model for predicting an arterial blood pressure (ABP) time series based on two other time series, namely, ECG and PPG time series.

I'm able to build fairly good models based on LSTM's and GRU's to perform this task for a single patient, that is, given two time series (ECG and PPG) I'm able to predict a third time series (ABP).

However, my current objective is to take several sets of ECG and PPG time series (each one corresponding to a different patient) and predict the ABP of a patient that is not in the mentioned set.

So, to make myself clear, I have 10 sets of time series of the kind [PPG, ECG, ABP] and I have an 11th set of the kind [PPG, ECG]. My wish is to obtain (predict) the ABP time series of the 11th set.

Summarizing, the question is: how can I assemble the 10 time series data I have for this prediction task? By assemble I mean, should I concatenate the 10 series in order to get one big [PPG, ECG, ABP] series? If not, then what is the best practice in this kind of situation?

• I think I don't understand your problem, since the answer seems very simple. Use the 10 sets to train the RNN with [PPG, ECG] as inputs and (the known) [ABP] as output (use 9/1 or 8/2 corss-validation or something like that) and then input your eleventh data set to predict your unknown [ABP]. – Skander H. Apr 10 '18 at 3:05
• Regarding the title, this looks like prediction (of a new series) rather than forecasting (of future values in a given series). – Richard Hardy Apr 10 '18 at 5:19
• @Alex I just edited the question, I hope my problem has been made clearer now. Thanks for the comment. – Jose Bueno Apr 10 '18 at 10:56

I don't think you need to concatenate or group the time series in any way.

Just train your NNet on the 10 data sets, with [PPG, ECG] as inputs and [ABP] as the outputs. Then use it to predict the [ABP] for the eleventh data set.

So your data should look like:

Patient #.    Input       Target
1      [PPG1, ECG1]   [ABP1]
2      [PPG2, ECG2]   [ABP2]
...          ...         ...
10      [PPG10,ECG10]  [ABP10]


You only have 10 data sets for training so you should use cross validation.

Then feed