How to use time-series observations on multi-class classification problem? I have a multi-class classification problem with time-series features. You can find an example series below. It shows the same series over time for different classes (actually, each line represents the average of its class at a given date).
I have experimented with multiple models, and the random forest has the highest performance. My predictors are point observations for each series, the variance of the series, and the min-max range of the series.
I assume that each class has a unique data-generating process (although some are very similar). Therefore, rather than only providing point observations at a time, there might be an elegant and better way to provide information to the model regarding the data-generating process. I am curious if you have any suggestions on this.
Thanks.


One of the challenges of time series classification is that most ML algorithms assume the feature variables are independent of each other. That's often not the case in a time series, as a value of the series at one time point likely depends on one or more of the preceding values. So using either a time series feature extraction method to provide the features for a standard classifier (such as random forest) or a specialised time series classifier is often beneficial.
There are a number of time series feature extractors that have been proposed. An example is Symbolic Aggregate approXimation (SAX) Jessica Lin et al., Experiencing SAX: a novel symbolic representation of time series, which transforms a time series into a set of "words" that can be used as features for a classifier.
If you're using Python, you could try using the sktime package, which is a package of tools for time series machine learning. It includes several time series feature extractors and classifiers.
