2
$\begingroup$

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.

enter image description here

$\endgroup$

1 Answer 1

2
$\begingroup$

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.

$\endgroup$
3
  • $\begingroup$ Hi, thank you very much @Lynn I have tried the time-series feature extraction method with the tsfeatures package in R. It estimates features like spike, linearity, curvature, and so on. However, it seems that it does not help in increasing the performance of the models. It is the first time I heard about the specialized time series classifier. The traditional ML algorithms perform pretty well with 85+% accuracy (both OA and F-Score) in multi-class classification. I do not know if it over-performs. $\endgroup$
    – Enes
    Apr 28, 2022 at 13:58
  • $\begingroup$ Finally, I saw that you are working with Earth observations. The problem in this case is crop classification via satellite images. Your field knowledge can help and provide valuable insight. $\endgroup$
    – Enes
    Apr 28, 2022 at 13:58
  • $\begingroup$ @Enes - you may be interested in this paper: Temporal Convolutional Neural Network for the Classification of Satellite Image Time Series, which was written by others in my research group. It proposes a temporal CNN for land cover classification from satellite images, and the algorithm should work for crop classification as well. It also discusses the pros and cons of standard classifiers vs specialised time series ones. $\endgroup$
    – Lynn
    May 5, 2022 at 13:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.