| Literature DB >> 34220543 |
Guadalupe García-Isla1, Luca Mainardi1, Valentina D A Corino1.
Abstract
The relationship between premature atrial complexes (PACs) and atrial fibrillation (AF), stroke and myocardium degradation is unclear. Current PAC detectors are beat classifiers that attain low sensitivity on PAC detection. The lack of a proper PAC detector hinders the study of the implications of this event and its monitoring. In this work a PAC and ventricular detector is presented. Two PhysioNet open-source databases were used: the long-term ST database (LTSTDB) and the supraventricular arrhythmia database (SVDB). A combination of heart rate variability (HRV) and morphological features were used to classify beats. Morphological features were extracted from the ECG as well as on the 4th scale of the discrete wavelet transform (DWT). After feature selection, a random forest algorithm was trained for a binary classification of PAC (S) vs. others and for a multi-labels classification to discriminate between normal (N), S and ventricular (V) beats. The algorithm was tested in a 10-fold cross-validation following a patient-wise train-test division (i.e., no beats belonging to the same patient were included both in the test and train set). The resultant median sensitivity, specificity and positive predictive value (PPV) were 99.29, 99.54, and 100% for (N), 95.83, 99.39, and 35.68% for (S), 100, 99.90, and 79.63% for (V). The proposed method attains a greater PAC and ventricular beat sensitivity and PPV than the state-of-the-art classifiers.Entities:
Keywords: ECG diagnosis; atrial fibrillation; beat classifier; machine learning; premature atrial contractions; premature ventricular contractions; stroke; supraventricular ectopic beat
Year: 2021 PMID: 34220543 PMCID: PMC8243653 DOI: 10.3389/fphys.2021.678558
Source DB: PubMed Journal: Front Physiol ISSN: 1664-042X Impact factor: 4.566
PhysioNet and simplified beat annotations per database.
| Beat Annotations | B | N | e | A | a | S | V | F | E | J | j | Q |
| LTSTDB | 88,720 | 6,727,000 | 22 | 5,482 | 29 | 30,820 | 39,840 | 476 | 71 | 1 | 6 | 2 |
| SVDB | 1 | 162,100 | 0 | 0 | 1 | 12,090 | 9,930 | 23 | 0 | 9 | 0 | 80 |
B stands for bundle branche block beat, N for normal beat, A for atrial premature beat, a for aberrated atrial premature beat, e for atrial escape beat, S for supraventricular premature or ectopic beat (atrial or nodal), V for premature ventricular contraction, F fusion of ventricular and normal beat, E for ventricular escape beat, J for nodal (junctional) premature beat, j for nodal (junctional) escape beat and Q for unclassifiable beat.
Figure 1Outline of the final working classifier pipeline. The input consists of a 2-Lead ECG and the output on the classification of the beat of one of the three categories N, S and V. Outliersr. stands for outliers removal.
Figure 2Example P-wave intra-patient models built using a different number of surrounding beats for the raw signal (top) and the W4s(l) DWT decomposition. Intra-patient models built using (A) 80, (B) 20, and (C) 4 beats.
Figure 3Example of each of the beat classes N, S, and V for the whole beat, the P wave, PR segment and QRS complex. Each row represent one of the three beat types and each column the mentioned ECG segments. Continuous lines represent the beat segment itself whereas dashed lines represent the corresponding intra-patient models built with the 40 beats before and after the beat of study (80-beat intra-patient model).
The ten most relevant features for each cross-validation KFold for the bi-label and the multi-label classification.
| Beat cross-corr. DWT, L2, 20-beat intr.temp | Beat cross-corr. DWT, L2, 20-beat intr.temp |
| Beat cross-corr. L1, 20-beat intr.temp | Beat cross-corr. L1, 20-beat intr.temp |
| Beat cross-corr. L1, 4-beat intr.temp | |
| Beat cross-corr. L1, 80-beat intr.temp. | Beat cross-corr. L1, 80-beat intr.temp. |
| Beat cross-corr. L2, 4-beat intr.temp | Beat cross-corr. L2, 4-beat intr.temp |
| Beat cross-corr. L2, 80-beat intr.temp. | Beat cross-corr. L2, 80-beat intr.temp. |
| P cross-corr. L1, 80-beat intr.temp. | P cross-corr. L1, 80-beat intr.temp |
| P cross-corr. L2, 80-beat intr.temp. | P cross-corr. L2, 80-beat intr.temp. |
| PR cross-corr. L1, 80-beat intr.temp | |
| QRS cross-corr. DWT, L2, 20-beat intr.temp. | QRS cross-corr. DWT, L2, 20-beat intr.temp. |
| QRS cross-corr. DWT, L2, 4-beat intr.temp. | QRS cross-corr. DWT, L2, 4-beat intr.temp. |
| QRS cross-corr. L1, 4-beat intr.temp. | QRS cross-corr. L1, 4-beat intr.temp. |
| QRS cross-corr. L1, 80-beat intr.temp. | QRS cross-corr. L1, 80-beat intr.temp. |
| QRS cross-corr. L2, 20-beat intr.temp. | QRS cross-corr. L2, 20-beat intr.temp. |
| QRS cross-corr. L2, 4-beat intr.temp. | QRS cross-corr. L2, 4-beat intr.temp. |
| QRS cross-corr. L2, 80-beat intr.temp. | QRS cross-corr. L2, 80-beat intr.temp. |
Intr.temp stands for intra-patient template. L1 and L2 refer to leads 1 and 2, respectively.
Classifier performance considering single beats regardless of the patient.
| 48,032 | 98.15 | 89.83 | 98.78 | 35.23 | |
| Normal (N) | 6,126,250 | 97.88 | 97.90 | 96.57 | 99.85 |
| Supraventricular (S) | 48,032 | 98.30 | 92.65 | 98.34 | 30.30 |
| Ventricular (V) | 40,312 | 99.51 | 95.69 | 99.53 | 57.87 |
Acc., Se., Sp. stand for accuracy, sensitivity, specificity, respectively.
Patient-based classifier performance, median (IQR range) for the binary classification (S–Other).
| #Pat. | 63 | 72 | 135 |
| Accuracy (%) | 99.84 (99.53–99.95) | 97.82 (92.34–99.49) | 99.48 (96.31–99.87) |
| Sensitivity (%) | 94.12 (85.85–99.98) | 91.78 (75.68–98.05) | 92.86 (82.60–99.63) |
| Specificity (%) | 99.85 (99.53–99.95) | 98.63 (94.85–99.66) | 99.57 (98.13–99.91) |
| PPV (%) | 21.21 (3.36–45.07) | 66.67 (31.19–82.88) | 40.87 (14.90–73.36) |
| NPV (%) | 99.99 (99.99–100) | 99.77 (99.26–99.97) | 99.99(99.70–100) |
Values are expressed as median (25–75th) percentile.
Patient-based classifier performance, median (IQR range) for the multi-class classification.
| #Pat. | 63 | 60 | 72 | 66 |
| Acc. (%) | 99.76 (99.37–99.92) | 99.93 (99.68–99.99) | 97.13 (90.49–99.39) | 99.76 (98.98–99.95) |
| Se. (%) | 95.65 (88.89 -100) | 99.81 (96.83 -100) | 96.20 (84.70–100) | 100 (85.74–100) |
| Sp. (%) | 99.76 (99.37–99.93) | 99.95 (99.76–99.99) | 97.74 (91.46–99.54) | 99.84 (99.44–100) |
| PPV (%) | 13.36 (2.29–44.56) | 45.83 (2.72–91.73) | 57.58 (25.03–80.73) | 93.66 (67.95–98.87) |
| NPV (%) | 99.99 (99.99–100) | 100 (99.99–100) | 99.84 (99.43–100) | 100 (99.90–100) |
Values are expressed as median (25–75th) percentile. Acc., Se., Sp. stand for accuracy, sensitivity, specificity, and respectively.
Figure 4Classification percentage of each of the LTSTDB signals' beats. Each sub-graph represents the classification distribution of the beats of the three classes considered: N, S, and V. Each bar in each sub-graph represents the total number of beats of that class of a single patient and how they have been classified (in percentage). The x-axis represent the different patient IDs.
Figure 5Classification of each of the SVDB signals' beats. Each sub-graph represents the classification distribution of the beats of the three classes considered: N, S, and V. Each bar in each sub-graph represents the total number of beats of that class of a single patient and how they have been classified (in percentage). The x-axis represent the different patient IDs.
Patient-based classifier performance, median (IQR range) for the multi-class classification.
| #Pat. | 139 | 132 | 123 |
| Acc. (%) | 99.05 (95.40–99.74) | 99.35 (95.78–99.84) | 99.87 (99.34–99.99) |
| Se. (%) | 99.29 (94.96–99.78) | 95.83 (87.50 -100) | 100 (95.84–100) |
| Sp. (%) | 99.54 (96.62–100) | 99.39 (95.84–99.87) | 99.90 (99.53–100) |
| PPV (%) | 100 (99.78–100) | 35.68 (9.63–69.57) | 79.63 (15.71–97.39) |
| NPV (%) | 62.61 (27.61–84.73) | 99.99 (99.73–100) | 100 (99.96–100) |
Values are expressed as median (25–75th) percentile. Acc., Se., Sp. stand for accuracy, sensitivity, specificity, and respectively.
Figure 6Accuracy Sensitivity and Specificity box plot for N, S, and V detection calculated for each patient independently.
Confusion Matrix of total classified beats in percentage.
| Normal (N) | 97.52% | 1.94 % | 0.54% |
| Supraventricular (S) | 4.89% | 93.44% | 1.67% |
| Ventricular (V) | 0.69% | 3.79% | 95.52% |
The vertical and horizontal axis represent the true labels and predicted classes, respectively.