Introduction
Methods
Participants
Experimental protocol
Pre-selection of algorithms for further validation and ranking
Metric | Name | Description | Input | Output | Language | References |
---|---|---|---|---|---|---|
Gait sequence detection | GSDA | Based on a frequency-based approach, this algorithm is implemented on the vertical and anterior–posterior acceleration signals. First, these are band pass filtered to keep frequencies between 0.5 and 3 Hz. Next, a convolution of a 2 Hz sinewave (representing a template for a gait cycle) is performed, from which local maxima will be detected to define the regions of gait | acc_v: vertical acceleration acc_ap: anterior–posterior acceleration WinS = 3 s; window size for convolution OL = 1.5 s; overlap of windows Activity_thresh = 0.01; Motion threshold Fs: sampling frequency | Start: beginning of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector End: termination of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector | Matlab® | Iluz, Gazit [40] |
GSDB | This algorithm, based on a time domain-approach, detects the gait periods based on identified steps. First, the norm of triaxial acceleration signal is low-pass filtered (FIR, fc=3.2Hz), then a peak detection procedure using a threshold of 0.1 [g] is applied to identify steps. Consecutive steps, detected using an adaptive step duration threshold are associated to gait sequences. | acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency th: peak detection threshold: 0.1 (g) | Start: beginning of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 x N vector End: termination of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 x N vector | Matlab® | Paraschiv-Ionescu, Newman [41] | |
GSDc | This algorithm utilizes the same approach as GSDB the only difference being a different threshold for peak detection of 0.15 [g] | acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency th: peak detection threshold: 0.15 (g) | Start: beginning of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector End: termination of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector | Matlab® | Paraschiv-Ionescu, Newman [41] | |
Initial Contact Detection | ICDA | Algorithm implemented on a pre-processed vertical acceleration signal. This is first detrended and then low-pass filtered (FIR, fc = 3.2 Hz). The resulting signal is numerically integrated (cumtrapz) and differentiated using a Gaussian continuous wavelet transformation (CWT, scale 9, gauss2). The initial contact events are identified as the positive peaks between zero-crossings | acc_v: the acceleration in the vertical axis Fs: sampling frequency GS: array of gait sequences | ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC | Matlab® | McCamley, Donati [42] Paraschiv-Ionescu, Newman [41] Paraschiv-Ionescu, Soltani [16] |
ICDB | Algorithm implemented on a pre-processed anterior–posterior acceleration signal. This is first detrended and then low-pass filtered at 10 Hz with a second-order Butterworth filter. The resulting signal is numerically integrated (cumtrapz) and differentiated using an estimated wavelet scale [43] and a Gaussian first-order (gaus1) wavelet. The initial contact events are identified with a peak detection function (findpeaks) | acc_ap: the acceleration in the anterior–posterior axis Fs: sampling frequency GS: array of gait sequences | ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC | Matlab® | McCamley, Donati [42] Abry [43] Pham, Elshehabi [44] | |
ICDC | This algorithm is an optimized version of algorithm ICDA. In this case, the pre-processing of the acceleration signal is selected according to the degree of gait impairment, assessed with the symmetry index (ref) ∙ If estimated symmetry index > 0.5 the pre-processing of acceleration includes, in the following order: detrending and low-pass filtering (FIR, fc = 3.2 Hz), numerical integration (cumtrapz) and differentiation using Gaussian continuous wavelet transformation (CWT, scale 9, gauss2); ∙ If estimated symmetry index is in the range [0.25–0,5] the pre-processing includes an additional smoothing using moving average after CWT (smoothdata) ∙ If estimated symmetry index < 0.25, i.e., very impaired gait, the pre-processing includes two successive moving average after CWT, to efficiently smooth the signal | acc_v: the acceleration in the vertical axis Fs: sampling frequency GS: array of gait sequences | ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC | Matlab® | McCamley, Donati [42] Paraschiv-Ionescu, Newman [41] Paraschiv-Ionescu, Soltani [16] | |
ICDD | This algorithm is implemented on the norm of the 3D acceleration signals A sliding window summing technique is utilized to reduce the noise of the norm signal. Next, a differential technique on the acceleration is used to eliminate the effect of gravity, as a high pass filter. Finally, zero-crossings on the positive slope are detected, which determine the initial contact time events | acc_norm: norm of the 3d-accelerometer signal Fs: sampling frequency GS: array of gait sequences | ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC | Matlab® | Shin and Park [45] | |
Cadence | CADA | This algorithm is the same as ICDA. From the initial contact events estimated, the step periodicity is derived and the CAD is calculated | acc_v: the acceleration in the vertical axis Fs: sampling frequency GS: array of gait sequences | output_CAD: a vector structure containing: output_CAD(N).start: start of N-th GS [s] output_CAD(N).stop: stop of N-th GS [s] output_CAD(N).cadSec: Estimated CAD-per-sec [steps/min] of N-th GS output_CAD(N).cadMean: mean of CAD [steps/min] estimated for N-th GS output_CAD(N).cadSTD: std of CAD [steps/min] estimated for N-th GS output_CAD(N).steps: number of steps of N-th GS | Matlab® | McCamley, Donati [42] Paraschiv-Ionescu, Newman [41] Paraschiv-Ionescu, Soltani [16] Soltani, Aminian [17] |
CADB | This algorithm first implements a pre-processing of the 3D acceleration norm, including low-pass filtering (FIR, fc = 3.2 Hz), detrending, smoothing using Savitsky–Golay filter (order = 7, frame length = 21) and Gaussian smoothing and finally a continuous wavelet transformation (CWT, scale 10, ‘gaus2’) to enhance the relevant steps-related features in acceleration signal. The pre-processed signal is then further processed using morphological filters, according to methods described in Lee, You [46]. Finally, the timing of steps, used to estimate step/stride frequency are detected as maxima between zero-crossings | acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency GS: array of gait sequences | output_CAD: a vector structure containing: output_CAD(N).start: start of N-th GS [s] output_CAD(N).stop: stop of N-th GS [s] output_CAD(N).cadSec: Estimated CAD-per-sec [steps/min] of N-th GS output_CAD(N).cadMean: mean of CAD [steps/min] estimated for N-th GS output_CAD(N).cadSTD: std of CAD [steps/min] estimated for N-th GS output_CAD(N).steps: number of steps of N-th GS | Matlab® | Lee, You [46] Paraschiv-Ionescu, Soltani [16] Soltani, Aminian [17] | |
CADC | This algorithm is the same as ICDD. From the initial contact events estimated, the step periodicity is derived and the CAD is calculated | acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency GS: array of gait sequences | output_CAD: a vector structure containing: output_CAD(N).start: start of N-th GS [s] output_CAD(N).stop: stop of N-th GS [s] output_CAD(N).cadSec: Estimated CAD-per-sec [steps/min] of N-th GS output_CAD(N).cadMean: mean of CAD [steps/min] estimated for N-th GS output_CAD(N).cadSTD: std of CAD [steps/min] estimated for N-th GS output_CAD(N).steps: Number of steps of N-th GS | Matlab® | Shin and Park [45] Soltani, Aminian [17] | |
Stride length | SLA | Biomechanical model which includes: – The implementation of the inverted pendulum model – Double integration of the acceleration in the vertical axis – Detrending and removal of integration drift: high pass filtering of vertical acceleration (fc = 0.1 Hz) and integrated vertical acceleration (fc = 1 Hz) – Correction factors based on the calibration factor “k”. Note that the tuning coefficients are optimized by training | acc_v: the acceleration in the vertical axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “k” (k = 4.739 for all cohorts) | output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) | Matlab® | Zijlstra and Hof [47] Zijlstra and Zijlstra [48] Soltani, Aminian [17] |
SLB *SLB | This algorithm is the same as SLA. For all cohorts, the same factor “k” is used, whereas for the MS cohort, a special factor is implemented (*SLB) | acc_v: the acceleration in the vertical axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “k” (k = 4.99 for all cohorts except MS, for which k = 4.587) | output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) | Matlab® | Zijlstra and Hof [47] Zijlstra and Zijlstra [48] Soltani, Aminian [17] | |
SLC | Based on the intensity of the vertical acceleration signal, this algorithm estimates the step length according to the following formulas, which represent the relation between the measured vertical acceleration, as a mean absolute value during a step cycle, and the samples within the step (ic = initial contact time event, k = calibration factor 1, p = calibration factor 2). Note that in this section, variables k and p are the tuning coefficients, optimized by machine-learning training \({a}_{v Mean \left(m\right)=mean \left|{a}_{v} \left(t\right)\right|}\) \(ic \left(m\right)\le t \le ic (m+1)\) \(SL=\) \(t x \sqrt[3]{{a}_{v Mean (m)}}+p\) | acc_v: the acceleration in the vertical axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “t” and “p” (t = 0.93, p = foot length) | output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) | Matlab® | Kim, Jang [49] Zhao, Zhang [50] Soltani, Aminian [17] | |
SLD | This algorithm is based on the double integration of the anterior–posterior acceleration signal It integrates the signal and corrects the drift based on the combination of two methods: – The inverted pendulum model, as for SLA – The geometrical acceleration-intensity-based model, which assumes the following: \(SL=\) \(t x \sqrt[4]{{a}_{v Max-Min (m)}}+p\) Note that in this section, variables k, t and p are the tuning coefficients, optimized by machine-learning training | acc_ap: the acceleration in the anterior–posterior axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “t”, “p” (t = 0.85, p = foot size) | output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) | Matlab® | Zijlstra and Hof [47] Zijlstra and Zijlstra [48] Weinberg [51] Soltani, Aminian [17] |
Data and statistical analyses for validation and ranking of algorithms.
Performance measures to describe and establish algorithm validity
-
Intra class correlation coefficient (ICC(2,1)) [52] was calculated to assess the association between the digital mobility outcomes of the two systems using all walking bouts collected from each cohort separately. Based on ICC estimates, values less than 0.5, between 0.5 and 0.75, between 0.75 and 0.9, and greater than 0.9 were deemed to be indicative of poor, moderate, good, and excellent agreement, respectively [53].
-
Absolute agreement was assessed by quantifying (i) absolute error, (ii) bias, and (iii) Limits of Agreement [54] between the wearable device and reference system digital mobility outcomes calculated for each walking bout.
-
Relative errors between the wearable device and INDIP digital mobility outcomes were determined for each walking bout.
Ranking algorithms using performance measures
Influence of walking speed and walking duration on the algorithms’ performance
Results
Characteristic (unit of measure) or [range] | HA (n = 20) | CHF (n = 12) | COPD (n = 17) | MS (n = 20) | PD (n = 20) | PFF (n = 19) |
---|---|---|---|---|---|---|
Number of walking bouts included in the analyses (n) | 1343 | 416 | 1031 | 795 | 681 | 684 |
Age (years) | 71.7 ± 5.8 | 69.1 ± 11.7 | 69.4 ± 9.1 | 48.7 ± 9.7 | 69.8 ± 7.2 | 80.0 ± 8.5 |
Height (cm) | 1.66 ± 0.10 | 1.74 ± 0.10 | 1.69 ± 0.07 | 1.71 ± 0.13 | 1.73 ± 0.07 | 1.69 ± 0.08 |
Weight (kg) | 75.1 ± 11.8 | 84.5 ± 16.8 | 73.7 ± 14.2 | 84.0 ± 22.9 | 78.2 ± 14.4 | 68.4 ± 16.0 |
Gender: % females [females n, males n] | 45% [9, 11] | 33% [4, 8] | 47% [8, 9] | 45% [9, 11] | 20% [4, 16] | 58% [8, 11] |
WS during the 2.5-h assessment (mean and [range]) (m/s) | 0.59 [0.12, 1.63] | 0.72 [0.14, 1.46] | 0.60 [0.11, 1.36] | 0.58 [0.15, 1.60] | 0.60 [0.10, 1.44] | 0.54 [0.14, 1.29] |
Walking Aid use: % of users [n] | 5% [1] | 25% [3] | 6% [1] | 25% [5] | 30% [6] | 68% [13] |
MoCA [0–30] | 27.7 ± 2.6 | 27.1 ± 2.9 | 24.6 ± 3.4 | 26.7 ± 3.1 | 24.6 ± 4.0 | 24.1 ± 4.2 |
LLFDI [0–100] | 73.53 ± 14.22 | 67.29 ± 21.35 | 59.07 ± 7.96 | 57.34 ± 10.66 | 60.26 ± 12.51 | 52.59 ± 16.61 |
Hoehn & Yahr stage (n) | H&Y I: 4 H&Y II: 11 H&Y III: 5 | |||||
MDS-UPDRS III [0–132] | 28.4 ± 13.6 | |||||
EDSS [0–6] | 3.5 ± 1.7 | |||||
SPPB [0–12] | 6.2 ± 3.9 | |||||
CAT Score [0–40] | 16.6 ± 8.9 | |||||
FEV1 (litres) | 1.6 ± 0.6 | |||||
6MWT distance (m) | 370.7 ± 115.6 | 357.6 ± 88.5 | ||||
KCCQ-12 Score [0–100] | 80.5 ± 20.2 |
Gait sequence detection
Performance measures and ranking
Cohort | Gait sequence detection | Gait sequence total duration | Performance index | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Sensitivity | Positive predictive value | Accuracy | Specificity | INDIP mean and CI [s] | Single wearable device mean and CI [s] | Bias and LoA [s] | Absolute error [s] | ICC (2,1) | ||
GSDA | ||||||||||
HA | 0.84 [0.77, 0.92] | 0.81 [0.75, 0.88] | 0.94 [0.93, 0.96] | 0.96 [0.95, 0.97] | 1640.0 [1273.4, 2006.6] | 1708.5 [1316.3, 2100.7] | 68.5 [− 710.6, 847.5] | 215.7 [57.7, 373.7] | 0.88 [0.73, 0.95] | 0.819 |
CHF | 0.85 [0.68, 1.01] | 0.81 [0.72, 0.90] | 0.95 [0.92, 0.98] | 0.96 [0.94, 0.99] | 1545.4 [421.1, 2669.6] | 1595.4 [395.2, 2795.6] | 50.0 [− 689.5, 789.5] | 242.0 [39.6, 444.4] | 0.98 [0.91, 0.99] | 0.853 |
COPD | 0.85 [0.81, 0.88] | 0.75 [0.68, 0.82] | 0.95 [0.93, 0.97] | 0.96 [0.95, 0.98] | 1004.8 [829.2, 1180.4] | 1151.6 [955.7, 1347.6] | 146.8 [− 369.1, 662.8] | 176.5 [51.5, 301.5] | 0.68 [0.32, 0.87] | 0.822 |
MS | 0.92 [0.87, 0.97] | 0.75 [0.66, 0.84] | 0.95 [0.92, 0.98] | 0.95 [0.92, 0.98] | 1119.5 [736.9, 1502.2] | 1452.0 [990.4, 1913.6] | 332.5 [− 883.9, 1548.8] | 358.5 [57.7, 659.4] | 0.68 [0.34, 0.87] | 0.735 |
PD | 0.86 [0.78, 0.94] | 0.81 [0.71, 0.91] | 0.96 [0.95, 0.98] | 0.97 [0.96, 0.99] | 1121.8 [626.5, 1617.1] | 1177.3 [656.2, 1698.5] | 55.6 [− 402.4, 513.6] | 139.1 [45.8, 232.4] | 0.98 [0.94, 0.99] | 0.852 |
PFF | 0.71 [0.54, 0.89] | 0.74 [0.61, 0.88] | 0.95 [0.92, 0.97] | 0.97 [0.96, 0.99] | 954.4 [599.5, 1309.4] | 975.7 [589.8, 1361.6] | 21.3 [− 365.3, 407.9] | 144.4 [72.1, 216.7] | 0.96 [0.89, 0.99] | 0.770 |
GSDB | ||||||||||
HA | 0.86 [0.82, 0.90] | 0.85 [0.79, 0.92] | 0.95 [0.94, 0.96] | 0.97 [0.96, 0.98] | 1645.8 [1258.1, 2033.5] | 1657.4 [1283.5, 2031.3] | 11.6 [− 592.4, 615.6] | 170.5 [48.1, 292.8] | 0.93 [0.83, 0.97] | 0.727 |
CHF | 0.91 [0.88, 0.94] | 0.82 [0.71, 0.92] | 0.96 [0.94, 0.98] | 0.96 [0.94, 0.99] | 1545.4 [421.1, 2669.6] | 1689.6 [557.8, 2821.5] | 144.3 [− 331.8, 620.4] | 176.1 [19.8, 332.3] | 0.99 [0.95, 1.00] | 0.792 |
COPD | 0.84 [0.81, 0.88] | 0.80 [0.77, 0.82] | 0.96 [0.95, 0.97] | 0.97 [0.97, 0.98] | 1004.8 [829.2, 1180.4] | 1058.4 [865.5, 1251.4] | 53.6 [− 120.3, 227.6] | 71.9 [34.0, 109.8] | 0.96 [0.90, 0.99] | 0.814 |
MS | 0.91 [0.87, 0.95] | 0.75 [0.65, 0.85] | 0.95 [0.92, 0.98] | 0.95 [0.92, 0.98] | 1119.5 [736.9, 1502.2] | 1416.3 [947.8, 1884.8] | 296.8 [− 911.6, 1505.2] | 323.1 [23.5, 622.6] | 0.70 [0.38, 0.88] | 0.655 |
PD | 0.84 [0.76, 0.92] | 0.83 [0.73, 0.93] | 0.96 [0.95, 0.97] | 0.98 [0.96, 0.99] | 1121.8 [626.5, 1617.1] | 1145.9 [629.1, 1662.6] | 24.1 [− 450.9, 499.0] | 167.9 [85.1, 250.8] | 0.97 [0.94, 0.99] | 0.726 |
PFF | 0.73 [0.60, 0.86] | 0.84 [0.76, 0.93] | 0.96 [0.95, 0.98] | 0.98 [0.97, 0.99] | 911.7 [569.4, 1254.0] | 861.1 [542.8, 1179.3] | − 50.7 [− 445.9, 344.6] | 141.4 [62.2, 220.6] | 0.95 [0.86, 0.98] | 0.771 |
GSDC | ||||||||||
HA | 0.77 [0.71, 0.83] | 0.91 [0.85, 0.98] | 0.95 [0.94, 0.96] | 0.99 [0.98, 1.00] | 1645.8 [1258.1, 2033.5] | 1409.3 [1034.8, 1783.7] | − 236.5 [− 848.7, 375.7] | 323.6 [220.1, 427.1] | 0.88 [0.73, 0.95] | 0.722 |
CHF | 0.84 [0.79, 0.88] | 0.89 [0.82, 0.96] | 0.97 [0.95, 0.98] | 0.98 [0.97, 0.99] | 1545.4 [421.1, 2669.6] | 1466.6 [359.8, 2573.4] | − 78.7 [− 309.9, 152.4] | 113.1 [55.1, 171.1] | 1.00 [0.99, 1.00] | 0.811 |
COPD | 0.73 [0.68, 0.78] | 0.89 [0.87, 0.91] | 0.96 [0.95, 0.97] | 0.99 [0.99, 0.99] | 1004.8 [829.2, 1180.4] | 825.2 [664.4, 986.1] | − 179.6 [− 420.7, 61.6] | 179.6 [116.3, 242.8] | 0.80 [0.53, 0.92] | 0.776 |
MS | 0.83 [0.77, 0.90] | 0.83 [0.73, 0.93] | 0.96 [0.93, 0.98] | 0.97 [0.94, 1.00] | 1119.5 [736.9, 1502.2] | 1223.3 [794.0, 1652.5] | 103.8 [− 1100.0, 1307.5] | 246.9 [− 36.2, 530.0] | 0.72 [0.41, 0.89] | 0.693 |
PD | 0.76 [0.65, 0.87] | 0.87 [0.76, 0.98] | 0.96 [0.95, 0.97] | 0.99 [0.98, 1.00] | 1121.8 [626.5, 1617.1] | 1000.4 [514.3, 1486.5] | − 121.4 [− 579.4, 336.5] | 192.3 [107.3, 277.3] | 0.97 [0.92, 0.99] | 0.726 |
PFF | 0.60 [0.45, 0.75] | 0.89 [0.77, 1.01] | 0.94 [0.91, 0.97] | 0.99 [0.99, 1.00] | 954.4 [599.5, 1309.4] | 697.3 [439.9, 954.8] | − 257.1 [− 823.6, 309.4] | 272.4 [120.9, 423.9] | 0.78 [0.47, 0.92] | 0.687 |
Initial contact detection
Performance measures and ranking
Cohort | Initial contact detection | ||||
---|---|---|---|---|---|
Sensitivity | Positive predictive value | Absolute error [s] | Relative error [%] | Performance index | |
ICDA | |||||
HA | 0.80 [0.79, 0.81] | 0.91 [0.90, 0.92] | 0.06 [0.05, 0.06] | 8.0 [7.7, 8.3] | 0.804 |
CHF | 0.79 [0.77, 0.80] | 0.89 [0.88, 0.91] | 0.07 [0.06, 0.07] | 10.9 [10.1, 11.8] | 0.771 |
COPD | 0.81 [0.81, 0.82] | 0.93 [0.92, 0.94] | 0.07 [0.06, 0.07] | 9.1 [8.8, 9.3] | 0.790 |
MS | 0.80 [0.79, 0.82] | 0.92 [0.91, 0.93] | 0.06 [0.06, 0.06] | 8.4 [8.1, 8.7] | 0.805 |
PD | 0.79 [0.77, 0.80] | 0.90 [0.89, 0.91] | 0.06 [0.06, 0.06] | 8.3 [7.9, 8.6] | 0.798 |
PFF | 0.80 [0.78, 0.81] | 0.89 [0.88, 0.90] | 0.05 [0.05, 0.06] | 7.6 [7.3, 7.9] | 0.818 |
ICDB | |||||
HA | 0.80 [0.79, 0.81] | 0.86 [0.85, 0.87] | 0.13 [0.13, 0.13] | 18.0 [17.8, 18.3] | 0.641 |
CHF | 0.80 [0.78, 0.81] | 0.88 [0.86, 0.90] | 0.13 [0.13, 0.14] | 19.9 [19.3, 20.4] | 0.641 |
COPD | 0.78 [0.77, 0.79] | 0.85 [0.84, 0.86] | 0.15 [0.15, 0.15] | 21.2 [20.9, 21.5] | 0.590 |
MS | 0.75 [0.73, 0.77] | 0.81 [0.79, 0.83] | 0.14 [0.14, 0.15] | 19.8 [19.3, 20.4] | 0.595 |
PD | 0.80 [0.78, 0.81] | 0.86 [0.84, 0.88] | 0.14 [0.14, 0.14] | 19.2 [18.9, 19.6] | 0.620 |
PFF | 0.80 [0.79, 0.82] | 0.86 [0.85, 0.88] | 0.13 [0.13, 0.13] | 17.9 [17.5, 18.2] | 0.641 |
ICDC | |||||
HA | 0.82 [0.81, 0.83] | 0.86 [0.85, 0.88] | 0.06 [0.06, 0.07] | 8.9 [8.6, 9.2] | 0.795 |
CHF | 0.81 [0.80, 0.82] | 0.87 [0.85, 0.88] | 0.07 [0.07, 0.08] | 11.1 [10.2, 11.9] | 0.771 |
COPD | 0.83 [0.82, 0.83] | 0.90 [0.89, 0.91] | 0.07 [0.07, 0.07] | 9.7 [9.4, 9.9] | 0.786 |
MS | 0.82 [0.81, 0.84] | 0.89 [0.87, 0.90] | 0.07 [0.06, 0.07] | 9.2 [8.8, 9.6] | 0.783 |
PD | 0.80 [0.78, 0.81] | 0.84 [0.82, 0.86] | 0.07 [0.07, 0.07] | 9.4 [9.0, 9.8] | 0.766 |
PFF | 0.80 [0.79, 0.82] | 0.81 [0.79, 0.82] | 0.07 [0.07, 0.07] | 9.6 [9.2, 10.0] | 0.759 |
ICDD | |||||
HA | 0.78 [0.77, 0.79] | 0.88 [0.87, 0.89] | 0.10 [0.10, 0.10] | 14.1 [13.8, 14.5] | 0.705 |
CHF | 0.79 [0.78, 0.81] | 0.92 [0.91, 0.93] | 0.09 [0.09, 0.10] | 13.8 [13.4, 14.3] | 0.735 |
COPD | 0.76 [0.75, 0.77] | 0.89 [0.88, 0.90] | 0.11 [0.11, 0.12] | 15.9 [15.5, 16.3] | 0.680 |
MS | 0.78 [0.77, 0.80] | 0.89 [0.88, 0.91] | 0.10 [0.10, 0.11] | 14.4 [13.9, 15.0] | 0.706 |
PD | 0.76 [0.75, 0.78] | 0.86 [0.84, 0.87] | 0.11 [0.11, 0.11] | 15.4 [15.0, 15.8] | 0.674 |
PFF | 0.80 [0.78, 0.81] | 0.86 [0.85, 0.88] | 0.10 [0.09, 0.10] | 13.6 [13.1, 14.1] | 0.706 |
Effect of walking speed and bout duration
Cadence estimation
Performance measures and ranking
Cohort | Cadence | ||||||
---|---|---|---|---|---|---|---|
INDIP mean and CI [steps/min] | Single wearable device mean and CI [steps/min] | Bias and LoA [steps/min] | Absolute error [steps/min] | Relative error [%] | ICC (2, 1) | Performance index | |
CADA | |||||||
HA | 86.0 [85.1, 87.0] | 85.6 [84.4, 86.8] | − 0.4 [− 27.0, 26.2] | 8.6 [7.9, 9.3] | 10.5 [9.6, 11.5] | 0.65 [0.61, 0.69] | 0.538 |
CHF | 91.2 [89.8, 92.5] | 89.8 [88.2, 91.5] | − 1.4 [− 30.7, 28.0] | 9.3 [8.2, 10.3] | 10.6 [9.5, 11.8] | 0.63 [0.57, 0.68] | 0.517 |
COPD | 84.6 [83.7, 85.4] | 86.3 [85.2, 87.3] | 1.7 [− 17.5, 20.8] | 6.7 [6.2, 7.2] | 8.3 [7.6, 9.0] | 0.72 [0.68, 0.75] | 0.644 |
MS | 84.6 [83.1, 86.1] | 85.7 [83.9, 87.5] | 1.1 [− 22.8, 25.0] | 8.2 [7.3, 9.2] | 10.1 [8.9, 11.3] | 0.71 [0.65, 0.75] | 0.594 |
PD | 84.8 [83.4, 86.1] | 87.0 [85.4, 88.6] | 2.2 [− 24.9, 29.4] | 9.1 [8.1, 10.1] | 11.8 [10.4, 13.2] | 0.62 [0.56, 0.67] | 0.520 |
PFF | 85.0 [83.4, 86.5] | 81.6 [79.9, 83.4] | − 3.3 [− 30.6, 23.9] | 8.9 [7.7, 10.0] | 10.4 [9.1, 11.7] | 0.60 [0.54, 0.67] | 0.529 |
CADB | |||||||
HA | 86.0 [85.1, 87.0] | 89.8 [88.9, 90.6] | 3.7 [− 16.3, 23.8] | 7.1 [6.6, 7.7] | 9.1 [8.3, 9.9] | 0.69 [0.65, 0.72] | 0.585 |
CHF | 91.2 [89.8, 92.5] | 94.6 [93.5, 95.8] | 3.5 [− 14.0, 21.0] | 6.4 [5.8, 7.0] | 7.7 [6.9, 8.5] | 0.79 [0.76, 0.82] | 0.654 |
COPD | 84.6 [83.7, 85.4] | 89.1 [88.3, 89.9] | 4.5 [− 10.4, 19.4] | 6.2 [5.7, 6.6] | 7.9 [7.2, 8.6] | 0.71 [0.67, 0.74] | 0.660 |
MS | 84.6 [83.1, 86.1] | 88.5 [87.1, 89.9] | 3.9 [− 15.2, 23.0] | 7.0 [6.2, 7.8] | 9.0 [7.8, 10.2] | 0.72 [0.66, 0.76] | 0.633 |
PD | 84.8 [83.4, 86.1] | 89.5 [88.4, 90.7] | 4.8 [− 14.3, 23.8] | 7.2 [6.5, 8.0] | 9.7 [8.5, 10.8] | 0.69 [0.63, 0.73] | 0.580 |
PFF | 85.0 [83.4, 86.5] | 86.2 [85.0, 87.5] | 1.3 [− 20.9, 23.5] | 7.2 [6.3, 8.1] | 8.5 [7.5, 9.5] | 0.66 [0.60, 0.71] | 0.584 |
CADC | |||||||
HA | 86.0 [85.1, 87.0] | 87.4 [86.5, 88.3] | 1.4 [− 18.4, 21.2] | 6.4 [5.9, 6.9] | 8.1 [7.3, 8.8] | 0.74 [0.70, 0.76] | 0.653 |
CHF | 91.2 [89.8, 92.5] | 92.2 [90.9, 93.5] | 1.0 [− 16.9, 19.0] | 5.8 [5.1, 6.4] | 6.6 [5.9, 7.3] | 0.82 [0.79, 0.84] | 0.720 |
COPD | 84.6 [83.7, 85.4] | 86.6 [85.8, 87.4] | 2.0 [− 12.9, 17.0] | 5.2 [4.8, 5.6] | 6.6 [6.0, 7.2] | 0.77 [0.73, 0.79] | 0.693 |
MS | 84.6 [83.1, 86.1] | 85.3 [83.9, 86.8] | 0.7 [− 18.8, 20.3] | 6.7 [5.9, 7.5] | 8.2 [7.2, 9.2] | 0.75 [0.70, 0.79] | 0.644 |
PD | 84.8 [83.4, 86.1] | 87.1 [85.9, 88.4] | 2.3 [− 16.2, 20.9] | 6.4 [5.7, 7.1] | 8.2 [7.2, 9.2] | 0.76 [0.71, 0.79] | 0.653 |
PFF | 85.0 [83.4, 86.5] | 82.0 [80.7, 83.3] | − 2.9 [− 31.5, 25.6] | 8.3 [7.0, 9.5] | 9.1 [7.9, 10.4] | 0.44 [0.35, 0.51] | 0.460 |
Effect of walking speed and bout duration
Stride length estimation
Performance measures and ranking
Cohort | Stride length | ||||||
---|---|---|---|---|---|---|---|
INDIP mean and CI [m] | Single wearable device mean and CI [m] | Bias and LoA [m] | Absolute error [m] | Relative error [%] | ICC (2,1) | Performance index | |
SLA | |||||||
HA | 0.81 [0.79, 0.83] | 0.93 [0.91, 0.94] | 0.12 [− 0.24, 0.48] | 0.15 [0.14, 0.17] | 25.9 [23.2, 28.6] | 0.58 [0.53, 0.63] | 0.582 |
CHF | 0.93 [0.90, 0.95] | 1.00 [0.98, 1.02] | 0.07 [− 0.34, 0.49] | 0.16 [0.15, 0.18] | 25.3 [22.4, 28.1] | 0.70 [0.65, 0.74] | 0.663 |
COPD | 0.85 [0.83, 0.87] | 1.03 [1.02, 1.05] | 0.18 [− 0.20, 0.57] | 0.21 [0.19, 0.22] | 31.2 [28.0, 34.3] | 0.28 [0.21, 0.36] | 0.381 |
MS | 0.82 [0.79, 0.85] | 1.02 [0.99, 1.04] | 0.19 [− 0.22, 0.61] | 0.21 [0.19, 0.24] | 34.1 [29.3, 38.8] | 0.41 [0.32, 0.50] | 0.462 |
PD | 0.82 [0.79, 0.85] | 0.93 [0.90, 0.95] | 0.11 [− 0.31, 0.52] | 0.17 [0.15, 0.18] | 26.5 [23.0, 30.0] | 0.60 [0.54, 0.66] | 0.607 |
PFF | 0.75 [0.73, 0.78] | 0.86 [0.84, 0.87] | 0.10 [− 0.32, 0.52] | 0.17 [0.15, 0.19] | 29.3 [25.2, 33.4] | 0.36 [0.26, 0.46] | 0.465 |
SLB | |||||||
HA | 0.81 [0.79, 0.83] | 0.97 [0.95, 0.98] | 0.16 [− 0.20, 0.52] | 0.18 [0.17, 0.19] | 29.6 [26.7, 32.5] | 0.52 [0.47, 0.57] | 0.546 |
CHF | 0.93 [0.90, 0.95] | 1.04 [1.02, 1.07] | 0.12 [− 0.30, 0.53] | 0.17 [0.16, 0.19] | 27.4 [24.2, 30.5] | 0.66 [0.61, 0.71] | 0.604 |
COPD | 0.85 [0.83, 0.87] | 1.08 [1.06, 1.09] | 0.23 [− 0.16, 0.62] | 0.24 [0.23, 0.25] | 35.8 [32.5, 39.1] | 0.20 [0.12, 0.27] | 0.345 |
MS (*SLB) | 0.82 [0.79, 0.85] | 0.99 [0.96, 1.01] | 0.16 [− 0.24, 0.57] | 0.19 [0.17, 0.21] | 31.2 [26.7, 35.7] | 0.47 [0.38, 0.55] | 0.487 |
PD | 0.82 [0.79, 0.85] | 0.97 [0.94, 0.99] | 0.15 [− 0.27, 0.56] | 0.19 [0.17, 0.20] | 29.7 [25.9, 33.4] | 0.55 [0.48, 0.62] | 0.537 |
PFF | 0.75 [0.73, 0.78] | 0.89 [0.88, 0.91] | 0.14 [− 0.28, 0.56] | 0.18 [0.16, 0.20] | 32.2 [27.8, 36.6] | 0.31 [0.20, 0.40] | 0.448 |
SLC | |||||||
HA | 0.81 [0.79, 0.83] | 0.91 [0.90, 0.92] | 0.10 [− 0.31, 0.50] | 0.17 [0.16, 0.18] | 29.0 [26.2, 31.8] | 0.42 [0.36, 0.48] | 0.509 |
CHF | 0.93 [0.90, 0.95] | 0.98 [0.96, 0.99] | 0.05 [− 0.47, 0.56] | 0.21 [0.19, 0.22] | 30.3 [26.9, 33.8] | 0.46 [0.39, 0.52] | 0.473 |
COPD | 0.85 [0.83, 0.87] | 0.95 [0.94, 0.96] | 0.10 [− 0.32, 0.52] | 0.18 [0.17, 0.19] | 26.9 [24.2, 29.6] | 0.26 [0.19, 0.34] | 0.420 |
MS | 0.82 [0.79, 0.85] | 0.95 [0.94, 0.97] | 0.13 [− 0.32, 0.58] | 0.20 [0.18, 0.22] | 32.6 [27.9, 37.3] | 0.22 [0.11, 0.32] | 0.387 |
PD | 0.82 [0.79, 0.85] | 0.91 [0.89, 0.93] | 0.09 [− 0.35, 0.53] | 0.18 [0.17, 0.20] | 30.5 [26.7, 34.4] | 0.45 [0.37, 0.53] | 0.498 |
PFF | 0.75 [0.73, 0.78] | 0.85 [0.84, 0.86] | 0.09 [− 0.36, 0.54] | 0.21 [0.19, 0.22] | 34.5 [30.7, 38.4] | 0.11 [0.00, 0.22] | 0.328 |
SLD | |||||||
HA | 0.81 [0.79, 0.83] | 0.88 [0.86, 0.90] | 0.07 [− 0.62, 0.76] | 0.28 [0.26, 0.30] | 41.9 [38.2, 45.5] | 0.14 [0.06, 0.21] | 0.250 |
CHF | 0.93 [0.90, 0.95] | 0.90 [0.88, 0.93] | − 0.03 [− 0.84, 0.79] | 0.33 [0.30, 0.35] | 42.3 [38.1, 46.6] | 0.10 [0.01, 0.19] | 0.205 |
COPD | 0.85 [0.83, 0.87] | 0.93 [0.91, 0.96] | 0.08 [− 0.63, 0.80] | 0.29 [0.27, 0.31] | 40.4 [36.9, 43.9] | 0.03 [− 0.05, 0.11] | 0.200 |
MS | 0.82 [0.79, 0.85] | 0.92 [0.89, 0.96] | 0.10 [− 0.59, 0.78] | 0.28 [0.25, 0.30] | 41.3 [35.2, 47.4] | 0.15 [0.04, 0.26] | 0.250 |
PD | 0.82 [0.79, 0.85] | 0.85 [0.82, 0.88] | 0.03 [− 0.73, 0.79] | 0.30 [0.28, 0.33] | 44.9 [39.3, 50.5] | 0.10 [0.00, 0.20] | 0.225 |
PFF | 0.75 [0.73, 0.78] | 0.85 [0.81, 0.88] | 0.09 [− 0.67, 0.85] | 0.30 [0.27, 0.33] | 47.7 [42.0, 53.5] | − 0.04 [− 0.14, 0.07] | 0.172 |