Obiettivi

Definire un modello che consenta di prevedere la presenza di ipotiroidismo, questo significa determinare:

Metodi

Scelta delle variabili

Il primo problema consiste nel definire il set di variabili esplicative da utilizzare; in questo ambito si possono seguire due strade:

  1. selezionare le variabili sulla base di ipotesi di ricerca
  2. individuare, con tecniche di featrure selection, le variabili che maggiormente influenzano la variabile obiettivo

In entrambi i casi si deve comunque tenere conto della diversa natura/disponibilità delle variabili esplicative: alcune informazioni sono di più rapida disponibilità (alcune variabili qualitative come ad esempio dermatopatia) ed altre che invece derivano da misurazioni e che possono essere espresse sia su scala nominale sia su scala quantitativa (colesterolo).

In riferimento a queste ultime variabili contunue (Colesterolomgdl, Hct, T4nmoll e TSHngml003038), sono state definite corrispondenti variabili per classi definite secondo i seguenti criteri:

  • Colesterolo_cl: “Normale” (0-230mg/dl), “Aumentato” (230-460mg/dl) e “Più che raddoppiato” (>460mg/dl);
  • Hct_cl: “Anemia” (Hct<36%) e “Normale” (>=36%);
  • T4_cl: “indosabile” (<=6.4nmol/l), “basso” (6.5-13nmol/l), “normale” (>13nmol/l)
  • TSH_cl: “Normale/Basso” (<0.36ng/ml), “Aumentato” (>=0.36ng/ml)

modelli sulla base delle ipotesi di ricerca

Sulla base delle indicazioni fornite sono stati definiti quattro modelli in cui la variabile dicotomica obiettivo Hypo_eu può essere funzione di alcune variabili ritenute rilevanti e che possono essere disponibili per i veterinari a diversi livelli. In particolare dati come il colesterolo o l’ematocrito possono essere ottenute tramite analisi del sangue standard e a loro volta possono essere espresse per classi o nella specifica unità di misura; altre informazioni come T4 e TSH sono invece fornite per mezzo di analisi più specifiche, ed anche in questo caso si possono avere per classi o nell’unità di misura specifica.

  1. Nel caso più semplice si assumono disponibili il colesterolo e l’Hct per classi e la presenza/assenza di dernatopatia; in particolare:
    • il colesterolo può essere “Normale” (0-230mg/dl), “Aumentato” (230-460mg/dl) e “Più che raddoppiato” (>460mg/dl);
    • l’ematocrito è classificato in “Anemia” (Hct<36%) e “Normale” (>=36%);
  2. il secondo modello è basato sulle stesse variabili ma considerando i dati di colesterolo e Hct in termini quantitativi, rispettivamente in mg/dl e percentuale di globuli rossi nel sangue;

In una seconda tipologia di modelli vengono invece utilizzate informazioni prodotte da analisi più approfondite, ed in specifico i dati del T4 e del TSH:

  1. una prima specificazione del modello può essere fatta utilizzando i dati di colesterolo, Hct, T4 e TSH per classi, oltre alla presenza/assenza di dermatopatia; le classi per per colesterolo e Hct sono quelle definite in precedenza, quelle per T4 e TSH sono invece:
    • T4 “indosabile” (<=6.4nmol/l), “basso” (6.5-13nmol/l), “normale” (>13nmol/l)
    • TSH “Normale/Basso” (<0.36ng/ml), “Aumentato” (>=0.36ng/ml)
  2. in questo modello vengono invece utilizzati i dati di colesterolo, Hct, T4 e TSH rispettivamente in termini di mg/dl, %, nmol/l e ng/ml

Riassumendo sono stati analizzati i seguenti modelli:

  1. Hypo_eu ~ dernatopatia + Colesterolo_cl + Hct_cl
  2. Hypo_eu ~ dernatopatia + Colesterolomgdl + Hct
  3. Hypo_eu ~ dernatopatia + Colesterolo_cl + Hct_cl + T4_cl + TSH_cl
  4. Hypo_eu ~ dernatopatia + Colesterolomgdl + Hct + T4nmoll + TSHngml

Algoritmi

