La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

STATISTICA PER LE DECISIONI DI MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione.

Presentazioni simili


Presentazione sul tema: "STATISTICA PER LE DECISIONI DI MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione."— Transcript della presentazione:

1 STATISTICA PER LE DECISIONI DI MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione Zani-Cerioli, Cap. XI

2 CHAID: Chi-square Automatic Interaction Detection Primo algoritmo popolare di segmentazione Primo algoritmo popolare di segmentazione Y qualitativa (J 2 classi); X qualitative Y qualitativa (J 2 classi); X qualitative Utilizza il test chi-quadrato (per grandi campioni) Utilizza il test chi-quadrato (per grandi campioni) E veloce E veloce Consente anche X quantitative (in classi) e valori mancanti + risposte non so (categoria floating) Consente anche X quantitative (in classi) e valori mancanti + risposte non so (categoria floating) Selezione delle variabili Selezione delle variabili Consente eventualmente split non binari Consente eventualmente split non binari Non ha criteri di potatura perché meno soggetto a overfitting Non ha criteri di potatura perché meno soggetto a overfitting Struttura generalmente più semplice rispetto a altri metodi più sofisticati: talvolta è utilizzato ancora oggi 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 esaustivo: considera tutte le possibili suddivisioni di ciascun X

3 CHAID - Accorpamento Accorpamento delle modalità di ogni esplicativa X j : analisi della tabella di contingenza che deriva dallincrocio di X j con Y. In particolare: tra tutti i possibili accorpamenti si sceglie quello che corrisponde alle modalità più simili (in questo modo lassociazione tra Y e la X accorpata è max) Accorpamento delle modalità di ogni esplicativa X j : analisi della tabella di contingenza che deriva dallincrocio di X j con Y. In particolare: tra tutti i possibili accorpamenti si sceglie quello che corrisponde alle modalità più simili (in questo modo lassociazione tra Y e la X accorpata è max) Esempio (campione piccolo, quindi cautela nel test 2 ): Esempio (campione piccolo, quindi cautela nel test 2 ):

4 Variabile Patrimonio: incrocio con Y Variabile Patrimonio: incrocio con Y Sottotabella 1 (si esclude Patrimonio = basso): Sottotabella 1 (si esclude Patrimonio = basso): Sottotabella 2 (si esclude Patrimonio = alto): Sottotabella 2 (si esclude Patrimonio = alto): Si aggregano M + A: la tabella risultante ha max chi-quadrato con Y (v. pp ) Si aggregano M + A: la tabella risultante ha max chi-quadrato con Y (v. pp )

5 CHAID - Split La procedura di accorpamento è applicata a tutte le possibili coppie di modalità di ogni variabile esplicativa 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 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 X 1 *, X 2 *… con un numero di modalità (solitamente) ridotto I passi precedenti sono ripetuti per tutte le esplicative: nuovo insieme di esplicative X 1 *, X 2 *… con un numero di modalità (solitamente) ridotto Lo split prescelto è quello che max. associazione tra Y e ogni esplicativa X j * max chi-quadrato (asintotico), purché p-value < soglia Lo split prescelto è quello che max. associazione tra Y e ogni esplicativa X j * 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 X j * alcuni degli m test effettuati potrebbero essere significativi per il solo effetto del caso Una novità di questo test è la correzione del p-value in base al numero di confronti m effettuati per giungere a X j * 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(A 1 … A m ) P(A 1 ) + … + P(A m ) 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(A 1 … A m ) P(A 1 ) + … + P(A m ) Questa modifica della procedura rende lalbero più semplice e più stabile: è stato uno degli elementi cruciali per laffermazione della procedura in pratica Questa modifica della procedura rende lalbero più semplice e più stabile: è stato uno degli elementi cruciali per laffermazione della procedura in pratica

