| Literature DB >> 30886915 |
Franklin Parrales Bravo1,2, Alberto A Del Barrio García1, María Mercedes Gallego3, Ana Beatriz Gago Veiga3, Marina Ruiz4, Angel Guerrero Peral4, José L Ayala1,5.
Abstract
Migraine affects the daily life of millions of people around the world. The most well-known disabling symptom associated with this illness is the intense headache. Nowadays, there are treatments that can diminish the level of pain. OnabotulinumtoxinA (BoNT-A) has become a very popular medication for treating migraine headaches in those cases in which other medication is not working, typically in chronic migraines. Currently, the positive response to Botox treatment is not clearly understood, yet understanding the mechanisms that determine the effectiveness of the treatment could help with the development of more effective treatments. To solve this problem, this paper sets up a realistic scenario of electronic medical records of migraineurs under BoNT-A treatment where some clinical features from real patients are labeled by doctors. Medical registers have been preprocessed. A label encoding method based on simulated annealing has been proposed. Two methodologies for predicting the results of the first and the second infiltration of the BoNT-A based treatment are contempled. Firstly, a strategy based on the medical HIT6 metric is described, which achieves an accuracy over 91%. Secondly, when this value is not available, several classifiers and clustering methods have been performed in order to predict the reduction and adverse effects, obtaining an accuracy of 85%. Some clinical features as Greater occipital nerves (GON), chronic migraine time evolution and others have been detected as relevant features when examining the prediction models. The GON and the retroocular component have also been described as important features according to doctors.Entities:
Keywords: Bioinformatics; Computer science; Medicine; Neurology
Year: 2019 PMID: 30886915 PMCID: PMC6401533 DOI: 10.1016/j.heliyon.2018.e01043
Source DB: PubMed Journal: Heliyon ISSN: 2405-8440
Figure 1Framework diagram.
Example of features in clinical data.
| Toxin-age of onset (years) | Body mass index (kg/m2) | Hemoglobin (g/dL) | Creatinine (mg/dL) | Platelets (u/mcL) | Reduction effects (1-4) |
|---|---|---|---|---|---|
| 51 | 20.39 | 13.4 | 0.71 | 213000 | 4 |
| 49 | 26.5 | 14.2 | 0.55 | 252000 | 2 |
| 36 | 23.15 | 13.5 | 0.44 | 304000 | 3 |
| 26 | 17.7 | 13.1 | 0.66 | 218000 | 2 |
| 31 | NA | 14.8 | 0.71 | 327000 | 1 |
| 50 | NA | 16.2 | 0.74 | 327000 | 3 |
Hit6 Headache Impact Test example.
| never | rarely | sometimes | very often | always | |
|---|---|---|---|---|---|
| Question 1 | X | ||||
| Question 2 | X | ||||
| Question 3 | X | ||||
| Question 4 | X | ||||
| Question 5 | X | ||||
| Question 6 | X | ||||
| Points added | 6+6=12 | 8 | 10 | 11 | 13 |
Class attribute categorization.
| Reduction effects (R) | Adverse effects (A) | R/A | Categorized value |
|---|---|---|---|
| 1 | 1 | 1 | low |
| 2 | 1 | 2 | high |
| 3 | 2 | 1.5 | high |
| 1 | 2 | 0.5 | low |
Algorithm 1Intervals for categorizing features
Description of FSS methods used in experiments.
| FSS type | Feature evaluator | Description | Search method |
|---|---|---|---|
| FSS1 | CfsSubsetEval | Evaluates the worth of a subset of features by considering the individual predictive ability of each feature along with the degree of redundancy between them. | BestFirst |
| FSS2 | WrapperSubsetEval | Evaluates feature sets by using a learning scheme. | BestFirst |
| FSS3 | ChiSquaredAttributeEval | Evaluates the worth of a feature by computing the value of the chi-squared statistic with respect to the class. | Ranker |
| FSS4 | ClassifierSubsetEval | Evaluates feature subsets on training data or a separate hold out testing set. | BestFirst |
Figure 2Flowchart with the proposed Simulated Annealing-based methodology.
Descriptions of classifiers used in experiments.
| Classification algorithm | Description | Parameters |
|---|---|---|
| Naive Bayes | Numeric estimator precision values are chosen based on analysis of the training data. | No parameters |
| IBk | ||
| RIPPER | Propositional rule learner, Repeated Incremental Pruning to Produce Error Reduction. | Pruning=true, Seed=1 |
| C4.5 | Generates a pruned or unpruned C4.5 decision tree. | Confidence factor=0.25, Seed=1 |
| Logistic | Builds and uses a multinomial logistic regression model with a ridge estimator. | maxIts=-1, Ridge=1 ⋅ 10−8 |
| AdaBoostM1 | Meta classifier: Boosts a nominal class classifier. | Classifier=Decision Stump, Iterations=10, Seed=1 |
| Bagging | Meta classifier: Bagging a classifier to reduce variance. | bagSizePercent=100, Classifier=Random tree or C4.5, Iterations=10, Seed=1 |
| LMT | Builds classification trees with logistic regression functions at the leaves. | minNumInstances=15, numBoostingIterations=-1 |
| NBTree | Generates a decision tree using Naive Bayes classifiers for the leaves. | No parameters |
| Random forest | Builds a forest of random trees. | Number of trees=100, Seed=1 |
| Random tree | Builds a tree considering K randomly chosen features for each node. Performs no pruning. | minNum=1, Seed=1 |
| REPTree | Builds a regression(decision) tree using information gain and variance and prunes it using reduced-error pruning. | maxDepth=-1, minNum=2 |
| DecisionStump | Builds a tree that make predictions based on the value of just a single input feature (also called 1-rules). | No parameters |
| SVM | Builds a model that assigns new examples to one category or the other, making it a non-probabilistic binary linear classifier. | cacheSize=40, cost=1, kernelType=radial |
Metacluster behavior.
| EM | Farthest-First | Predicted value | |
|---|---|---|---|
| low | high | low | low |
| high | low | high | high |
| low | high | high | high |
| low | low | high | low |
Algorithm 2Relevant features in consensus trees
Description of variables and functions employed in Algorithm 2.
| Name | Description |
|---|---|
| Vertex or node. | |
| Edge | |
| Weight of an edge | |
| The edges list at level | |
| List of nodes that conform the consensus tree. | |
| A defined maximum number of levels to explore for the consensus tree construction. | |
| tvalue( | Calculates the |
| head( | Returns and removes the first element of the |
| add( | Adds |
HIT6-difference prediction.
| Classification algorithm | First infiltration | ||
|---|---|---|---|
| Accuracy | Sensitivity | Specificity | |
| Naive Bayes | 66.66% | 0.00 | 0.72 |
| IBk | 66.66% | 0.00 | 0.72 |
| RIPPER | 75.00% | 0.50 | 0.80 |
| C4.5 | 1.00 | 0.90 | |
| Logistic | 50.00% | 0.20 | 0.71 |
| AdaBoostM1 (DecisionStump) | 1.00 | 0.90 | |
| Bagging (Random tree) | 75.00% | 0.50 | 0.80 |
| Bagging (C4.5) | 66.66% | 0.00 | 0.72 |
| LMT | 58.33% | 0.25 | 0.75 |
| NBTree | 1.00 | 0.90 | |
| Random forest | 75.00% | 0.00 | 0.75 |
| Random tree | 66.66% | 0.33 | 0.78 |
| REPTree | 75.00% | 0.00 | 0.75 |
| DecisionStump | 1.00 | 0.90 | |
| SVM | 75.00% | 0.00 | 0.75 |
| Means | 74.44% | 0.39 | 0.79 |
| Medians | 75.00% | 0.25 | 0.75 |
Accuracy percentage of some classic classification methods.
| Classification algorithm | First infiltration | Second infiltration | ||||
|---|---|---|---|---|---|---|
| Accuracy | Sensitivity | Specificity | Accuracy | Sensitivity | Specificity | |
| Naive Bayes | 57.89% | 0.65 | 0.44 | 51.56% | 0.50 | 0.53 |
| IBk | 50% | 0.78 | 0.35 | 59.37% | 0.61 | 0.58 |
| RIPPER | 56.57% | 0.61 | 0.33 | 59.37% | 0.60 | 0.59 |
| C4.5 | 50% | 0.65 | 0.22 | 48.43% | 0.46 | 0.50 |
| Logistic | 51.31% | 0.61 | 0.37 | 51.56% | 0.50 | 0.53 |
| AdaBoostM1 (DecisionStump) | 53.94% | 0.60 | 0.28 | 45.31% | 0.41 | 0.48 |
| Bagging (Random tree) | 50% | 0.57 | 0.09 | 54.68% | 0.54 | 0.55 |
| Bagging (C4.5) | 43.42% | 0.54 | 0.15 | 57.81% | 0.58 | 0.57 |
| LMT | 0.63 | 1.00 | 56.25% | 0.56 | 0.56 | |
| NBTree | 51.31% | 0.60 | 0.33 | 0.61 | 0.64 | |
| Random forest | 55.26% | 0.60 | 0.27 | 51.56% | 0.50 | 0.53 |
| Random tree | 50% | 0.58 | 0.30 | 56.25% | 0.55 | 0.58 |
| REPTree | 57.89% | 0.61 | 0.29 | 48.43% | 0.44 | 0.50 |
| DecisionStump | 59.21% | 0.61 | 0.25 | 51.56% | 0.50 | 0.52 |
| SVM | 61.84% | 0.62 | 0.00 | 50.00% | 0.48 | 0.51 |
| Means | 54.12% | 0.62 | 0.31 | 53.64% | 0.52 | 0.54 |
| Medians | 53.94% | 0.61 | 0.29 | 51.56% | 0.50 | 0.53 |
FSS on first infiltration training data.
| Features selected | FSS1 | FSS2 | FSS3 | FSS4 |
|---|---|---|---|---|
| Onset age of toxin treatment | X | |||
| X | X | |||
| Migraine chronic | X | X | ||
| X | X | X | X | |
| X | X | X | X | |
| X | X | |||
| First grade family with migraine | X | X |
FSS on second infiltration training data.
| Features selected | FSS1 | FSS2 | FSS3 | FSS4 |
|---|---|---|---|---|
| X | X | |||
| X | X | X | X | |
| Pneumopathy | X | X | ||
| Dermopathy | X | X | ||
| X | X | |||
| 1-Red. and Adv.Eff.clasif | X | X |
Accuracy percentage of classifiers with feature subset selection.
| Classification algorithm | First infiltration | Second infiltration | ||||
|---|---|---|---|---|---|---|
| Accuracy | Sensitivity | Specificity | Accuracy | Sensitivity | Specificity | |
| Naive Bayes | 0.67 | 0.56 | 0.77 | 0.66 | ||
| IBk | 53.94% | 0.60 | 0.31 | 42.18% | 0.42 | 0.42 |
| RIPPER | 51.31% | 0.58 | 0.17 | 68.75% | 0.69 | 0.69 |
| C4.5 | 57.89% | 0.61 | 0.33 | 60.93% | 0.60 | 0.62 |
| Logistic | 65.78% | 0.68 | 0.59 | 62.50% | 0.64 | 0.62 |
| AdaBoostM1 (DecisionStump) | 59.21% | 0.62 | 0.40 | 62.50% | 0.62 | 0.63 |
| Bagging (Random tree) | 56.58% | 0.62 | 0.38 | 64.06% | 0.67 | 0.63 |
| Bagging (C4.5) | 60.52% | 0.63 | 0.46 | 54.68% | 0.54 | 0.56 |
| LMT | 63.15% | 0.65 | 0.54 | 54.68% | 0.55 | 0.54 |
| NBTree | 55.26% | 0.59 | 0.14 | 59.37% | 0.59 | 0.60 |
| Random forest | 56.57% | 0.62 | 0.38 | 65.62% | 0.68 | 0.64 |
| Random tree | 52.63% | 0.59 | 0.29 | 59.37% | 0.60 | 0.59 |
| REPTree | 59.21% | 0.62 | 0.38 | 65.62% | 0.68 | 0.64 |
| DecisionStump | 63.15% | 0.63 | 0.67 | 56.25% | 0.58 | 0.56 |
| SVM | 64.47% | 0.65 | 0.63 | 67.18% | 0.67 | 0.67 |
| Means | 58.94% | 0.62 | 0.42 | 60.93% | 0.62 | 0.60 |
| Medians | 59.21% | 0.62 | 0.38 | 62.50% | 0.61 | 0.62 |
Accuracy percentage of classifiers with simulated annealing.
| Classification algorithm | First infiltration | Second infiltration | ||||
|---|---|---|---|---|---|---|
| Accuracy | Sensitivity | Specificity | Accuracy | Sensitivity | Specificity | |
| Naive Bayes | 64.98% | 0.61 | 0.25 | 67.64% | 0.63 | 0.68 |
| IBk | 75.00% | 0.80 | 0.67 | 81.25% | 0.83 | 0.80 |
| RIPPER | 67.11% | 0.66 | 0.75 | 72.02% | 0.72 | 0.75 |
| C4.5 | 61.24% | 0.70 | 0.50 | 73.44% | 0.68 | 0.81 |
| Logistic | 67.11% | 0.75 | 0.56 | 62.50% | 0.61 | 0.65 |
| AdaBoostM1 (DecisionStump) | 65.79% | 0.67 | 0.67 | 64.07% | 0.68 | 0.62 |
| Bagging (Random tree) | 75.00% | 0.73 | 0.85 | 81.25% | 0.83 | 0.80 |
| Bagging (C4.5) | 61.85% | 0.61 | 0.36 | 73.43% | 0.75 | 0.72 |
| LMT | 65.79% | 0.64 | 1.00 | 67.62% | 0.70 | 0.68 |
| NBTree | 60.53% | 0.64 | 0.47 | 67.62% | 0.70 | 0.68 |
| Random forest | 80.77% | 0.79 | 0.85 | 81.25% | 0.83 | 0.80 |
| Random tree | 0.85 | 0.83 | 0.82 | 0.90 | ||
| REPTree | 67.11% | 0.67 | 0.70 | 63.63% | 0.64 | 0.63 |
| DecisionStump | 65.79% | 0.64 | 1.00 | 67.62% | 0.69 | 0.68 |
| SVM | 75.00% | 0.73 | 0.85 | 81.25% | 0.83 | 0.80 |
| Means | 69.18% | 0.70 | 0.69 | 72.70% | 0.73 | 0.73 |
| Medians | 67.11% | 0.67 | 0.70 | 72.02% | 0.70 | 0.72 |
Figure 3Accuracies distribution for first and second infiltration under the methods used in Table 9, Table 12, Table 13.
Nemenyi post-hoc test for accuracies of Table 9, Table 12, Table 13.
| Pair-methods comparison | First infiltration | Second infiltration | ||
|---|---|---|---|---|
| Mean rank difference | Mean rank difference | |||
| Baseline-FSS | −8.50000 | 0.1588 | −10.17857 | 0.0720 |
| SA-FSS | 15.03571 | 0.0034 | 13.39286 | 0.0108 |
| SA-Baseline | 23.53571 | 1.2 ⋅ 10−6 | 23.57143 | 1.1 ⋅ 10−6 |
Accuracies of clustering algorithms when using simulated annealing.
| Algorithm | First infiltration | Second infiltration |
|---|---|---|
| Meta-Cluster | 80.77% | |
| EM | 73.08% | 77.28% |
| 65.38% | ||
| Farthest-First | 63.64% |
Frequency of clinical features for the first level (root) of random trees on the first infiltration.
| Feature | Frequency |
|---|---|
| GPT | 1690 |
| Hemoglobin | 1056 |
| Emergency days by month | 668 |
| Migraine days by month | 516 |
| History of migraine status | 500 |
| Vitamin B12 | 482 |
| Creatinine | 464 |
| HTA | 350 |
| Platelets | 310 |
| Onset age of toxin treatment | 300 |
| Serum iron | 300 |
| Calcium antagonists | 300 |
| Headache days by month | 248 |
| Gastropathy | 248 |
| Radiofrequency Treatment | 230 |
| Urea | 230 |
| Enolism | 222 |
| GOT | 184 |
| GGT | 182 |
| Analgesics abuse | 176 |
| Retroocular component | 168 |
| Catamenial | 120 |
| Neuromodulator | 114 |
| Unilateral pain | 112 |
| Triptan days by month | 110 |
| Local painful pressure of greater occipital nerve (GON) | 100 |
| Chronic migraine | 94 |
| Nausea(Vomiting) | 92 |
| Folic acid | 90 |
| Tricyclic antidepressants | 70 |
| Migraine type | 54 |
| First grade family with migraine | 50 |
| Oral Preventive Treatment | 42 |
| Betablockers (B-blocker) | 42 |
| Concomitant antihypertensive treatment | 28 |
| Alkaline phosphatase | 18 |
| Migraine evolution time | 18 |
| Analgesic days by month | 12 |
| Symptomatic treatment | 10 |
Figure 4Consensus tree using random tree models for the first infiltration.
Figure 5Consensus tree using random tree models for the second infiltration.