240 likes | 381 Views
DATA MINING PER IL MARKETING. Andrea Cerioli andrea.cerioli@unipr.it Sito web del corso. GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione Zani- Cerioli , Cap. XI. CHAID: Chi-square Automatic Interaction Detection. Primo algoritmo “popolare” di segmentazione
E N D
DATA MINING PER IL MARKETING Andrea Cerioli andrea.cerioli@unipr.it Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione Zani-Cerioli, Cap. XI
CHAID: Chi-square Automatic Interaction Detection • Primo algoritmo “popolare” di segmentazione • Y qualitativa (J 2 classi); X qualitative • Utilizza il test chi-quadrato (per grandi campioni) • E’ veloce • Consente anche X quantitative (in classi) e valori mancanti + risposte “non so” (categoria “floating”) • Selezione delle variabili • Consente eventualmente split non binari • Non ha criteri di “potatura” perché meno soggetto a overfitting • Struttura generalmente più semplice rispetto a altri metodi più sofisticati: talvolta è utilizzato ancora oggi • CHAID esaustivo: considera tutte le possibili suddivisioni di ciascun X
CHAID - Accorpamento • Accorpamento delle modalità di ogni esplicativa Xj: analisi della tabella di contingenza che deriva dall’incrocio di Xj con Y. In particolare: tra tutti i possibili accorpamenti si sceglie quello che corrisponde alle modalità più simili (in questo modo l’associazione tra Y e la X accorpata è max) • Esempio (campione piccolo, quindi cautela nel test 2):
Variabile Patrimonio: incrocio con Y • Sottotabella 1 (si esclude Patrimonio = basso): • Sottotabella 2 (si esclude Patrimonio = alto): • Si aggregano M + A: la tabella risultante ha max chi-quadrato con Y (v. pp. 538-539)
CHAID - Split • La procedura di accorpamento è applicata a tutte le possibili coppie di modalità di ogni variabile esplicativa • Quando si forma una nuova categoria con 3 o più modalità: si può verificare che essa non sia disaggregabile in 2 sottocategorie criterio chi-quadrato, ma più restrittivo rispetto a quello di accorpamento • I passi precedenti sono ripetuti per tutte le esplicative: nuovo insieme di esplicative X1*, X2*… con un numero di modalità (solitamente) ridotto • Lo split prescelto è quello che max. associazione tra Y e ogni esplicativa Xj* max chi-quadrato (asintotico), purché p-value < soglia • Una novità di questo test è la correzione del p-value in base al numero di confronti m effettuati per giungere a Xj* alcuni degli m test effettuati potrebbero essere significativi per il solo effetto del caso • Se vogliamo che sia la probabilità di errore complessiva (ad es. =0.05), dobbiamo effettuare ogni singolo test con probabilità di soglia più piccola: /m infatti:P(A1 … Am) ≤ P(A1) + … + P(Am) • Questa modifica della procedura rende l’albero più semplice e più stabile: è stato uno degli elementi cruciali per l’affermazione della procedura in pratica
CHAID - esempio • Il Nodo 0 è suddiviso in base a Patrimonio (con 2 modalità: {B} + {M,A}) • Chi-quadrato = 4.444 indice X2 nella tab. di contingenza che incrocia Patrimonio aggregato (2 modalità: {B} + {M,A}) con Y • Valore P aggregato = p-value di X2=4.444 (df=1) corretto per la molteplicità dei test (2 possibili aggregazioni): P(X2>4.444)=0.035; p-value aggregato = 0.0352 = 0.07 (< soglia specificata) • La procedura si arresta perché non ci sono altri split significativi: struttura semplice può essere preferibile che il numero di foglie (segmenti) sia << n, anche a prezzo di errori nella classificazione • Selezione delle variabili
CART - CRT • Classification and Regression Trees • Y può essere qualitativa (alberi di classificazione) o quantitativa (alberi di regressione); • X qualitative o quantitative (o combinazioni lineari) • Non utilizza un test statistico di associazione tra Y e X (chi-quadrato), ma il concetto di impurità di un nodo obiettivo predittivo • E’ veloce (rispetto ad altri algoritmi) • Selezione delle variabili • Consente il trattamento di dati mancanti (attraverso l’uso delle altre variabili esplicative: “surrogati”) • Utilizza criteri di “potatura” (pruning) per trovare la dimensione ottimale dell’albero • Split solo binari
Eterogeneità • Misura della “variabilità” per una variabile qualitativa • Indice di Gini: • Eterogeneità max: max incertezza sulla modalità di Y per un’unità estratta a a caso • Eterogeneità nulla: nessuna incertezza sulla modalità di Y per un’unità estratta a a caso. Ad es., solo Y1 è presente: G = 1 – J(1/J2) = = 1 – 1/J = (J – 1)/J G = 1 – 1 = 0
Impurità • Impurità di un nodo = eterogeneità di Y per le unità che appartengono a quel nodo • Misura di impurità (eterogeneità) del nodo t: Indice di Gini dove fj|t è la frequenza relativa della modalità j di Y all’interno del nodo t (distribuzione condizionata) • imp(t) rappresenta: • “varianza” della var dicotomica Y nel nodo t • prob. di errata classificazione (da j a j’) se l’assegnazione è casuale • Obiettivo: suddividere un nodo genitore in 2 nodi figli in modo tale che la riduzione di impurità sia max analogia con la scomposizione della var. nei gruppi e fra i gruppi
Split • s = split del nodo t; l = nodo figlio di sinistra; r = nodo figlio di destra • Decremento di impurità associato allo split s: • Si sceglie lo split, tra tutte le possibili dicotomizzazioni delle variabili esplicative, per cui imp(s,t) è max • La scelta dello split ottimo è iterata per ogni nodo e per ogni livello dell’albero • IMP(T) = impurità totale dell’albero T: media ponderata delle impurità imp(t) dei nodi terminali dell’albero • Max imp(s,t) è equivalente a min IMP(T)
Esempio - CRT • E’ lo stesso albero riportato all’inizio dell’esempio • Ora però siamo in grado di calcolare il miglioramento associato a ogni split • Nodo 0: imp(0) = 1 – (0.6252 + 0.3752) = 0.46875 interpretazione • Nodo 1: imp(1) = 0 • Nodo 2: imp(2) = 1 – (0.8332 + 0.1672) = 0.2782 • Miglioramento associato allo split: 0.46875 – 0.250 – 0.750.2782 = 0.26 • Etc. • Albero max: foglie omogenee 4 segmenti per n=8 clienti
Esempio - Classificazione • Assegnazione dei nodi terminali: classe con frequenza max (v. regola di classificazione) • La stima della probabilità di errore è 0: foglie omogenee come si può ottenere una stima più affidabile dell’errore di generalizzazione? • Dati diversi per adattamento e previsione • Riduzione della complessità dell’albero • Criteri soggettivi (numero di livelli, numero di unità per nodo …) • Potatura (pruning) • Spesso i due criteri sono applicati simultaneamente
Esempio - Classificazione • Suddivisione del data set in: Training set + Test set • In realtà sarebbe necessaria una suddivisione in 3 insiemi: • Training set: per l’addestramento • Validation set: per la riduzione della complessità dell’albero (pruning) • Test set: per la stima (indipendente) del tasso di errata classificazione • La suddivisione del data set è casuale • Però tale suddivsione è “costosa” (in termini di informazione): si può ottenere una stima meno ottimistica anche utilizzando solo il training set cross-validation • Cross-validation: il test set è costituito da 1 unità (o da poche unità) che viene esclusa a turno dal training set la stima finale del tasso di errata classificazione è una media di quelle via via ottenute variando il test set • V-fold CV: il training set è suddiviso (casualmente) in V>2 sottocampioni di numerosità n(1-1/V): CV n-fold CV
CART - Pruning • Necessità di ridurre la complessità dell’albero • Soglie per il decremento di impurità imp(s,t)e/o per la dimensione dei nodi terminali arresto (soggettivo) della crescita; rinunciare a uno split poco efficace potrebbe precludere split importanti ai passi successivi; ci sono però elementi pratici che possono guidare nella scelta delle soglie • Si può anche tenere conto del tasso di errata classificazione: potatura dell’albero (pruning) L’obiettivo è quello di sfrondare l’albero dai rami secondari: • Si costruisce l’albero di dimensione massima (Tmax): tutte le foglie sono omogenee rispetto a Y o sono formate da 1 unità • Partendo da Tmax, si selezionano sottoalberi e si stima una funzione di “perdita” (errori di class.) per ciascuno di essi • Si sceglie il sottoalbero che fornisce la performance migliore • Il punto 2 è quello cruciale
CART – Pruning 2 • Funzione di “perdita” costo-complessità per il sottoalbero TTmax: R(T) = R(T) + |T| dove R(T) è la stima campionaria (per risostituzione) del tasso di errata classificazione, |T| è il numero di foglie (dimensione) di T e 0 è un parametro che governa la complessità dell’albero (penalizza alberi con |T| elevato) • Se =0, T = Tmax; se , T = Radice = {t1} • Per fissato si sceglie T: R(T) = min
CART – Pruning 3 • Di solito l’albero ottimo non è ottenuto considerando tutti i possibili sottoalberi (troppo complesso): si implementa una procedura selettiva in cui si aumenta gradualmente nella funzione costo-complessità si parte da =0 (Tmax); poi si trova 1>0 tale per cui la “perdita” associata a un sotto-albero (con un numero di nodi inferiore rispetto a Tmax) è minore di quella di Tmax; poi si trova 2>1 che semplifica il sotto-albero precedente; ecc. • Ciò equivale ad aggregare in sequenza i nodi che producono il più piccolo incremento di R(T), fino a giungere a T = Radice • Si ottiene quindi unasequenza ottimale (finita) di sottoalberiTmax … {t1}, con |T| decrescente • Il sottoalbero migliore nella sequenza ottimale è quello che min tasso di errata classificazione sul Validation/Test set oppure nella V-fold CV (v. libro) • Un’ulteriore semplificazione si ottiene considerando la variabilità campionaria della stima del tasso di errata classificazione regola k volte lo SE: sottoalbero più semplice con tasso di errore tasso min di errore + kSE (di solito k=1 oppure k=2)
Esempio di marketing (v. libro) • Obiettivo: segmentare i clienti di un’insegna in base alla propensione agli acquisti in promo in una categoria (latte) • Y qualitativa 3 classi di propensione: • Alta: (spesa promo latte)/(spesa tot latte) > 75° percentile • Media: 0 < (spesa promo latte)/(spesa tot latte) < 75° percentile • Bassa: (spesa promo latte)/(spesa tot latte) = 0 • 8 variabili esplicative quantitative tratte dal data base dell’insegna (p. 562) spesa PL; spesa PP; spesa per particolari tipologie di latte … • 1 variabile esplicativa nominale: PDV prevalente • Altre possibili variabili esplicative (qui non considerate): marche, tipo di promo, caratteristiche socio-demografiche • n > 9000 clienti (non occasionali: almeno 5 visite con acquisti nella categoria) presenti nel data base fidelity e per i quali Y è nota classificazione supervisionata • Finalità di marketing: la segmentazione ottenuta potrà essere utilizzata per prevedere il comportamento di nuovi clienti oppure quello futuro dei clienti in essere (ad esempio, a seguito di azioni sulle variabili esplicative)
Esempio - opzioni • Training sample: campione casuale di numerosità 0.8n 7200 clienti • Nota: SPSS non calcola V-fold CV quando è selezionato il pruning quale inconveniente della suddivisione training-test?
Esempio - opzioni • Pruning dell’albero: criterio che rafforza la propensione verso strutture semplici rilevanza aziendale e accessibilità dei segmenti • La semplicità aumenta con il criterio 2 volte SE • Le altre opzioni sono quelle standard di SPSS
Esempio - training • Commento split: v. libro • 3 variabili di segmentazione: • X6 = quota UHT normale • X9 = PDV • X1 = quota PP • 6 nodi terminali 6 segmenti • Caratteristiche dei segmenti nodo 9: clienti con alta propensione promo
Esempio - test • V. libro per albero test sample di circa 1900 clienti si applicano le regole di classificazione ottenute sul training sample • Ciò che cambia è la stima del tasso di errore Si può salvare l’output della procedura: nodo finale e classe stimata di appartenenza
Esempio - conclusioni • Un aspetto negativo della procedura è la casualità insita nella suddivisione Training + Test • Si può ripetere la suddivisione più volte e verificare la stabilità dei risultati o scegliere la segmentazione più utile/interessante • La replicazione casuale è alla base di alcune estensioni di CART: Bagging e Random Forests • Tali estensioni migliorano anche l’altro aspetto negativo degli alberi: elevata variabilità a seguito di modificazioni degli input • Vantaggi importanti in pratica: selezione delle variabili e applicabilità della regola di classificazione • Se Y fosse quantitativa: alberi di regressione (v. Libro)
Esercitazione – Propensione promo • Utilizzare il file: Dati_Esercitazione_alberi.sav • Obiettivi: • Classificare ciascun cliente come propenso / non propenso ad acquistare in promo • Variabile dipendente (Y): acquista / non acquista in promo • Selezione delle variabili esplicative • Interpretazione delle regole di classificazione ottenute e loro impiego per azioni di marketing: segmentazione di nuovi clienti; previsione del comportamento futuro dei clienti analizzati • Y dicotomica: differenti soglie • Metodologie: • Analisi preliminari; creazione di nuove variabili (per classi) • CRT / CHAID • Opzioni per la semplificazione dell’albero finale • Stima dell’errore di classificazione: v. test set aggiuntivo (Test_Esrcitazione_alberi.sav) • Interpretazione e rilevanza di marketing dei risultati
Esercitazione – Filtraggio spam • Utilizzare il file: Dati_Esercitazione2_alberi.zip • Obiettivi (v. file di documentazione): • Classificare ciascun messaggio come spam / non spam • Utilizzare la regola di classificazione per costruire un filtro anti-spam; previsione delle caratteristiche dei messaggi in arrivo • Metodologie: • Analisi preliminari; trasformazioni dei dati; creazione di nuove variabili (per classi) • CRT / CHAID • Opzioni per la semplificazione dell’albero finale • Stima dell’errore di classificazione • … • Interpretazione dei risultati e applicazione pratica della classificazione: diversa rilevanza dei due tipi di errore