L’altro aspetto da definire sono gli algoritmi da utilizzare. Al momento sono stati utilizzati:

  • decision tree (CART)
  • conditional decision tree (cTree)
  • randomForest (rForest)
  • conditional randomForest (cForest)
  • Gradient Boosting Machine (GBM)
  • Support Vector Machine (SVM)
  • Logistic Regression (Logistic)
  • Naive Bayes (NaiveBayes)

La valutazione della capacità previsiva degli algoritmi è stata effettuata utilizzando il metodo del training/test dataset, ed in specifico dividendo i dati in un campione casuale di training pari al 75% delle osservazioni ed un dataset di test con il restante 25% delle osservazioni. Il primo dataset è quindi stato utilizzato per definire le regole di classificazione, il secondo è invece utilizzato per valutare l’effettiva capacità previsiva dell’algoritmo su dati non utilizzati per le costruzione delle regole di classificazione. La capacità previsiva è stata valutata per mezzo degli indici:

  • Accuracy
  • Kappa
  • F1
  • Sensitivity
  • Specificity
  • Precision
  • Balanced.Accuracy
  • AUC

Per ovviare ad eventuali problemi legati alla selezione casuale dei campioni di training e test, si è optato per una replicazione per 1000 volte di tali campioni, ottenendo quindi 1000 misurazioni dei diversi indici di capacità previsiva.

Le analisi sono state effuttuate escludendo le osservazioni con dati mancanti.

Dati

Analisi esplorativa delle variabili

presenza di dati mancanti e dati anomali modalità di trattamento di dati mancanti e dati anomali al momento sono stati eliminati i record con dati mancanti, il campione utilizzato, rispetto alla variabile obiettivo hypo_eu è:
N %
eu 206 73
hypo 76 27
Sum 282 100

Risultati

In termini di accuratezza si osserva come, in complesso, vi sia un miglioramento nel passaggio dal modello 1 al modello 2 e ai modelli con le variabili T4 e TSH. I modelli 3 e 4, in cui queste due ultime variabili sono espresse in termini di classi o in termini quantitativi, non presentano invece sostanziali differenze.

Considerazioni simili possono essere fatte anche in riferimento agli altri indicatori utilizzati.

## Warning: Removed 5 rows containing non-finite values (stat_boxplot).

## Warning: Removed 5 rows containing non-finite values (stat_boxplot).

Risultati per modello

Per i diversi modelli analizzati si osserva come gli algoritmi che forniscono le migliori prestazioni previsive siano diversi: nel modello 1 le prestazioni migliori sono date dal SVM, il modello 2 è caratterizzato dalla logistica, seguita da SVM per i modelli 3 e 4 le maggiori capacità previsive sono invece fornite dagli algoritmi di bagging (randomForest e cForest) e boosting (GBM)

model 1

method Accuracy Kappa F1 Sensitivity Specificity Precision Balanced.Accuracy AUC
SVM 0.790 0.437 0.575 0.541 0.882 0.629 0.712 0.775
Logistic 0.781 0.398 0.529 0.480 0.897 0.663 0.689 0.810
GBM 0.782 0.397 0.528 0.475 0.899 0.668 0.687 0.810
NaiveBayes 0.786 0.393 0.517 0.448 0.914 0.691 0.681 0.809
CART 0.770 0.347 0.477 0.416 0.905 0.663 0.660 0.737
cTree 0.776 0.354 NA 0.416 0.913 NA 0.665 0.775
rForest 0.780 0.320 NA 0.316 0.954 NA 0.635 0.790
cForest 0.780 0.373 NA 0.433 0.912 NA 0.672 0.804

model 2

method Accuracy Kappa F1 Sensitivity Specificity Precision Balanced.Accuracy AUC
Logistic 0.851 0.583 0.675 0.588 0.949 0.814 0.769 0.865
SVM 0.854 0.581 0.669 0.562 0.962 0.848 0.762 0.863
NaiveBayes 0.845 0.557 0.650 0.545 0.957 0.829 0.751 0.859
GBM 0.838 0.546 0.646 0.565 0.939 0.780 0.752 0.850
cForest 0.836 0.534 0.634 0.545 0.944 0.785 0.744 0.839
cTree 0.825 0.493 0.594 0.492 0.949 0.797 0.720 0.777
CART 0.792 0.455 0.593 0.576 0.873 0.632 0.725 0.773
rForest 0.825 0.490 0.592 0.483 0.952 0.793 0.718 0.836

