Monthly Archives: August 2014

Hairdresser beats Dentist in Stress-off

Taking my heart reading while getting a haircut begins to flush out the professional services stress leaderboard. Using Polar H7 heart rate strap and a new app, the Heart Rate Variability Logger by Marco Altini I captured several time domain measurements for the comparison.

In this case I used the pNN50 which is a percentage of the normal heartbeat intervals that are greater than 50 milliseconds. The intuition there is if a low percentage of your heartbeat intervals are over 50 milliseconds then your heart is beating regularly and quickly, so you are likely in an excited state. Conversely, if 30% of your heartbeats are over 50 milliseconds you have a fair bit of variability in the beats.

Here is the comparison:

Slide1The green line above is the average of my baseline when relaxed (32% pNN50) and the red line below is the stressed baseline (4.5% pNN50). These measurements are all taken over consecutive 30 second periods so I am comparing apples to apples.

The orange line shows a snapshot of the tooth drilling session at the dentist. As you can see, it closely follows the stress average. The purple line is the haircut. Much higher pNN50, averaging up around 20%. Much less stress for sure.

So though getting a haircut is not as relaxing as meditation, if you are having a bad day head over to your hairdresser for a trim. It may put you in a better mood.

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

Stress Reading While Firing Shotgun


On holiday last week I went to the range with my son and shot his Remington 12 gauge shotgun,  AR15 and FN SCAR. We also did a little handgun work with the M1911. It was a nice day for it. While shooting the Remington I took my heart reading using the Polar H7 strap which sent data to the Sweetwater app from which I exported the RR interval output to Kubios.

Previously I had used an Artificial Neural Network (ANN) to determine my stress levels from 11 different measures that Kubios produces. Of those, the ANN told me that the Heart Rate Variability Triangularity Index (HRVTI) was the best predictor of stress level.

My HRVTI when relaxed averaged 9.72 and when stressed averaged 5.25 so I had a range to compare my readings. Here is a graph showing the ten minute period when I was loading & shooting the 12 gauge.



You can see from the graph that I was in a stress state through the period. The average was 4.8 versus the average of 5.2 HRVTI that I got from stress events like a trip to the dentist. So being at the range with a gun in your hand is a pretty stressful event. I think that makes sense. Not only did I have a weapon in my hand there were guns blazing all around me, so the qualitative experience was certainly one of being on high alert.

Using the Quantified Self three prime questions I can report:

  • What did you do? Measured my stress level while shooting a 12 gauge shotgun.
  • How did you do it? See above
  • What did you learn? Blazing away with a shotgun is physiologically more stressful than having a tooth drilled.

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.

Machine Learning & Stress Prediction

Seeking a reliable way to measure when I was am in a relaxed and focussed frame of mind and when I was feeling stress I looked again at the data I had collected for several sessions. I used the data from the readings when I was getting my tooth drilled and when I was giving a speech as a reliable reading of when I was in a stress state. I also used sessions of high coherence while using Heartmath Pro as a baseline for when I was in a relaxed state. I used this as a training set which I fed into an Artificial Neural Network using a freeware package called WEKA.

The machine learning algorithm came back with a 98.3% accuracy on the ability to classify whether I was relaxed or stressed. Now that I had an algorithm I could run it on other data to see how it looked. First I ran the data for a meeting I had with a colleague that was very positive. Running the data I was not surprised to see that I was relaxed during the majority of the session. Twice I dropped into stress in a 53 minute meeting. That was consistent with my experience.


Running the algorithm on a second meeting gave me a different outcome. I remember the meeting well and the conversation was not combative, but the topic was more difficult. This result was more of a stress state with a four time periods where I was in Poise. Again this was consistent with my experience of the meeting.


I cut the data in the training set and the meeting data lists into 30 second increments. This is the shortest period of time needed to get a meaningful set of heart rate variability data.  It also allows me to use my previous work in returning to Poise as a comparison. The next step is to run the algorithm on the data from different situations.

One Big Reset

Not a lot of exciting news as I gather mounds of data for my next study. With a focus on the small increments within a working session or a meeting with another person I sometimes don’t report bigger wins in reducing actual Upsets.

Last night I had a belief that a good night of sleep was important and when the dog woke me up at 2.30am because she wanted some water I triggered an Upset. In this case I was irritated enough that getting back to sleep was a problem. In a quintessential Freakback being Upset about not sleeping made it hard to get back to sleep.

I pulled out my HeartmathPro and did a session to 500 points. Heartmath awards you points per second based on your coherence score, the higher earning more points. I do 500 points a day to keep myself reminded of what coherence feels like and I have been improving over time. Here is a graph of the time it has taken to earn 500 points in each of the last 46 sessions:

Slide1The trend line is down overall and you can see that some sessions take a long time, some are quite short. With practice I no longer need a breath pacer, I can breath along with the displayed RR interval curve and maintain high coherence.

Last night though I was irritated at the dog, and irritated I could not sleep, when I sat and did the breathing I had a record breaking session and finished 500 points in just over 10 minutes. This is the fastest time I have ever recorded. Here are the waveforms of the session as displayed by the Kubios software:


The top is the total session and the bottom the breakout of the first five minutes. That is a nearly perfect session. When I finished the irritation was completely gone. I set the device aside and fell asleep immediately.

That is a great ending and a victory for breath pacing and coherence. And puzzling in that I would have guessed that I would have taken a longer time to earn the points given I was irritated. Not so. My mind shifted to Poise almost immediately as seen on the waveforms and all trace of the irritation was gone.

As a sleep aid and way to reverse Upset emotions coherence is tough to beat.