| Literature DB >> 32917244 |
Sanghee Moon1,2, Hyun-Je Song3, Vibhash D Sharma4, Kelly E Lyons4, Rajesh Pahwa4, Abiodun E Akinwuntan5,6, Hannes Devos5.
Abstract
BACKGROUND: Parkinson's disease (PD) and essential tremor (ET) are movement disorders that can have similar clinical characteristics including tremor and gait difficulty. These disorders can be misdiagnosed leading to delay in appropriate treatment. The aim of the study was to determine whether balance and gait variables obtained with wearable inertial motion sensors can be utilized to differentiate between PD and ET using machine learning. Additionally, we compared classification performances of several machine learning models.Entities:
Keywords: Balance; Essential tremor; Gait; Inertial motion unit; Machine learning; Parkinson’s disease
Mesh:
Year: 2020 PMID: 32917244 PMCID: PMC7488406 DOI: 10.1186/s12984-020-00756-5
Source DB: PubMed Journal: J Neuroeng Rehabil ISSN: 1743-0003 Impact factor: 4.262
Fig. 1IMU sensor locations
Fig. 2iSAW test procedure
Gait and balance features extracted from Mobility Lab software
| Cadence [left] (steps/min) | Cadence [right] (steps/min) |
| Double support [left] (%GC) | Double support [right] (%GC) |
| Gait speed [left] (m/s) | Gait speed [right] (m/s) |
| Lateral step variability [left] (cm) | Lateral step variability [right] (cm) |
| Foot strike angle [left] (degrees) | Foot strike angle [right] (degrees) |
| Toe off angle [left] (degrees) | Toe off angle [right] (degrees) |
| Single limb support [left] (%GC) | Single limb support [right] (%GC) |
| Stance [left] (%GC) | Stance [right] (%GC) |
| Step duration [left] (s) | Step duration [right] (s) |
| Stride length [left] (m) | Stride length [right] (m) |
| Swing [left] (%GC) | Swing [right] (%GC) |
| Terminal double support [left] (%GC) | Terminal double support [right] (%GC) |
| Coronal range of motion (degrees) | |
| Sagittal range of motion (degrees) | |
| Transverse range of motion (degrees) | |
| Coronal range of motion (degrees) | |
| Sagittal range of motion (degrees) | |
| Transverse range of motion (degrees) | |
| Mean velocity (m/s) | Acc - path length (m/s2) |
| Mean velocity [coronal] (m/s) | Acc - path length [coronal] (m/s2) |
| Mean velocity [sagittal] (m/s) | Acc - path length [sagittal] (m/s2) |
| Acc - RMS sway (m/s2) | Acc - RMS sway (degrees) |
| Acc - RMS sway [coronal] (m/s2) | Acc - RMS sway [coronal] (degrees) |
| Acc - RMS Sway [sagittal] (m/s2) | Acc - RMS sway [sagittal] (degrees) |
| Sway area radius [coronal] (degrees) | Acc - range (m/s2) |
| Sway area rotation (degrees) | Acc - range [coronal] (m/s2) |
| Sway area (degrees2) | Acc - range [sagittal] (m/s2) |
Abbreviation: Acc Acceleration, GC Gait cycle, RMS Root mean square
Model hyper-parameters of the classification models
| Classification models | Hyper-parameter search spaces |
|---|---|
| Neural network (NN) | hidden_layer_sizes = {100, 200, 300}, learning_rate = 0.001 |
| Support vector machines (SVM) | C = {0.01, 0.1, 1, 5, 10, 100}, kernel = {‘linear’, ‘rbf’}, gamma = {0.01, 0.1, 1, 10}, class_weight = {None, ‘balanced’} |
| k-nearest neighbor (kNN) | n_neighbors = {1,3,5,7,9}, weights = {‘uniform’, ‘distance’} |
| Decision tree (DT) | max_depth = {5, 6, 7, 8, 9, 10, 15, 20}, class_weight = {None, ‘balanced’} |
| Random forest (RF) | n_estimators = {20, 50, 100, 200}, class_weight = {None, ‘balanced’, ‘balanced_subsample’} |
| Gradient boosting (GB) | n_estimators = {20, 50, 100, 200} |
| Logistic regression (LR) | C = {0.01, 0.1, 1, 5, 10, 100}, penalty = {‘l1’, ‘l2’}, class_weight = {None, ‘balanced’} |
Note: Adam was used for learning rate optimization of NN [43]; gamma hyper-parameter in SVM was applied when the kernel is radial basis function ‘rbf’; class_weight was applied when the oversampling approach (SMOTE) was not used. Further details about hyper-parameters used in this study can be found: NN (https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html), SVM (https://scikit-learn.org/stable/modules/generated/sklearn.svm. LinearSVC.html#sklearn.svm.LinearSVC),kNN (https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html), DT (https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html), RF (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html), GB (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html), and LR (https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html)
Fig. 3Accuracy, Precision, Recall, and F1-score of logistic regression, support vector machine, neural network, k-nearest neighbor, decision tree, random forest, and gradient boosting