I modelli Predittivi Modelli predittivi: insieme di tecniche il cui obiettivo è costruire modelli di dati al fine di predire il comportamento di nuovi insiemi di dati; Caratteristiche Prevedere nuovi casi: Classificazione (DECISIONS), variabile target categorica (binaria, nominale o ordinale) Ordinamento (RANKINGS), obiettivo “ordinare” rispetto alle variabili input le osservazioni (es credit score), può essere ricondotto ad un modello di classificazione definendo una soglia e dividendo le osservazioni in due gruppi > e < Previsionale (ESTIMATES), approssimazione della variabile target in funzione dei valori delle variabili input 2. Selezione variabili Input: in funzione della Ridondanza e dell’Irrilevanza 3. Ottimizzazione del modello: trovare un giusto equilibrio tra underfitting e overfitting dividendo il data set in due partizioni - traning e validation set
I modelli Predittivi: Traning e Validation data set Considerando il progetto precedentemente deifinito selezionare da Sample Data Partition ed eseguire il nodo (analizzare il risultato) Nella determinazione delle dimensioni dei dataset si consideri che un traning ampio implica un modello più stabile ma ne diminuisce la capacità di generalizzare i risultati Un buon compromesso può essere Traning 50% Validation 50% Test 0% I dataset Test viene usato per valutare uno specifico modello
I modelli Predittivi Più comuni Specifici per talune applicazioni Per sviluppare più modelli predittivi
Modelli ad Albero: Modello di previsione Gli alberi di decisione costituiscono il modo più semplice di classificare degli “oggetti” in un numero finito di classi. Essi vengono costruiti suddividendo ripetutamente i records in sottoinsiemi omogenei rispetto alla variabile target. La suddivisione produce una gerarchia ad albero, dove i sottoinsiemi (di records) vengono chiamati nodi e, quelli finali, foglie. In particolare, i nodi sono etichettati con il nome delle variabili indipendenti, gli archi (i rami dell’albero) sono etichettati con i possibili valori della variabile, mentre le foglie dell’albero sono etichettate con le differenti modalità della variabile target.
Modelli ad Albero esempio
Modelli ad Albero: Modello di previsione Per effettuare previsioni si identificano “regole” legate ai valori delle variabili di input Dato un valore iniziale Root node si sviluppa gerarchicamente un albero che si dirama in funzione delle variabili input rispetto alle quali la variabile target muta di valore in modo significativo Ogni nodo interno effettua un test su un attributo; Un nodo (finale) foglia ha una sola connessione
Modelli ad Albero: Selezione variabili Il modello inizialmente seleziona una variabile di input rispetto alla quale divide il data set in due rami, a sinistra i casi il cui valore della variabile target è più basso e a destra quelli per i quali è più alto. Così facendo si ottiene una tabella a doppia entrata dove le colonne indicano la direzione (destra/sinistra) e le righe specificano il target (0 1 se categoria o >< se continua) Per valutarne la significatività si ricorre al test del Chi-quadro, in particolare per database molto numerosi è preferibile Logworth=-log(p value) Per default la soglia è Logworth >=0.70 Si procede poi in modo analogo da ciascuno nodo creato Vedi pagina 147- 154 file LWAAEM71.pdf per approfondimenti
Modelli ad Albero: Selezione variabili - esempio Acquista No Yes Acquista No Yes 95 5 55 45 75 25 MASCHIO FEMMINA ORIGINALI INDEPENDENTI Gradi di libertà = (r-1)*(c-1)=1 Pr {c2>42.67}= 6.47985E-11 numerosi Logworth = -log10(p-value) = 10.19
Modelli ad Albero costruzione Model Decision Tree e connettere Data Partition con nodo Decision Tree E’ possibile utilizzare il modello sia in versione autonoma (è sufficiente eseguire il nodo Decision Tree) che interattiva, quest’ultima permette di gestire le diverse opzioni del modello
Modelli ad Albero: interattivo
Modelli ad Albero: interattivo Con il tasto destro del mouse selezionare il nodo origine (blu) e “Suddividi nodo - Split Node “ Variabili input ordinate in modo decrescente rispetto al logworth
Modelli ad Albero: interattivo E’ possibile decidere di modificare le soglie rispetto alle quali l’algoritmo ha deciso di suddividere il data set Selezionare l’editor delle regole (Edit Rule) sulla prima variabile Gift Count 36 Months La soglia identificata è 2.5, cioè i casi con 0,1,2 Gift negli ultimi mesi sono nel ramo di sinistra, casi con >=3 Gift nel ramo di destra
Modelli ad Albero: interattivo Supponiamo di lasciare invariata la soglia Applied Il modello assegna a tutti i casi nel ramo sinistro un valore previsto per il Target B uguale a 0.43 e uguale a 0.56 per tutti i casi nel ramo destro
Modelli ad Albero: interattivo Operiamo in modo analogo sui due rami. Cosa emerge dalla nuova classificazione ?
Modelli ad Albero: interattivo - modifica soglie split Supponiamo di voler cambiare il valore in corrispondenza del quale effettuare lo split di una variabile Selezioniamo il ramo di sinistra della variabile Gift Count 36 Months, tasto destro Split Node, selezioniamo la variabilie Median Home Value Region Edit Rule. Si provi a modificare le soglie oppure le regole relative ai dati mancanti Inserire 70.000 in New split point Add Branch selezionare Branch 1 Remove Branch In generale: inserire la nuova soglia e quindi rimuovere la soglia che non si desidera considerare
Modelli ad Albero: automatico – Maximal Tree Dal nodo origine selezionare Train Node , l’albero è creato fino al raggiungimento delle regole stabilite ( vedi slide 34)
Modelli ad Albero: Maximal Tree – valutazione Selezionare View quindi Subtree Assessment PlotTrain Node Si evidenzia come il data set trainer evidenzi una situazione di Overfitting, il modello a 15 foglie sembra riclassificare al meglio il data set ma nella realtà risulta inaffidabile considerando il data set di validazione
Modelli ad Albero: Ottimizzazione Modello Il processo attraverso il quale si procede, al fine di ottenere un modello ottimale, è definito di “pruning” (sfogliamento) Si procede costruendo dei modelli via via più complessi considerando il dataset di addestramento e usando quello di validazione per identificare il modello ottimale In particolare si procede togliendo una “foglia” all’albero, ottenendo dei modelli che dovranno essere tra loro confrontati (model fit statistic vedi slide 18). Quello migliore è scelto e si procede al suo “sfogliamento”. Il processo si arresta quando sono stati considerati tutti i sotto-alberi possibili. A questo punto viene scelto la sequenza con il rating migliore Il modello più semplice con la valutazione più alta
Modelli ad Albero: Ottimizzazione Modello - rating E’ quindi necessario definire cosa si intende per rating dei modelli Il grado di Validation Assestment è funzione: della scala rispetto alla quale è misurata la variabile obiettivo del tipo di previsione Nel nostro caso, variabile target binaria in funzione del tipo ti previsione si ha: Classificazione: minimizzazione dei falsi positivi, falsi negativi Ranking: minimizzare discordanza (valore 1 con ranking minore di valore 0) Stima: minimizzare l’errore quadrato, differenza tra obiettivo e previsione
Modelli ad Albero: Ottimizzazione del Modello Partendo dal modello ottenuto con la classificazione automatica si selezioni Use Frozen Tree su Yes (“congeliamo” il Maximal tree), si valuti quindi il risultato
Modelli ad Albero: Ottimizzazione del Modello Obiettivo è quello di valutare il modello a 15 foglie così ottenuto con riferimento al dataset di validazione View Model Subtree Assessment Plot. Average Square Error Per ciascuna foglia è calcolato la discordanza tra valore stimato e reale E’ evidente l’effetto overfitting dopo il 4/5 livello La precisione del modello diminuisce al crescere della sua complessità a partire da tali livelli
Modelli ad Albero: Ottimizzazione del Modello View Model Misclassification Rate. Anche in questo caso si evidenzia come la minor errata classificazione si ha con 4 o 5 livelli
Modelli ad Albero: automatico – Maximal Tree Un albero a 4 foglie può essere ottenuto con diferenti combinazioni, si provi ad identificarle sull’abero totale
Modelli ad Albero: Pruning del Modello Rinominiamo come Maximal Tree il modello calcolato e inseriamo un altro nodo per la costruzione di modelli ad Albero
Modelli ad Albero: Pruning del Modello Nel nuovo nodo consideriamo le opzioni SubTree per il controllo dell’attività di pruning Method, specifica come costruire il sottoalbero in termini di metodi di selezione. Si possono utilizzare i seguenti metodi: Valutazione = viene scelto il sottoalbero più piccolo con il migliore indice di valutazione Più grande = seleziona l'albero completo – Maximall Tree N = seleziona il sottoalbero più grande con al massimo n foglie
Modelli ad Albero: Pruning del Modello Assessment Measure: definisce la regola rispetto alla quale selezionare l’albero migliore. Decisione, impostazione predefinita seleziona l'albero che ha il profitto medio più alto e la perdita media più bassa se è definita una matrice di profitto o di perdita. Altrimenti è scelto l’albero con la minore errata classificazione Average Square Error, se il target è continuo Errata classificazione, se il target è categorico Il metodo Lift valuta l'albero in base alla previsione delle prime n% osservazioni classificate. E’ necessario utilizzare la proprietà Frazione per specificare la percentuale per il primo n% dei casi.
Modelli ad Albero: Pruning del Modello Considerando il grafico Misclassification Rate, l’albero a 5 foglie è quello che presenta il tasso di errata classificazione migliore
Modelli ad Albero: Pruning del Modello Il processo parte dall’albero a 15 foglie e prova a “sfogliare” identificando il miglior albero 14-foglia, e così via. Migliore è definita in ogni punto, per esempio, otto, nella sequenza come l'albero a otto foglia con il più basso livello di errata classificazione. Miglior Albero a 5 foglie
Modelli ad Albero: Pruning del Modello altre misurazioni di Assessment Supponendo di voler classificare non in donatori e non donatori ma stimando la probailità di essere donatore o meno, si tratta di una modello previsionale di Stima quindi Assessment Measure=Average Square Error Inseriamo un nuovo modello ad Albero e rinominiamolo Probaility Tree con Assessment Measure=Average Square Error
Modelli ad Albero: Pruning del Modello altre misurazioni di Assessment Anche in questo caso l’albero migliore è quello con 5 foglie
Modelli ad Albero: Pruning del Modello altre misurazioni di Assessment L’albero ottenuto è diverso…… Infatti la logica di costruzione del’albero totale è la stessa (massimo logworth) quello che cambia è la misurazione con la quale si selezionano i modelli in fase di sfogliamento
Modelli ad Albero: Criteri di valutazione del modello Trre Map, indica la misura relativa di ciascuna foglia Tree Map, permette di confrontare i dati di Traning con quelli di Validation, ideale a coppie dovrebbero essere uguali. Altezze diverse indicano diverse numerosità nelle foglie
Modelli ad Albero: Criteri di valutazione del modello Variable Importance, il grado di importanza è legato alla varibilità nella variabile target riconducibile (spiegata) a (da) ciascuna variabile input relativamente alla variabile con maggiore logworth. Gift Amount Last spiega il 52,4% della varianza spiegata da Gift Count 36 Months
Modelli ad Albero: Criteri di valutazione del modello Cumulative Lift, tutte le osservazioni vengono ordinate in modo decrescente rispetto al valore previsto, viene selezionata una frazione dei dati (i decili). La proporzione di casi appartenenti al target 1 è confrontata con l’analoga proporzione overall. Un buon modello avrà valori alti nei primi decili sia per il dataset target che validation Nel caso specifico il primo 20% dei casi selezionati come probabilità più alta di essere donatori hanno una probabilità del 26% in più di essere donatori rispetto ad un qualunque altro 20% scelto casualmente
Modelli ad Albero: Criteri di valutazione del modello Fit Statistcs, queste misure sono utili per confrontare fra di loro diversi modelli. Solitamente le due misure più utilizzate sono Average Square Error e Misclassification Output, fornisce informazioni relativamente al modello creato, nel caso di modelli ad Albero: varable importance, tree leaf report, model fit statistics, classification information and score rankiings
Modelli ad Albero: Opzioni costruzione Albero La costruzione dell’Albero può essere opportunamente guidata considerando alcuni parametri: Il numero di divisione da fare per ogni split (numero rami) Maximum Branch Le metriche per confrontare le diverse divisioni Splitting Rule Criterion Il metodo per sfogliare l’albero (vedi slide 24-25) Sub Tree Method Le regole per interrompere la crescita dell’albero Tree size Option
Modelli ad Albero: Opzioni costruzione Albero Maximum Branches Se si modifica il numero di rami per ciascun livello, al fine di limitare il numero di possibili split che dovrebbero essere considerati si pone un limite con Exhaustive property . Quando tale numero è superato un algoritmo euristico viene implementato al posto del criterio esaustivo precedentemente descritto L’algoritmo parte considerando tutti gli split possibili anche se superiori al limite indicato, considera poi tutti gli accorpamenti che abbiano una valore di logworth migliore così da ricondurre a binari i vari split, si arresta quando non possono essere effettuati nuovi raggruppamenti
Modelli ad Albero: Opzioni costruzione Albero Splitting Rule Criterion E’ possibile modificare anche il criterio con cui vengono confrontati i diversi split. Per target categorici, Chi quadro, Entropia e Gini Per Target continui, Variance and ProbF logworth
Modelli ad Albero: Opzioni costruzione Albero Subtree Method Vedi slide 22-23
Modelli ad Albero: Opzioni costruzione Albero Tree size Options Cambia il valore minimo di logworth da considerare Utile con database molto grandi Aumentandolo si evitano i nodi orfani Se si vogliono alberi grandi utilizzando il chi quadro come criterio di split