I have a set of 10 minute EEG signals that were sampled at 400 Hz and have 16 channels which corresponds to a 16x240000 matrix. These EEG signals belong to two different classes. I am trying to classify these 10 minute segments using a Neural Network, in particular a LSTM.

Since the size of the matrix is very large, even after I split them into time segments, I would like to first reduce the number of samples. My current approach for pre-processing is to use wavelet transform for denosing and down sample to at least 200 Hz. This results in a 16x1200 matrix.

I was also looking at ICA as a feature extractor and reduce the size.

My question is, how do I tell which method is better suited for my task? Will downsampling the signal lead to a significant loss in information?

I will appreciate any suggestions. Thank you.

Edit: - The data corresponds to two stages of seizure:

  • Preictal: Right before the seizure

  • Interictal: in between seizure

-The data was captured from 3 different patients and using 16 electrodes, sampled at 400Hz.

  • $\begingroup$ It is difficult to answer this question in full without knowing what the classifier is looking for. Is it possible to talk a little bit more about the way the data was captured? $\endgroup$
    – A_A
    Commented Apr 24, 2019 at 14:08
  • $\begingroup$ @A_A: i have updated my question. Please let me know if I need to add any additional information $\endgroup$ Commented Apr 24, 2019 at 19:39

3 Answers 3


Merely downsampling will result in a loss of information, unless you know the data of interest lives in a particular frequency band which you can filter down to. To determine that, you should look at the Fourier transform of your data to see if most of the energy is concentrated in a particular band. 10 minutes is a long time, so I would look at shorter time segments.

ICA is typically used for separating components that have been mixed together, not dimensionality reduction. I think you're better off looking at PCA, which (as you probably know) allows you to remove components that have the least information in them. Indeed, often PCA is applied as a preparatory step to ICA.

Since you're doing this for classification, I would actually recommend Fisher Discriminant Analysis. It has the advantage over PCA in that it explicitly chooses components that maximize information content, while respecting class differences. It finds a (reduced dimension) basis for your data that maximizes separation between classes, while minimizing the within class variance (makes features for a given class bunch tightly together).


You may filter frequency band you are interested in and then downsample,so you won't lose much information. If that is not sufficient you can use filterbanks to process different frequency bands independently.


Actually I am not quite sure if you should/need to downsample it with conventional methods. Did you consider using CNN (with stride larger than 1) first and then feed segment of the output to LSTM? The former step gives you some downsampling effect but it is probably better than any conventional preprocessing methods since those layers will be trainable and the whole model can be trained end-to-end (assuming that you have sufficient data).

  • $\begingroup$ I did consider that but feeding that large matrices is a problem memory wise. Each sample is 16x240000 and I have little more than 5000 such samples $\endgroup$ Commented Apr 25, 2019 at 1:29

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.