6 CHAID - esempio Il Nodo 0 è suddiviso in base a Patrimonio (con 2 modalità: {B} + {M,A}) Il Nodo 0 è suddiviso in base a Patrimonio (con 2 modalità: {B} + {M,A}) Chi-quadrato = indice X2 nella tab. di contingenza che incrocia Patrimonio aggregato (2 modalità: {B} + {M,A}) con Y Chi-quadrato = 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.07 ( 4.444)=0.035; p-value aggregato = = 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 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 Selezione delle variabili

7 CART - CRT Classification and Regression Trees Classification and Regression Trees Y può essere qualitativa (alberi di classificazione) o quantitativa (alberi di regressione); Y può essere qualitativa (alberi di classificazione) o quantitativa (alberi di regressione); X qualitative o quantitative (o combinazioni lineari) 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 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) E veloce (rispetto ad altri algoritmi) Selezione delle variabili Selezione delle variabili Consente il trattamento di dati mancanti (attraverso luso delle altre variabili esplicative: surrogati) Consente il trattamento di dati mancanti (attraverso luso delle altre variabili esplicative: surrogati) Utilizza criteri di potatura (pruning) per trovare la dimensione ottimale dellalbero Utilizza criteri di potatura (pruning) per trovare la dimensione ottimale dellalbero Split solo binari Split solo binari

8 Eterogeneità Misura della variabilità per una variabile qualitativa Misura della variabilità per una variabile qualitativa Indice di Gini: Indice di Gini: Eterogeneità max: max incertezza sulla modalità di Y per ununità estratta a a caso Eterogeneità max: max incertezza sulla modalità di Y per ununità estratta a a caso Eterogeneità nulla: nessuna incertezza sulla modalità di Y per ununità estratta a a caso. Ad es., solo Y 1 è presente: Eterogeneità nulla: nessuna incertezza sulla modalità di Y per ununità estratta a a caso. Ad es., solo Y 1 è presente: Modalità di Y Freq. relativa Y1Y1Y1Y1 f 1 = 1/J … YJYJYJYJ f J = 1/J Tot.1 Modalità di Y Freq. relativa Y1Y1Y1Y1 f 1 = 1 … YJYJYJYJ f J = 0 Tot.1 G = 1 – J(1/J 2 ) = = 1 – 1/J = (J – 1)/J G = 1 – 1 = 0

9 Impurità Impurità di un nodo = eterogeneità di Y per le unità che appartengono a quel nodo 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 Misura di impurità (eterogeneità) del nodo t: Indice di Gini dove f j|t è la frequenza relativa della modalità j di Y allinterno del nodo t (distribuzione condizionata) imp(t) rappresenta: imp(t) rappresenta: –varianza della var dicotomica Y nel nodo t –prob. di errata classificazione (da j a j) se lassegnazione è 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 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

10 Split s = split del nodo t; l = nodo figlio di sinistra; r = nodo figlio di destra s = split del nodo t; l = nodo figlio di sinistra; r = nodo figlio di destra Decremento di impurità associato allo split s: 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 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 dellalbero La scelta dello split ottimo è iterata per ogni nodo e per ogni livello dellalbero IMP(T) = impurità totale dellalbero T: media ponderata delle impurità imp(t) dei nodi terminali dellalbero IMP(T) = impurità totale dellalbero T: media ponderata delle impurità imp(t) dei nodi terminali dellalbero Max imp(s,t) è equivalente a min IMP(T) Max imp(s,t) è equivalente a min IMP(T)

11 Esempio - CRT E lo stesso albero riportato allinizio dellesempio E lo stesso albero riportato allinizio dellesempio Ora però siamo in grado di calcolare il miglioramento associato a ogni split Ora però siamo in grado di calcolare il miglioramento associato a ogni split Nodo 0: imp(0) = 1 – ( ) = interpretazione Nodo 0: imp(0) = 1 – ( ) = interpretazione Nodo 1: imp(1) = 0 Nodo 1: imp(1) = 0 Nodo 2: imp(2) = 1 – ( ) = Nodo 2: imp(2) = 1 – ( ) = Miglioramento associato allo split: – – = 0.26 Miglioramento associato allo split: – – = 0.26 Etc. Etc. Albero max: foglie omogenee 4 segmenti per n=8 clienti Albero max: foglie omogenee 4 segmenti per n=8 clienti

