Data imputation

Hi,

I was wondering if you implemented heart rate data imputation in mCerebrum? I found where data quality is assessed (ECGQualityCalculation.java) but I have some trouble finding the data imputation part.

Could you please give me some pointers?

Thank you!

The high-frequency signal processing occurs within the stream-processor library. Our current algorithms do not require imputation of the rr-intervals. What specifically are you attempting to accomplish?

Thanks so much for such a prompt reply!

I read your papers about cStress and mCrave and, following a suggestion in one of those papers, I would like to use a similar approach to study self-control (inhibition specifically).

What I want to do right now is:

  1. stream RR-intervals from a wrist sensor to a phone,
  2. identify anomalies in the data (e.g., motion artifacts),
  3. remove these incorrect RR-intervals,
  4. impute/interpolate missing data. Without interpolation, spectral analysis would be hard to do.

I was hoping to figure out how you do the interpolation and use this approach in my pilot, citing you of course :slight_smile:

@mkos, I will attempt to answer your questions here based on the published papers

  1. We are working on a new device (MotionSenseHRV) that will provide this capability. We anticipate offering these for purchase in the future (Summer 2017 at the earliest).
  2. We will be facing this problem once the MotionSenseHRV is integrated into mCerebrum
  3. There are some rules in the code for filtering out bad RR-intervals. Most of this is related to specifying time bounds
  4. We utilize the pchip algorithm for respiration and ECG signals. It may be applicable here too.

You may want to take a look at this logic: https://github.com/MD2Korg/CerebralCortex/blob/master/cerebralcortex/data_processor/signalprocessing/alignment.py

Thank you very much, @hnat - this is very useful. I will dig into the code tonight and report back if I have any questions. Thanks again for your help!