DATA MINING PER IL MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Introduzione alla metodologia Zani-Cerioli, Cap. XI
Analogia con la regressione logistica: Analogia con la regressione logistica: –La variabile da prevedere Y è qualitativa (nominale): appartenenza a differenti classi; spesso Y è dicotomica –Le variabili esplicative X 1, X 2, … forniscono informazioni su fattori ritenuti rilevanti nella previsione di Y e possono essere sia qualitative che quantitative C’è però una differenza cruciale rispetto alla regressione logistica: NON si esplicita un modello, ma si utilizza un algoritmo gerarchico di segmentazione analisi esplorativa C’è però una differenza cruciale rispetto alla regressione logistica: NON si esplicita un modello, ma si utilizza un algoritmo gerarchico di segmentazione analisi esplorativa Grande capacità di calcolo e software specializzato (SPSS) Grande capacità di calcolo e software specializzato (SPSS) Output di tipo grafico: struttura ad albero Output di tipo grafico: struttura ad albero Negli alberi di classificazione l’obiettivo è di tipo previsivo, ma si ottiene anche Negli alberi di classificazione l’obiettivo è di tipo previsivo, ma si ottiene anche –selezione delle variabili (che è problematica nella regressione logistica quando le variabili sono numerose) –segmentazione delle unità (ad esempio: clienti)
Algoritmo - introduzione Due variabili esplicative X 1 e X 2 ; variabile dipendente Y Due variabili esplicative X 1 e X 2 ; variabile dipendente Y Algoritmo sequenziale con split (suddivisioni) dicotomici Algoritmo sequenziale con split (suddivisioni) dicotomici Al primo passo lo split è in corrispondenza di X 1 = t 1 : si individuano 2 regioni del piano X 1 -X 2, in cui la previsione di Y è costante ad esempio, si prevede Y=0 se X 1 ≤t 1 e Y=1 se X 1 >t 1 Al primo passo lo split è in corrispondenza di X 1 = t 1 : si individuano 2 regioni del piano X 1 -X 2, in cui la previsione di Y è costante ad esempio, si prevede Y=0 se X 1 ≤t 1 e Y=1 se X 1 >t 1 Al passo successivo la regione X 1 t 1 è suddivisa in corrispondenza di X 2 =t 2 ; Al passo successivo la regione X 1 t 1 è suddivisa in corrispondenza di X 2 =t 2 ; Poi la regione X 1 >t 1 è suddivisa in corrispondenza di X 1 = t 3 ; etc. Poi la regione X 1 >t 1 è suddivisa in corrispondenza di X 1 = t 3 ; etc. Regioni R 1, …, R 5 la previsione di Y è costante entro ogni regione Regioni R 1, …, R 5 la previsione di Y è costante entro ogni regione Rappresentazione ad albero (v. grafico) Rappresentazione ad albero (v. grafico) Separazione lineare tra le classi
Algoritmo – introduzione 2 Le 5 regioni costituiscono una partizione dello spazio delle variabili esplicative (feature space) Le 5 regioni costituiscono una partizione dello spazio delle variabili esplicative (feature space) Regola di previsione (Y quantitativo) o di classificazione (Y dicotomico o nominale): ad ogni punto dello spazio delle variabili esplicative è associato un valore adattato Regola di previsione (Y quantitativo) o di classificazione (Y dicotomico o nominale): ad ogni punto dello spazio delle variabili esplicative è associato un valore adattato La regola è non parametrica: non è necessario specificare una forma funzionale (con parametri) per f(X) La regola è non parametrica: non è necessario specificare una forma funzionale (con parametri) per f(X) Y quantitativo: alberi di regressione Y quantitativo: alberi di regressione Y qualitativo (dicotomico o nominale): alberi di classificazione Y qualitativo (dicotomico o nominale): alberi di classificazione
Algoritmo – introduzione 3 La regola è sequenziale (ricorsiva): l’algoritmo non è in grado di ottenere una partizione del tipo seguente (in cui ai punti A e B è associata la stessa previsione di Y): La regola è sequenziale (ricorsiva): l’algoritmo non è in grado di ottenere una partizione del tipo seguente (in cui ai punti A e B è associata la stessa previsione di Y): Svantaggio: nell’albero, non è possibile riconsiderare l’effetto di uno split. Ad esempio i punti A e B appartengono alla stessa regione nel grafico sopra riportato. Nell’albero essi sarebbero invece divisi dallo split in corrispondenza di X 1 =t 1 Svantaggio: nell’albero, non è possibile riconsiderare l’effetto di uno split. Ad esempio i punti A e B appartengono alla stessa regione nel grafico sopra riportato. Nell’albero essi sarebbero invece divisi dallo split in corrispondenza di X 1 =t 1 Vantaggio: interpretabilità della rappresentazione ad albero che è sempre in 2 dimensioni anche quando le dimensioni di X sono molto grandi (il grafico sopra riportato è invece ottenibile solo con 2 variabili esplicative) Vantaggio: interpretabilità della rappresentazione ad albero che è sempre in 2 dimensioni anche quando le dimensioni di X sono molto grandi (il grafico sopra riportato è invece ottenibile solo con 2 variabili esplicative) t1t1 A B Split nell’albero in X 1 =t 1 : i punti in cui X 1 ≤t 1 appartengono ad un gruppo diverso da quello dei punti in cui X 1 >t 1
Algoritmo – esempio (v. libro) e terminologia Previsione di Y = rischio di credito (2 classi); 3 variabili esplicative Previsione di Y = rischio di credito (2 classi); 3 variabili esplicative Y = variabile nominale con J modalità (classificazione); nell’es. J=2 Y = variabile nominale con J modalità (classificazione); nell’es. J=2 X 1, …, X p : p variabili esplicative profilo x i = (x i1, …, x ip )’ X 1, …, X p : p variabili esplicative profilo x i = (x i1, …, x ip )’ = feature space: insieme di tutti i possibili profili derivanti dall’incrocio di Risparmio-Patrimonio-Reddito
Algoritmo – esempio (v. libro) e terminologia Si associa a ogni x un intero j {1, … J}: Si associa a ogni x un intero j {1, … J}: d(x): x j Regola di classificazione: partizione di in J sottoinsiemi A 1, …, A J : Regola di classificazione: partizione di in J sottoinsiemi A 1, …, A J : A j = {x: d(x) = j}j=1,…,J Radice (root): nodo iniziale da cui si diramano i successivi tutte le unità sono in un unico gruppo: la classificazione (in base a Y) è la stessa per tutte le unità Radice (root): nodo iniziale da cui si diramano i successivi tutte le unità sono in un unico gruppo: la classificazione (in base a Y) è la stessa per tutte le unità Ramo: insieme dei nodi che discendono da un determinato nodo Ramo: insieme dei nodi che discendono da un determinato nodo Foglie: nodi terminali (classificazione finale) Foglie: nodi terminali (classificazione finale)
Algoritmo – esempio (v. libro) Nodo iniziale: classificazione degli 8 clienti che minimizza la probabilità di errore: v. distribuzione marginale rischio di credito Nodo iniziale: classificazione degli 8 clienti che minimizza la probabilità di errore: v. distribuzione marginale rischio di credito probabilità di errore (stimata) = 3/8 = 37.5% probabilità di errore (stimata) = 3/8 = 37.5% Suddivisione del nodo iniziale in base a un predittore: Patrimonio Suddivisione del nodo iniziale in base a un predittore: Patrimonio Max. riduzione della probabilità di errore conoscendo il Patrimonio: Max. riduzione della probabilità di errore conoscendo il Patrimonio: Se Patrimonio = basso la previsione è Rischio = alto (0 errori); se Patrimonio = medio o alto la previsione è Rischio = basso (1 errore) Se Patrimonio = basso la previsione è Rischio = alto (0 errori); se Patrimonio = medio o alto la previsione è Rischio = basso (1 errore) La probabilità (stimata) di errore si riduce: 1/8 = La probabilità (stimata) di errore si riduce: 1/8 = Per esercizio: costruire la tabella di errata classificazione Per esercizio: costruire la tabella di errata classificazione Passi successivi: v. albero Passi successivi: v. albero Y stimato = “basso”
Esempio – SPSS (v. file: Esempio_alberi_intro.sav) Analizza – classifica – albero Analizza – classifica – albero Modifichiamo i criteri di crescita perché in questo esempio il campione è piccolo (n=8)
Successione gerarchica di partizioni: ad ogni passo, è scelto lo split che max il miglioramento nella capacità previsiva (min l’eterogeneità dei gruppi) Successione gerarchica di partizioni: ad ogni passo, è scelto lo split che max il miglioramento nella capacità previsiva (min l’eterogeneità dei gruppi) Ogni nodo è attribuito alla classe di Y con frequenza massima (regola della maggioranza) Ogni nodo è attribuito alla classe di Y con frequenza massima (regola della maggioranza) Selezione delle esplicative Selezione delle esplicative L’albero è stato fatto crescere fino alla profondità max: le foglie sono perfettamente omogenee per quanto riguarda Y L’albero è stato fatto crescere fino alla profondità max: le foglie sono perfettamente omogenee per quanto riguarda Y In pratica, si vogliono strutture meno complesse: vantaggi interpretativi e di stabilità differenti regole per la “crescita” e la “potatura” dell’albero In pratica, si vogliono strutture meno complesse: vantaggi interpretativi e di stabilità differenti regole per la “crescita” e la “potatura” dell’albero Quattro nodi terminali (foglie): associabili a uno specifico valore di Y regola di classificazione Quattro nodi terminali (foglie): associabili a uno specifico valore di Y regola di classificazione
Esempio – Regola di classificazione Nodo 3 e Nodo 6: basso rischio (Y = 1) Nodo 3 e Nodo 6: basso rischio (Y = 1) Nodo 1 e Nodo 5: alto rischio (Y = 2) Nodo 1 e Nodo 5: alto rischio (Y = 2) Partizione degli 8 clienti in 4 gruppi (segmenti): tale regola può essere utilizzata per allocare nuovi clienti in una delle classi di rischio Partizione degli 8 clienti in 4 gruppi (segmenti): tale regola può essere utilizzata per allocare nuovi clienti in una delle classi di rischio Effetti negativi della gerarchia degli split binari: Effetti negativi della gerarchia degli split binari: –La segmentazione finale non sempre è consistente. Ad es.: patrimonio = medio basso rischio se risparmio medio (nodo 3); patrimonio = medio alto rischio se risparmio > medio (nodo 5) –Instabilità dell’albero a seguito di piccole variazioni nei dati o nei criteri di analisi v. ZC, Fig. 11.3: effetti della modifica di un’osservazione j=1: basso rischio j=2: alto rischio griglia: alto rischio grigio: basso rischio
Fasi di una segmentazione gerarchica 1. Dicotomizzazione delle variabili esplicative 2. Scelta del criterio di suddivisione dei nodi 3. Definizione dei criteri di arresto per la crescita dell’albero e/o di semplificazione della struttura ottenuta 4. Scelta della regola di attribuzione delle foglie alle modalità di Y (regola di classificazione) 5. Stima del tasso di errata classificazione
1. Split dicotomici Ad ogni passo si effettua una suddivisione in due gruppi: è necessario rendere dicotomica ogni variabile esplicativa Ad ogni passo si effettua una suddivisione in due gruppi: è necessario rendere dicotomica ogni variabile esplicativa Se X j è continua occorre individuare un valore di soglia: in pratica si possono testare come possibili soglie gli n-1 valori osservati di X j nel campione dal primo al penultimo Se X j è continua occorre individuare un valore di soglia: in pratica si possono testare come possibili soglie gli n-1 valori osservati di X j nel campione dal primo al penultimo Se X j è discreta (quantitativa in classi o ordinale) con r modalità: r-1 possibili split, coerenti con l’ordinamento delle modalità (v. esempio) Se X j è discreta (quantitativa in classi o ordinale) con r modalità: r-1 possibili split, coerenti con l’ordinamento delle modalità (v. esempio) Se X j è nominale con r modalità: il numero di split possibili cresce molto rapidamente con r. Ad es.: 4 modalità {a,b,c,d} 7 possibili split binari: Se X j è nominale con r modalità: il numero di split possibili cresce molto rapidamente con r. Ad es.: 4 modalità {a,b,c,d} 7 possibili split binari: {a} + {b,c,d}{b} + {a,c,d}{c} + {a,b,d} {d} + {a,b,c} {a,b} + {c,d}{a,c} + {b,d}{a,d} + {b,c}
2. Suddivisione dei nodi La scelta dello split da effettuare avviene confrontando tutte le variabili e tutti i possibili split (dicotomici) di ciascuna variabile La scelta dello split da effettuare avviene confrontando tutte le variabili e tutti i possibili split (dicotomici) di ciascuna variabile Si sceglie lo split che garantisce il più elevato miglioramento nella capacità predittiva su Y Si sceglie lo split che garantisce il più elevato miglioramento nella capacità predittiva su Y La misura di tale miglioramento non è però univoca differenti algoritmi di classificazione (anche in SPSS): v. diapositive successive La misura di tale miglioramento non è però univoca differenti algoritmi di classificazione (anche in SPSS): v. diapositive successive
3. Regole di arresto e semplificazione Nell’esempio precedente l’albero è stato fatto crescere fino alla dimensione max: foglie omogenee Nell’esempio precedente l’albero è stato fatto crescere fino alla dimensione max: foglie omogenee Tale procedura ha però vari inconvenienti: Tale procedura ha però vari inconvenienti: –Difficoltà di lettura dell’albero quando n è grande –Grande instabilità dei risultati –Scarsa capacità predittiva (overfitting) Per questo si prevedono regole per Per questo si prevedono regole per –Limitare la crescita dell’albero e/o garantire nodi sufficientemente grandi (v. opzioni SPSS) implicazioni di marketing –Semplificare la struttura dell’albero, senza pregiudicare la capacità classificatoria: pruning
4. Regola di classificazione Se la foglia è omogenea, la classe assegnata è l’unica presente Se la foglia è omogenea, la classe assegnata è l’unica presente Se la foglia è eterogenea, si adotta la regola della maggioranza: la classe assegnata alla foglia è quella più frequente (min la percentuale di errori di classificazione) Se la foglia è eterogenea, si adotta la regola della maggioranza: la classe assegnata alla foglia è quella più frequente (min la percentuale di errori di classificazione) La regola di classificazione così ottenuta può essere utilizzata anche per classificare nuove unità sulla base del loro “profilo” sulle variabili esplicative La regola di classificazione così ottenuta può essere utilizzata anche per classificare nuove unità sulla base del loro “profilo” sulle variabili esplicative E’ cruciale valutare la capacità previsiva della regola ottenuta, cioè la corrispondenza tra classe stimata e classe effettiva delle nuove unità E’ cruciale valutare la capacità previsiva della regola ottenuta, cioè la corrispondenza tra classe stimata e classe effettiva delle nuove unità
Probabilità di avere un falso positivo: Probabilità di avere un falso positivo: Probabilità di avere un falso negativo: Probabilità di avere un falso negativo: Analogia con errori I e II specie nella verifica di ipotesi Analogia con errori I e II specie nella verifica di ipotesi Specificità della regola di classificazione: Specificità della regola di classificazione: Sensitività della regola di classificazione: Sensitività della regola di classificazione: Tabella di errata classificazione; curva ROC Tabella di errata classificazione; curva ROC Errori di classificazione per Y dicotomica (v. regressione logistica)
5. Stima del tasso di errata classificazione Un primo criterio consiste nel calcolare il tasso di errata classificazione nei nodi terminali dell’albero: stima di risostituzione (p. 531) Un primo criterio consiste nel calcolare il tasso di errata classificazione nei nodi terminali dell’albero: stima di risostituzione (p. 531) Tale stima è 1 – Hit rate nella tabella di errata classificazione calcolata sui nodi terminali Tale stima è 1 – Hit rate nella tabella di errata classificazione calcolata sui nodi terminali Nell’esempio relativo al Rischio di credito: Nell’esempio relativo al Rischio di credito: La stima della probabilità di errore sarebbe 0: foglie perfettamente omogenee La stima della probabilità di errore sarebbe 0: foglie perfettamente omogenee E’ una stima affidabile? E’ una stima affidabile?
Overfitting L’overfitting si verifica quando il modello è “troppo” complesso per i dati a disposizione: curse of dimensionality – rasoio di Occam L’overfitting si verifica quando il modello è “troppo” complesso per i dati a disposizione: curse of dimensionality – rasoio di Occam In presenza di overfitting si ha ottimo adattamento ma pessima capacità previsiva cause ed esempi di overfitting In presenza di overfitting si ha ottimo adattamento ma pessima capacità previsiva cause ed esempi di overfitting Possibili soluzioni: Possibili soluzioni: –Penalizzare le strutture complesse –Stimare l’errore di generalizzazione, suddividendo il campione in due parti: training set (usato per l’apprendimento, cioè la stima del modello) e test set (usato per la convalida, cioè la verifica del modello su nuove unità) le misure calcolate sul test set forniscono una stima più accurata dell’errore di generalizzazione Dimensione ottima dell’albero oltre tale soglia si segmenta “rumore” Stima “per risostituzione” del tasso di errata class.