Cardiorespiratory sleep stage detection using conditional random fields

P. Fonseca, N.G.P. den Teuling, X. Long, R.M. Aarts

Research output: Contribution to journalArticleAcademicpeer-review

52 Citations (Scopus)
626 Downloads (Pure)


This paper explores the probabilistic properties of sleep stage sequences and transitions to improve the performance of sleep stage detection using cardiorespiratory features. A new classifier, based on conditional random fields, is used in different sleep stage detection tasks (N3, NREM, REM, and wake) in night-time recordings of electrocardiogram and respiratory inductance plethysmography of healthy subjects. Using a dataset of 342 polysomnographic recordings of healthy subjects, among which 135 with regular sleep architecture, it outperforms hidden Markov models and Bayesian linear discriminants in all tasks, achieving an average accuracy of 87.38% and kappa of 0.41 (87.27% and 0.49 for regular subjects) for N3 detection, 78.71% and 0.55 (80.34% and 0.56 for regular subjects) for NREM detection, 88.49% and 0.51 (87.35% and 0.57 for regular subjects) for REM, and 85.69% and 0.51 (90.42% and 0.52 for regular subjects) for wake. In comparison with the state of the art, and having been tested on a much larger dataset, the classifier was found to outperform most of the work reported in the literature for some of the tasks, in particular for subjects with regular sleep architecture. It achieves a comparable accuracy for N3, higher accuracy and kappa for REM, and higher accuracy and comparable kappa for NREM than the best performing classifiers described in the literature.

Original languageEnglish
Pages (from-to)956-966
Number of pages11
JournalIEEE Journal of Biomedical and Health Informatics
Issue number4
Publication statusPublished - 1 Jul 2017


  • Cardiac
  • conditional random fields (CRFs)
  • respiratory
  • sleep staging


Dive into the research topics of 'Cardiorespiratory sleep stage detection using conditional random fields'. Together they form a unique fingerprint.

Cite this