1bir

1bir t1_j6s0ito wrote

Possible solution:

  • train minirocket/hydra, which were designed for time series classification, on the labelled dataset (probably as four one-vs-many problems, eg s1 vs the rest, s2 vs the rest etc)
  • you'll get sets of 1D convolutional kernels; these can be convolved with time series of any length
  • only one of these should 'fire' strongly for each different heartbeat phase, so you should get univariate signals for each phase
  • convolve these kernel sets with your unsegmented data
  • segment the data based on the strongest signal corresponding to the relevant phase of the heartbeat.

You may need to apply some transformations to the signals to get this to work well though (eg softmax &/ smoothing, or some kind of changepoint detection, which I don't know much about).

1