I am working on a project where I have 100 multiple time series of length 1-10 minutes (samples every 0.1s). Each time series is a recording of human emotions stored as a vector of 7 features with each corresponding to the percentage of an emotion seen at that timestamp (e.g. t=4.2s, [0.5,0.2,0.1,0,0.2,0,0] represents 50% happy, 20% sad, 10% surprised etc). So, a 1 minute long time series would be stored as a 600x7 matrix (600 timesteps, 7 features).
My goal is to design a machine learning model that trains on 100 time series I have and forecast the emotions for the next 10 seconds (to be decided how many seconds I want to forecast, but I will use 10 seconds for this post).
Data preprocessing: used non-overlapping segments for each of the 100 time series to generate my training and testing data (80-20 split). So each xTrain consists of 600 timesteps and the corresponding yTrain is the next 100 timesteps. I made sure there was no data leakage between the training and testing sets by randomly splitting by the whole timeseries not their segments. I.e. out of the 100 time series, there is no time series that has a segment that is in xTrain and a different segment in xTest
I am wondering what type of machine learning models would be the best to use for this purpose?
I have considered LSTMs, but all the research papers I have found only use LSTMs for either 1. predicting the next value for multiple features or 2. predicting multiple timesteps in the future (either by recursively feeding the single step prediction into the model or all at once) for a single feature – no LSTM paper has done both.