12 Esempio - Classificazione Assegnazione dei nodi terminali: classe con frequenza max (v. regola di 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 dellerrore di generalizzazione? La stima della probabilità di errore è 0: foglie omogenee come si può ottenere una stima più affidabile dellerrore di generalizzazione? Dati diversi per adattamento e previsione Dati diversi per adattamento e previsione Riduzione della complessità dellalbero Riduzione della complessità dellalbero –Criteri soggettivi (numero di livelli, numero di unità per nodo …) –Potatura (pruning) Spesso i due criteri sono applicati simultaneamente Spesso i due criteri sono applicati simultaneamente

13 Esempio - Classificazione Suddivisione del data set in: Training set + Test set Suddivisione del data set in: Training set + Test set In realtà sarebbe necessaria una suddivisione in 3 insiemi: In realtà sarebbe necessaria una suddivisione in 3 insiemi: –Training set: per laddestramento –Validation set: per la riduzione della complessità dellalbero (pruning) –Test set: per la stima (indipendente) del tasso di errata classificazione La suddivisione del data set è casuale 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 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 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 V-fold CV: il training set è suddiviso (casualmente) in V>2 sottocampioni di numerosità n(1-1/V): CV n-fold CV

14 CART - Pruning Necessità di ridurre la complessità dellalbero Necessità di ridurre la complessità dellalbero 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 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 dellalbero (pruning) Lobiettivo è quello di sfrondare lalbero dai rami secondari: Si può anche tenere conto del tasso di errata classificazione: potatura dellalbero (pruning) Lobiettivo è quello di sfrondare lalbero dai rami secondari: 1.Si costruisce lalbero di dimensione massima (T max ): tutte le foglie sono omogenee rispetto a Y o sono formate da 1 unità 2.Partendo da T max, 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 Il punto 2 è quello cruciale

15 CART – Pruning 2 Funzione di perdita costo-complessità per il sottoalbero T T max : Funzione di perdita costo-complessità per il sottoalbero T T max : 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à dellalbero (penalizza alberi con |T| elevato) Se =0, T = T max ; se, T = Radice = {t 1 } Se =0, T = T max ; se, T = Radice = {t 1 } Per fissato si sceglie T : R (T ) = min Per fissato si sceglie T : R (T ) = min

16 CART – Pruning 3 Di solito lalbero 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 (T max ); poi si trova 1 >0 tale per cui la perdita associata a un sotto-albero (con un numero di nodi inferiore rispetto a T max ) è minore di quella di T max ; poi si trova 2 > 1 che semplifica il sotto-albero precedente; ecc. Di solito lalbero 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 (T max ); poi si trova 1 >0 tale per cui la perdita associata a un sotto-albero (con un numero di nodi inferiore rispetto a T max ) è minore di quella di T max ; 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 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 T max … {t 1 }, con |T| decrescente Si ottiene quindi una sequenza ottimale (finita) di sottoalberi T max … {t 1 }, 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) Il sottoalbero migliore nella sequenza ottimale è quello che min tasso di errata classificazione sul Validation/Test set oppure nella V-fold CV (v. libro) Unulteriore 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 + k SE (di solito k=1 oppure k=2) Unulteriore 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 + k SE (di solito k=1 oppure k=2)