model 3

method Accuracy Kappa F1 Sensitivity Specificity Precision Balanced.Accuracy AUC
GBM 0.952 0.877 0.910 0.933 0.959 0.893 0.946 0.980
NaiveBayes 0.951 0.874 0.908 0.928 0.960 0.895 0.944 0.983
rForest 0.950 0.874 0.908 0.931 0.958 0.891 0.945 0.979
Logistic 0.950 0.874 0.908 0.929 0.958 0.892 0.944 0.980
cForest 0.950 0.873 0.908 0.927 0.959 0.894 0.943 0.981
CART 0.940 0.848 0.889 0.922 0.946 0.865 0.934 0.953
SVM 0.924 0.811 0.863 0.909 0.932 0.838 0.921 0.979
cTree 0.925 0.806 0.857 0.867 0.946 0.863 0.907 0.964

model 4

method Accuracy Kappa F1 Sensitivity Specificity Precision Balanced.Accuracy AUC
rForest 0.957 0.888 0.918 0.912 0.974 0.928 0.943 0.984
GBM 0.955 0.885 0.916 0.925 0.967 0.911 0.946 0.987
cForest 0.955 0.884 0.915 0.922 0.968 0.913 0.945 0.984
cTree 0.946 0.863 0.900 0.918 0.957 0.888 0.938 0.947
SVM 0.945 0.860 0.898 0.913 0.958 0.888 0.935 0.988
CART 0.947 0.861 0.897 0.881 0.972 0.923 0.926 0.948
Logistic 0.944 0.856 0.894 0.901 0.961 0.895 0.931 0.988
NaiveBayes 0.937 0.833 0.874 0.828 0.978 0.933 0.903 0.980

Considerazioni su una procedura di features selection

Il modello 1 è stato definito in base ad ipotesi di ricerca che identificano, come rilevanti, le classi di colesterolo e Hct e la presenza/assenza di dermatopatia;
in realtà nel dataset sono disponibili anche altre variabili qualitative di immediata valutazione da parte del veterinario (è vero?):
ASTENIA, LETARGIADEPRESSIONE, PUPD, APPETITO, OBESITÀ, ALOPECIA, ALTERAZIONINEURO.

Risultati modello 1 esteso:

Capacità previsiva per algoritmo:
method Accuracy Kappa F1 Sensitivity Specificity Precision Balanced.Accuracy AUC
Logistic 0.843 0.580 0.683 0.639 0.920 0.749 0.780 0.838
NaiveBayes 0.829 0.560 0.675 0.672 0.889 0.692 0.780 0.848
GBM 0.843 0.568 0.668 0.603 0.932 0.770 0.767 0.837
SVM 0.844 0.568 0.666 0.590 0.938 0.784 0.764 0.836
rForest 0.840 0.554 0.655 0.579 0.937 0.775 0.758 0.852
CART 0.804 0.458 0.581 0.521 0.908 0.689 0.714 0.770
cForest 0.824 0.479 0.575 0.454 0.963 0.827 0.709 0.850
cTree 0.794 0.414 0.533 0.466 0.917 0.698 0.691 0.766

Variable importance per algoritmo:

Se consideriamo l’algoritmo di regressione Logistica, che in complesso fornisce i risultati migliori, e confrontiamo i risultati che si ottengono replicando 100 volte i modelli:

abbiamo che:
model Accuracy Kappa AUC Sensitivity Specificity Precision F1 Balanced.Accuracy
All 0.850 0.595 0.832 0.648 0.923 0.756 0.693 0.786
Rid5 0.851 0.594 0.838 0.639 0.928 0.767 0.691 0.783
Rid6 0.856 0.606 0.836 0.637 0.936 0.787 0.698 0.786
Mod 0.784 0.398 0.809 0.482 0.895 0.655 0.528 0.689