I'm currently working on a project that requires me to classify sleep stages (Awake W, N1, N2, N3 and REM) based on only an EEG. Various algorithms and classifying standards (such as Rechtschaffen & Kales or AASM) actually require EMG and EOG in order to distinguish from REM sleep and wakefulness, which I don't have. Additionally, most algorithms use techniques such as Wavelet analysis, ICA, Neural Networks and such, but I have only learned up to Fourier Transform. Which means that I have to detect and classify these stages and their components (detect sleep spindles in order to classify N2, for example) based on only frequency analysis.

Power spectra analysis is poor since low frequency components tend to have high powers so the program ends up over-classifying 30s epochs as deep sleep stages.

I have a .txt file telling me exactly what's going on in every 30s epoch, so I have a priori knowledge regarding when is the subject awake or asleep (and which sleep stages the subject is in).

I appreciate any insight into this problem.

  • 1
    $\begingroup$ So basically you want to define feature sets based on Short-Time Fourier Transforms of the epochs and apply a classification algorithm to derive sleep states. The accuracy of this approach could be severely limited unless there is direct correlation between the sleep states and the EEG bands (alpha, delta, beta, theta & gamma) or there is sufficient frequency separation between these sleep states along with low noise and artifacts in the EEG signal. $\endgroup$ – Naveen Oct 30 '15 at 20:33
  • 1
    $\begingroup$ The defining characteristic of the REM sleep is high ocular artifact(EOG). You will have to analyze the annotated raw EEG signals in the REM annotated regions and find out the frequency domain profile of these regions and see if there is a window where there is consistently high activity. If this procedure is repeated for the rest of the sleep states and there is sufficient isolation in frequency domain between these annotated sleep regions, then you can come up with a reliable classification algorithm. I recommend the use of sophisticated EEG analysis tools like EEGlab for this purpose. $\endgroup$ – Naveen Oct 30 '15 at 20:46

The standard approach would be to

  • Choose your feature vectors.
  • Partition your data set into training and testing.
  • Calculate the feature vectors for all your data (both training and test).
  • Use the training data set to train your classification algorithm.
  • Apply the trained classification algorithm to the test data set and calculate your correct classifications and incorrect classifications to get your precision / recall.

The trick will be step 1: choosing your feature vectors, given that you've only got Fourier coefficients (and values derived from them).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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