I am trying to predict sales for 2 departmental stores which share similar demographic properties. My goal is to make a single LSTM model to predict sales from these parallel time series having multiple features.
My input features for training would be
+----------+-------+--------------+-------+
| Date | Store | DayOfTheWeek | Sales |
+----------+-------+--------------+-------+
| 1/1/2019 | A | 2 | 100 |
| 1/2/2019 | A | 3 | 200 |
| 1/3/2019 | A | 4 | 150 |
| 1/1/2019 | B | 2 | 300 |
| 1/2/2019 | B | 3 | 550 |
| 1/3/2019 | B | 4 | 1000 |
+----------+-------+--------------+-------+
and my output for training would be
+----------+-------+--------------+-------+
| Date | Store | DayOfTheWeek | Sales |
+----------+-------+--------------+-------+
| 1/4/2019 | A | 5 | 220 |
| 1/4/2019 | B | 5 | 700 |
+----------+-------+--------------+-------+
Problem is that LSTM takes input as 3D i.e (n_sample, n_timesteps, n_features)
and I can pass a single time series for a specific store (e.g. A)
If I had a univariate mutiple time series I can reshape my input data as follows and pass it to LSTM.
+----------+---------+---------+
| Date | A_Sales | B_Sales |
+----------+---------+---------+
| 1/1/2019 | 100 | 300 |
| 1/2/2019 | 200 | 550 |
| 1/3/2019 | 150 | 1000 |
+----------+---------+---------+
But I need to identify how can I predict parallel multivariate time series? Is there any other way to define in Input LSTM layer that there are 2 time series with 2 features each i.e (2*2).