Machine Learning, Heart Rate Variability & Highway Congestion

Using a machine learning algorithm I had determined my baseline for relaxation and stress. When I began I had used 11 features to train the algorithm which means I used 11 sources of data that the algorithm used to try and predict a relaxed or stress sate. The WEKA software has the ability to show which of the data sources is the most useful in determining the outcome and as it did so it allowed me to narrow the features to three. All three are heart rate variability measurements in the time domain, rMSSD, pNN50 and Heart Rate Variability Triangularity Index (HRVI).

Now that I have a trained Artifical Neural Network algorithm on WEKA I can use it to look at large sets of historical data. The more immediate problem I am trying to solve is how to get an indication in real time regarding my physiological state. I want to be in a meeting and be able to see on a screen that I my system has shifted to fight/flight mode.

When I looked at the stress and relaxed data into a spreadsheet these time domain features were markedly lower when stressed, and higher when relaxed. I could use them as a real time proxy for stress if I could find the vehicle to deliver those numbers in real time. I found an iPhone app called Heart Rate Variability Logger. To use it you need a bluetooth heart rate belt and I have the Polar H7. So I was set to start testing.

As I was playing with the app last night I had to call down to the front desk of my hotel to make arrangements to catch and early flight the following morning. I was pretty relaxed prior to the call. On contacting the front desk they told me “all roads were closed” and that my journey of 20 minutes was going to take an hour. That meant a 4am wakeup. You can see when I got this news at about 40% of the way into the session (where it says 16.2):


In the baseline data that I used for the machine learning algorithm, my average pNN50 while relaxed was 32.6 and while stressed, 4.5. Here my pNN50 went from around 30 to 16. That is a pretty good indicator that news of my early wakeup stressed me out. I did some paced breathing to come out of it.

The good news is my hour long journey actually took 30 minutes so my pNN50 was in fine shape as I made my flight with plenty of time. I was also pleased that I now have a practical way to monitor my stress in real time that is backed by insights gleaned from a machine learning algorithm.

Sign up for the QuantXLaFont Newsletter
Get our lifestyle tips and studies delivered to your inbox.
Thank you! We don't spam :)

Leave a Reply

Your email address will not be published. Required fields are marked *