| Literature DB >> 29190695 |
Abstract
Parkinson's Disease (PD) is a progressive neurodegenerative movement disease affecting over 6 million people worldwide. Loss of dopamine-producing neurons results in a range of both motor and non-motor symptoms, however there is currently no definitive test for PD by non-specialist clinicians, especially in the early disease stages where the symptoms may be subtle and poorly characterised. This results in a high misdiagnosis rate (up to 25% by non-specialists) and people can have the disease for many years before diagnosis. There is a need for a more accurate, objective means of early detection, ideally one which can be used by individuals in their home setting. In this investigation, keystroke timing information from 103 subjects (comprising 32 with mild PD severity and the remainder non-PD controls) was captured as they typed on a computer keyboard over an extended period and showed that PD affects various characteristics of hand and finger movement and that these can be detected. A novel methodology was used to classify the subjects' disease status, by utilising a combination of many keystroke features which were analysed by an ensemble of machine learning classification models. When applied to two separate participant groups, this approach was able to successfully discriminate between early-PD subjects and controls with 96% sensitivity, 97% specificity and an AUC of 0.98. The technique does not require any specialised equipment or medical supervision, and does not rely on the experience and skill of the practitioner. Regarding more general application, it currently does not incorporate a second cardinal disease symptom, so may not differentiate PD from similar movement-related disorders.Entities:
Mesh:
Substances:
Year: 2017 PMID: 29190695 PMCID: PMC5708704 DOI: 10.1371/journal.pone.0188226
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Keystroke events as successive keys are pressed and released.
| Keystroke Data | Definition | Comments |
|---|---|---|
| Timestamp | The time of day (hh:mm:ss.sss). | The time at which each keystroke began. |
| Hold Time | The elapsed time (ms) between the Key Down and Key Up events when pressing and releasing a key. | Hold Time is a measure of how quickly the finger is tapped and can also indicate the relative force of tapping. Hold Times are typically in the range of 60 to 140 ms. |
| Latency | The elapsed time (ms) from the Key Down of one key until the Key Down of the subsequent key. | Latency between successive keystrokes can be separated into same-hand (LL and RR) and opposite-hand (LR and RL). Since the space key can be pressed by either hand, it was treated separately (LS, RS, SL, SR). |
| Flight Time | The elapsed time (ms) between releasing a key and pressing the subsequent key. |
Fig 1Example of keystroke timings while typing the word ‘GOAD’.
Participant details which were recorded.
| Data Element | Details |
|---|---|
| Parkinson’s (Y/N) | Whether or not they had already been diagnosed with PD. |
| When diagnosed (Year) | How long had they had the disease for. |
| Tremors (Y/N) | Approximately 70% of PD patients have tremors. |
| Sidedness (Left, Right, None) | 60% of PD patients are affected more on one side than the other. This potentially correlates with asymmetry of keystroke features. |
| UPDRS rating (1 to 5) | The Unified Parkinson’s Disease Rating Scale (if known). |
| Impact (Mild, Medium, Severe) | The disease severity currently and impact on their daily life. |
| Medication Y/N (Levodopa/Carbidopa, MAO-B inhibitor, Dopamine agonist, Other) | Whether or not they were taking PD medication. In particular, levodopa lessens the motor symptoms and could mask the keystroke characteristics. |
| Age (Birth year) | Used to correlate the effects of normal aging on the characteristics (e.g. slowing of movement). |
| Gender (M, F) | There could be gender-specific differences. |
Fig 2Data collection and processing flow.
Fig 3The areas of the keyboard included in keystroke capture.
Overall characteristics of Tappy participant cohort, Group A.
| Characteristic | All Participants | Analysis Subset | |||
|---|---|---|---|---|---|
| Count | Percent | Count | Percent | ||
| Disease Status | PD | 162 | 75% | 20 | 38% |
| Non PD | 55 | 25% | 33 | 62% | |
| Total | 217 | 53 | 100% | ||
| Gender | Male | 116 | 53% | 26 | 51% |
| Female | 101 | 47% | 27 | 49% | |
| PD Tremors | Yes | 97 | 60% | 10 | 50% |
| No | 65 | 40% | 10 | 50% | |
| Severity | Mild | 68 | 42% | 20 | 100% |
| Medium | 70 | 43% | |||
| Severe | 24 | 15% | |||
| Sidedness | Left | 49 | 30% | 7 | 35% |
| Right | 60 | 37% | 8 | 40% | |
| None | 53 | 33% | 5 | 25% | |
There were a total of 27 features extracted from the raw keystroke data (Table 4) by a custom VB.NET application combined with the Math.NET numerics library [28]. Those particular features which were chosen were based on the known movement characteristics of people with PD, as discussed earlier in this report, and included means, standard deviations, skewness and kurtosis. For example, variability in finger movement would be evidenced by variance and skew, jerkiness and hesitation by kurtosis, and so on. The features were then categorised into two groups, one relating to finger movement in the vertical plane (‘Hold’) and the other relating to keystroke n-tuple sequences (‘Latency’), for the subsequent machine learning phase. Features were not necessarily independent—there was some covariance between them and there was also redundant data.
Fig 4Distribution of participant ages (all participants, both PD and controls).
The keystroke features that were extracted for analysis.
| Feature Group | Feature | Comments |
|---|---|---|
| Hold | Hold time (left fingers) | Hold time is the elapsed time between pressing and releasing each key (that is, movement in the vertical plane). |
| Hold time (right fingers) | ||
| Mean difference between left and right | This is a measure of asymmetry | |
| Latency | Left to right key latency | Latency is the elapsed time between the ordered pairs (n-tuples) of pressing one key and pressing the next key (generally different fingers and often involving fingers of opposite hands). |
| Right to left key latency | ||
| Left to left key latency | ||
| Right to right key latency | ||
| Mean difference between LR and RL | These are measures of asymmetry, |
Machine learning models used in the classification ensemble.
| Model | References and comments |
|---|---|
| 1. Support vector machine (SVM) | [ |
| 2. Multi Level Perceptron (MLP) | Sensitive to feature scaling, so data normalisation was needed [ |
| 3. Logistic Regression Model (LRM) | [ |
| 4. Random forest (RFC) | [ |
| 5. Nu-Support Vector Classification (NSVC) | A refinement of SVC, with control of the number of support vectors and training errors |
| 6. Decision tree classifier (DTC) | [ |
| 7. K-nearest neighbours (KNN) | Memorises rather than learns a discriminative function. [ |
| 8. Quadratic discriminant analysis (QDA) | [ |
Fig 5Machine learning flow.
Details of the Group B validation dataset.
| Characteristic | Details | Comments |
|---|---|---|
| Participants | 85 subjects total, mild and medium PD severity, plus controls | |
| Keystroke sample size | Approximately 1500 and 3000 keystrokes | This included numeric, navigation & punctuation keys. Once all these were removed, the total keystroke sizes were at the lower end of that required for statistical accuracy of the features |
| Timings | Timestamp, press time, release time, hold time, key | These were able to be converted to equivalent Tappy data elements & timings |
| Parkinson’s Disease | Validated by a specialist | This ensured the accuracy of the disease classification |
| Age, gender | Not available | |
| Diagnosis year | Not available | |
| LDopa medication | Those participants on LDopa had not taken it for 18 hours prior to the test | |
| Tremors | Not available | This prevented the dataset being used for tremor classification |
| Sidedness | Not available | This prevented the dataset being used for sidedness classification |
| UPDRS-III score | Validated by movement disorder specialists | Mild severity is UPDRS < 20 |
| Typing speed | Not relevant | |
| Finger tapping test score | Both single finger (STap) & alternating finger (AFTap) | These scores were from separate finger tapping tests, not from typing |
Group A machine learning classification, PD and non-PD.
| PD / Non-PD | 20 / 33 |
| True positives | 20 |
| True negatives | 33 |
| False positives | 0 |
| False negatives (missed detection) | 0 |
| Sensitivity = TP / (TP + MP) x 100 | 100% |
| Specificity = (1 –(FP / (FP + TN))) x 100 | 100% |
| Accuracy = ((TP + TN)/Total) x 100 | 100% |
Fig 6Area under the curve (AUC) for Group A results.
(The clinician results shown are from Schrag et al. [45]).
Fig 7The range of Group A classification probability values.
PD and non-PD, showing the 99% confidence interval for each.
Group B machine learning classification, PD and non-PD.
| PD / Non-PD | 12 / 38 |
| True positives | 11 |
| True negatives | 36 |
| False positives | 2 |
| False negatives (missed detection) | 1 |
| Sensitivity = TP / (TP + MP) x 100 | 92% |
| Specificity = (1 –(FP / (FP + TN))) x 100 | 95% |
| Accuracy = ((TP + TN)/Total) x 100 | 94% |
Fig 8Area under the curve (AUC) for Group B results.
Fig 9The range of Group B classification probability values.
PD and non-PD, showing the 99% confidence interval for each.
Diagnosis accuracies achieved in this research, compared to clinicians and other techniques.
| Diagnosis Type | Sensitivity | Specificity | AUC |
|---|---|---|---|
| Tappy (this investigation) | 92% to 100% | 95% to 100% | 97% to 100% |
| Non-specialist clinicians | 74% | 79% | - |
| Specialists (neurologists & movement specialists) | 93% | 65% | - |
| Smartphone accelerometer—forearm pronation & supination (FPSMT), [ | 86% | 89% | - |
| NeuroQWERTY study [ | 71% | 84% | 81% |
| Alternating finger tap test (AFTT) | 72% (est) | 69% (est) | 75% |
| Single finger tap test (SFTT) | 59% (est) | 58% (est) | 61% |