1 / 24

DATA MINING PER IL MARKETING

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

tamika
Download Presentation

DATA MINING PER IL MARKETING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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):

  4. 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)

  5. 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

  6. 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.0352 = 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

  7. 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

  8. 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

  9. 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

  10. 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)

  11. 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.250 – 0.750.2782 = 0.26 • Etc. • 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) • 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

  13. 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

  14. 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

  15. CART – Pruning 2 • Funzione di “perdita” costo-complessità per il sottoalbero TTmax: 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

  16. 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 + kSE (di solito k=1 oppure k=2)

  17. 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)

  18. 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?

  19. 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

  20. 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

  21. 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

  22. 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)

  23. 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

  24. 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

More Related