STATISTICA PER LE DECISIONI DI MARKETING
Andrea [email protected]
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:
Modalità di Y
Freq. relativa
Y1 f1 = 1/J
…
YJ fJ = 1/J
Tot. 1
Modalità di Y Freq. relativa
Y1 f1 = 1
…
YJ fJ = 0
Tot. 1
2
11
J
jjG f
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
2| | '|
1 '
( ) 1J
j t j t j tj j j
imp t f f f
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)
( , ) ( ) ( ) ( ) 0l rimp s t imp t f imp l f imp r
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:
1. Si costruisce l’albero di dimensione massima (Tmax): tutte le foglie sono omogenee rispetto a Y o sono formate da 1 unità
2. Partendo da Tmax, si selezionano sottoalberi e si stima una funzione di “perdita” (errori di class.) per ciascuno di essi
3. 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 una sequenza ottimale (finita) di sottoalberi Tmax … {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
Top Related