I have been struggling to train a network to ECG data that we have (about 1200 ECGs, each 12-lead, 10000 samples per lead). I have tried all possible architectures from simple to complex, including LSTM, RNN, CNN, Resnet (all 1-D equivalent) and am hovering around validation accuracy of 56-58% (totally 3 output labels for the classification).
Statistically, we can see clear trends amongst output labels that should be picked up by the network but isnt.
I am beginning to wonder if 1200 is a good enough number for training size. I cant possibly have more more training data. So checking if there are any pre-trained networks for use with 1-D data? Or, can the pretrained networks for images be somehow used?
Thanks for your response,
Anoop Kulkarni, PhD
There are many options to deal with time series as you know.
I’ve used both ts as raw data and ts converted into images.
You may want to take a look at the timeseriesAI repo I created. It’s based on fastai2.
In the tutorial_nbs folder there are 2 nbs ( 01_Intro_to_Time_Series_Classification.ipynb and 02_ROCKET_a_new_SOTA_classifier.ipynb) that might be of interest to you.
InceptionTime and Rocket are both SOTA models accross different domains. I would start with these models and see what performance you get.
As to the image models, I’ve converted ts into images and got good results. However, your ts seem to be very long (if I undertand correctly 10k time steps). This would either create very large images, or you would need to somehow reduce the quality, which I think kwould negatively impact your performance.
Thanks so much. I will take a look.
I have tried using ts as images, but didnt get good results and as you said, the images become bigger to handle and also reducing quality beats the basic purpose. So we decided to stick to raw time series data. Will check your models and see if they help.
Thanks again for your response,