17 Esempio di marketing (v. libro) Obiettivo: segmentare i clienti di uninsegna in base alla propensione agli acquisti in promo in una categoria (latte) Obiettivo: segmentare i clienti di uninsegna in base alla propensione agli acquisti in promo in una categoria (latte) Y qualitativa 3 classi di propensione: 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 dellinsegna (p. 562) spesa PL; spesa PP; spesa per particolari tipologie di latte … 8 variabili esplicative quantitative tratte dal data base dellinsegna (p. 562) spesa PL; spesa PP; spesa per particolari tipologie di latte … 1 variabile esplicativa nominale: PDV prevalente 1 variabile esplicativa nominale: PDV prevalente Altre possibili variabili esplicative (qui non considerate): marche, tipo di promo, caratteristiche socio-demografiche 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 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) 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)

18 Esempio - opzioni Training sample: campione casuale di numerosità 0.8n 7200 clienti 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? Nota: SPSS non calcola V-fold CV quando è selezionato il pruning quale inconveniente della suddivisione training-test?

19 Esempio - opzioni Pruning dellalbero: criterio che rafforza la propensione verso strutture semplici rilevanza aziendale e accessibilità dei segmenti Pruning dellalbero: criterio che rafforza la propensione verso strutture semplici rilevanza aziendale e accessibilità dei segmenti La semplicità aumenta con il criterio 2 volte SE La semplicità aumenta con il criterio 2 volte SE Le altre opzioni sono quelle standard di SPSS Le altre opzioni sono quelle standard di SPSS

20 Esempio - training Commento split: v. libro Commento split: v. libro 3 variabili di segmentazione: 3 variabili di segmentazione: –X6 = quota UHT normale –X9 = PDV –X1 = quota PP 6 nodi terminali 6 segmenti 6 nodi terminali 6 segmenti Caratteristiche dei segmenti nodo 9: clienti con alta propensione promo Caratteristiche dei segmenti nodo 9: clienti con alta propensione promo

21 Esempio - test V. libro per albero test sample di circa 1900 clienti si applicano le regole di classificazione ottenute sul training sample 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 Ciò che cambia è la stima del tasso di errore Si può salvare loutput della procedura: nodo finale e classe stimata di appartenenza

22 Esempio - conclusioni Un aspetto negativo della procedura è la casualità insita nella suddivisione Training + Test 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 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 La replicazione casuale è alla base di alcune estensioni di CART: Bagging e Random Forests Tali estensioni migliorano anche laltro aspetto negativo degli alberi: elevata variabilità a seguito di modificazioni degli input Tali estensioni migliorano anche laltro 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 Vantaggi importanti in pratica: selezione delle variabili e applicabilità della regola di classificazione Se Y fosse quantitativa: alberi di regressione (v. Libro) Se Y fosse quantitativa: alberi di regressione (v. Libro)

23 Esercitazione – Propensione promo Utilizzare il file: Dati_Esercitazione_alberi.sav Utilizzare il file: Dati_Esercitazione_alberi.sav Obiettivi: 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 Y dicotomica: differenti soglie Metodologie: Metodologie: –Analisi preliminari; creazione di nuove variabili (per classi) –CRT / CHAID –Opzioni per la semplificazione dellalbero finale –Stima dellerrore di classificazione: v. test set aggiuntivo (Test_Esrcitazione_alberi.sav) Interpretazione e rilevanza di marketing dei risultati Interpretazione e rilevanza di marketing dei risultati

24 Esercitazione – Filtraggio spam Utilizzare il file: Dati_Esercitazione2_alberi.zip Utilizzare il file: Dati_Esercitazione2_alberi.zip Obiettivi (v. file di documentazione): 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: Metodologie: –Analisi preliminari; trasformazioni dei dati; creazione di nuove variabili (per classi) –CRT / CHAID –Opzioni per la semplificazione dellalbero finale –Stima dellerrore di classificazione –… Interpretazione dei risultati e applicazione pratica della classificazione: diversa rilevanza dei due tipi di errore Interpretazione dei risultati e applicazione pratica della classificazione: diversa rilevanza dei due tipi di errore


Scaricare ppt "STATISTICA PER LE DECISIONI DI MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione."

Presentazioni simili


Annunci Google