PaperarXiv:2408.15253

A Deep Generative Model for Five-Class Sleep Staging with Arbitrary Sensor Input

Venue listed2025Added Sep 26, 2026

  • HG
  • MG
  • PF
  • FM
  • JD
  • SO
  • RA

Authors: Hans van Gorp, Merel M. van Gilst, Pedro Fonseca, Fokke B. van Meulen, Johannes P. van Dijk, Sebastiaan Overeem, Ruud J. G. van Sloun (7 authors)

IEEE Journal of Biomedical and Health Informatics (arXiv eess.SP / cs.LG)

TL;DR

Score-based diffusion generative model for 5-class sleep staging from any arbitrary sensor combination (trained on 1947 overnight recordings, 36 signals) with Bayesian score factorization enabling zero-shot sensor sets. Finger PPG + nasal flow + thoracic effort reaches 5-class accuracy 79.0%, κ 0.697; single-channel EEG approaches inter-rater limit (85.6%, κ 0.791). Supports post-hoc addition of new modalities without full retraining.

  • Form factor: finger

Abstract

Gold-standard sleep scoring is based on epoch-based assignment of sleep stages based on a combination of EEG, EOG and EMG signals. However, a polysomnographic recording consists of many other signals that could be used for sleep staging, including cardio-respiratory modalities. Leveraging this signal variety would offer important advantages, for example increasing reliability, resilience to signal loss, and application to long-term non-obtrusive recordings. We developed a deep generative model for automatic sleep staging from a plurality of sensors and any – arbitrary – combination thereof. We trained a score-based diffusion model using a dataset of 1947 expert-labelled overnight recordings with 36 different signals, and achieved zero-shot inference on any sensor set by leveraging a novel Bayesian factorization of the score function across the sensors. On single-channel EEG, the model reaches the performance limit in terms of polysomnography inter-rater agreement (5-class accuracy 85.6%, Cohen's kappa 0.791). Moreover, the method offers full flexibility to use any sensor set, for example finger photoplethysmography, nasal flow and thoracic respiratory movements, (5-class accuracy 79.0%, Cohen's kappa of 0.697), or even derivations very unconventional for sleep staging, such as tibialis and sternocleidomastoid EMG (5-class accuracy 71.0%, kappa 0.575). Additionally, we propose a novel interpretability metric in terms of information gain per sensor and show this is linearly correlated with classification performance. Finally, our model allows for post-hoc addition of entirely new sensor modalities by merely training a score estimator on the novel input instead of having to retrain from scratch on all inputs.

Verbatim from arXiv (opens in a new tab) · arXiv metadata (abstracts are released under CC0)

Results on ChatPPG leaderboards

All leaderboards

No results from this paper on ChatPPG leaderboards yet. Browse the leaderboards.

Tasks & signals

Tasks

Sleep staging

Keywords

sleepstagingdiffusionarbitrary-sensorfinger-PPG

How it works

How Method works: Setup → Method → TargetSetup: Signals (PPG, EEG, respiratory, EMG); Form factor (finger). Method: Method. Target: Sleep staging.SetupSignals: PPG, EEG, respiratory, EMGSignalsPPG, EEG, respiratory, EMGForm factor: fingerForm factorfingerMethodMethodTargetSleep stagingSleep staging

Cite this paper

APA

van Gorp, H., van Gilst, M. M., Fonseca, P., van Meulen, F. B., van Dijk, J. P., Overeem, S., & van Sloun, R. J. G. (2025). A Deep Generative Model for Five-Class Sleep Staging with Arbitrary Sensor Input. IEEE Journal of Biomedical and Health Informatics. https://doi.org/10.1109/JBHI.2025.3565034

BibTeX

@article{gorp2025deep,
  title         = {{A Deep Generative Model for Five-Class Sleep Staging with Arbitrary Sensor Input}},
  author        = {van Gorp, Hans and van Gilst, Merel M. and Fonseca, Pedro and van Meulen, Fokke B. and van Dijk, Johannes P. and Overeem, Sebastiaan and van Sloun, Ruud J. G.},
  year          = {2025},
  journal       = {IEEE Journal of Biomedical and Health Informatics},
  doi           = {10.1109/JBHI.2025.3565034},
  eprint        = {2408.15253},
  archivePrefix = {arXiv}
}

Built from the hub record. Check it against the publisher before submitting.

Added to the ChatPPG research hub