From OpenWetWare

Jump to: navigation, search


Health Hack Sydney Challenge 2015

The SenseS Team: Galvanic Skin Response (GSR) & Heart Rate


Half the team were developers and the other half PhDs.

Product "Shimmer" is a wearable device that detects tactile perceptual thresholds and heart rate.


Health Hack Challenge

We had to analyze dataset n = 6 subjects and derive a formula to code a predictive algorithm.

The original paper (Sun et al. ?) uses an unusual Bayesian method. Another paper Viqueira et al 2012 cites an accuracy of 90.97% but the data is unavailable. When I tried to replicate these results using a feature-based Bayesian method and a Monte Carlo simulation from n = 6 between-subjects for each task- the results were null. However, the intervention (task) in this dataset did not include "reading." Fourier methods in retrospect may have been be more appropriate.

Data from n = 6 had inherent problems:

- Not enough subjects or data.
- There were no baseline parameters so the data could not be standardized across subjects.
- There were too many data artefacts (outliers) inconsistent across subjects.
- The intervention was administered at minute intervals recorded in shimmer? units transposed to kohms- inconsistent with physiological evidence.

Three tasks were administered: math, stroop, or temple run for continuous 6 minutes and recorded in milliseconds (in total: 360000ms). However some tasks may've been longer or shorter than a minute depending on the task. e.g. Temple run took two minutes to play? It was unclear how the tasks were administered. In general:

1 minute - task
1 minute - relax
1 minute - task
1 minute - relax
1 minute - task
1 minute - relax

There was no significant difference within-subjects per minute intervals using baseline comparisons for GSR in the first 6ms (disincluded in the analysis) for each subject as advised by the problem owner. I took the mean average of GSR stress, and the limits of stress assumed by Viqueira et al (2012) for each subject and for each task:

Limit = (stress average x 0.6 + relax average x 0.4)/2

There were marked disparities between subjects (in kohms):

Math task

Subject 1: stress mean = baseline average = 104.6091 | stress average = 283.8304 | limit = 106.070946
Subject 2: stress mean = baseline average = 112.6253 | stress average = 421.8929 | limit = 149.092931
Subject 3: stress mean = baseline average = 1283.368 | stress average = 2740.599 | limit = 1078.8533
Subject 4: stress mean = baseline average = 2162.065 | stress average = 2427.949 | limit = 1160.797
Subject 5: stress mean = baseline average = 376.9744 | stress average = 329.9653 | limit = 164.98265
Subject 6: stress mean = baseline average = 66.27344 | stress average = 225.4121 | limit = 80.878318

Temple run task

Subject 1: stress mean = baseline average = 89.27774 | stress average = 339.404 | limit = 119.676748
Subject 2: stress mean = baseline average = 125.0188 | stress average = 567.0425 | limit = 195.11651
Subject 3: stress mean = baseline average = 283.1498 | stress average = 787.8369 | limit = 292.98103
Subject 4: stress mean = baseline average = 219.6981 | stress average = 552.3119 | limit = 209.63319
Subject 5: stress mean = baseline average = 981.7427 | stress average = 334.2883 | limit = 296.63503
Subject 6: stress mean = baseline average = 64.02786 | stress average = 243.0249 | limit = 85.7130

Stroop task:

Subject 1: stress mean = baseline average = 117.2608 | stress average = 369.4752 | limit = 134.29472
Subject 2: stress mean = baseline average = 77.0238 | stress average = 454.3626 | limit = 151.71354
Subject 3: stress mean = baseline average = 510.6731 | stress average = 1224.881 | limit = 469.5982
Subject 4: stress mean = baseline average = -983.961 | stress average = 1244.511 | limit = 176.5611
Subject 5: stress mean = baseline average = -983.961 | stress average = 675.1919 | limit = 5.765
Subject 6: stress mean = baseline average = 66.27344 | stress average = 225.4121 | limit = 111.4501

Although in retrospect, I misread the paper- the "limit" formula is to differentiate nervousness from relaxation. However, it still didn't change the overall results. I tried to standardize these results using weighted sum averages but the results still remained disparate.

However, there was a significant difference between tasks in each subject. This could be because the subject may've been more proficient at math, or enjoyed playing temple run. It was difficult to rule out these potential confounds without a comparison to baseline characteristics.

Pressed for time, I modelled a decision tree (so results could be coded- although I would've preferred another method) based on the most consistent data: subject 1 and 2 for mapping the probability of "stress" while undergoing a task at endpoints- 6 minutes. I didn't have time to standardize this across all live time points. I tried grouping tasks by the level of "strenuous activity" to give it contextual parameters- some people don't always do math, play temple run or do stroop tasks, but this was a redundant branch and did not change the outcome based on dataset n=6.

We ran out of time to code this tree. The dataset was not robust enough anyway so I doubt the predictive probability components would've worked.

Future studies may explore:

- Existing theories on tactile perception.
- Literature search on tactile perception.
- Measurement scales used to determine stress.
- Qualitative data on stress e.g. questionnaires.
- Consult with tactile perception researchers.
- Administer under controlled conditions to yield more consistent datasets.
- An experimental design. If for medical application: A control group without tasks.
- As of yet there is one systematic review on galvanic skin responses to post-traumatic stress disorder (Pole 2007); one clinical trial registered October 2014 - no results published; no clinical practice guidelines.
- Develop further statistical methods to include heart rate and other non-perceptual parameters without skewing the analysis. - Measure and improve accuracy in terms of sensitivity and specificity of independent variables: GSR, heart rate etc. rather than combined.
- As of yet, heart rate and GSR present differing patterns. Heart rate exists predictive without much further analysis. GSR responses are not as clearly defined and require further studies on tactile perception.
- A clearly defined population who would benefit from this device. Patients with sensitive skin reactions from chemotherapy may yield better datasets over an arbitrary group of office workers.

Link to code files:

Front end:


Back end live monitoring:



Pole N 2007 'The psychophysiology of posttraumatc stress disorder: a meta-analysis' American Psychological Association. Vol. 133, No. 5, pp. 725-746

Liao W, Zhang W, Zhu Z, Ji Q (2005) 'A real-time human stress monitoring system using dynamic Bayesian network' proceedings of the 2005 IEEE computer science conference on computer vision and pattern recognition

Sun F, Kuo C, Cheng H, Buthpitiya S, Collins P & Griss M. (year ?) 'Activity-aware mental stress detection using physiological sensors' Carnegie Mellon University repository

Villarejo M, Zapirain B, Zorrilla A (2012) 'A stress sensor based on galvanic skin response (GSR) controlled by ZigBee

Personal tools