LABORATORIO DI ANALISI AVANZATA DEI DATI
Andrea [email protected]
Sito web del corso
MISURE DI ASSOCIAZIONE PER APPLICAZIONI DI MARKETING(MARKET BASKET ANALYSIS)
Materiali didattici
• S. Zani – A. Cerioli: Analisi dei dati e data mining per le decisioni aziendali, Capitolo IV
• Materiale distribuito a lezione• Dati per esercitazione (v. sito del
corso)
CARATTERI QUALITATIVI• Scala nominale (uguale / diverso)• Scala ordinale (migliore / peggiore)• Codifica numerica solo per
memorizzazione delle informazioni• Metodologie differenti rispetto al Data
Mining per caratteri quantitativi
Esempi: Dati Home Theatre (v. ZC, pp. 7-10 + cap. IV) Indagine su moda e marche (v. ZC, pp.
11-16 + cap. IV)Indagine su pasti fuori casa
Un’altra distinzione importante è tra:• Variabili esplicative caratteristiche dei
consumatori. Ad esempio: sesso; corso di studio; preferenze; ecc.
• Variabile dipendente (risposta) vero obiettivo dell’analisi. Ad esempio: pasto in pizzeria si può determinare da quali fattori dipende? Qual è la probabilità che un ragazzo con certe caratteristiche pranzi in pizzeria piuttosto che in un altro locale?
Vi possono essere più variabili «dipendenti»: tutte sullo stesso piano associazione (analogia con correlazione)
ASSOCIAZIONEMARKET BASKET ANALYSIS
Obiettivo: evidenziare gruppi di prodotti che tendono a presentarsi insieme in una transazione (“market basket”) analogia con il “carrello della spesa”
Alcune applicazioni:•riorganizzazione lay-out supermercato i prodotti venduti spesso insieme dovrebbero essere posizionati nella stessa zona
• aumento efficacia promozioni: prodotti fortemente associati non dovrebbero essere in promozione insieme la promozione su uno incrementa anche le vendite dell’altro
• brand research tra prodotti associati (ad esempio: latte e biscotti) oppure nel riacquisto del medesimo prodotto: c’è “fedeltà” alla marca?
• web mining: relazioni tra le pagine visitate di un sito di e-commerce
Esempio di Market Basket Analysis
• Punto vendita della grande distribuzione
• Oltre 400.000 osservazioni relative a prodotti appartenenti a 26 classi merceologiche nella categoria alimentare (food)
• Ulteriori informazioni: settimana di vendita; prezzo di vendita; eventuali promozioni applicate
• Metodologia di rilevazione dati: scanner / codice a barre
Grafo delle associazioni positive(26 prodotti alimentari)
Grafo delle associazioni “fortemente” positive
Grafo delle associazioni “fortemente” positive tra prodotti e promozioni
DISPLAY = promozioni basate su esposizioni preferenzialiGIFT = promozioni tramite regali sulla spesaCPZO = promozioni di tipo “temporary price reduction”
Come si misura l’associazione tra due prodotti?• Teoria: ZC: Analisi dei dati e data mining per le
decisioni aziendali, cap. IV• Riflessione iniziale: due prodotti, A e B, possono
presentarsi insieme “nel carrello” per il solo effetto del caso se l’acquisto di A è indipendente da quello di B:
P(A B) = P(A) P(B)ovvero
P(A | B) = P(A)
• A B = intersezione (A e B si verificano simultaneamente);
• A | B = A condizionato a B (A si verifica dopo che si è verificato B)
• L’associazione si misura valutando lo scarto tra la probabilità stimata sui dati e quella teorica di indipendenza
TABELLA DI CONTINGENZA
A \ B B1 … Bj … Bc Tot.
A1 n11 … n1j … n1c n1•
: : : : :
Ai ni1 … nij … nic ni•
: : : : :
Ar nr1 … nrj … nrc nr•
Tot. n•1 … n•j … n•c n
nij = frequenza della coppia di modalità Ai e Bj
ni• = frequenza marginale di Ai
n•j = frequenza marginale di Bj
ESEMPIO (Pasti fuori casa): output SPSSA = Motivazione pasto fuori casa B = Convenienza di
prezzo
Conteggio = frequenza di casella (nij)
Conteggio atteso = frequenze attese se A e B indipendenti
Nella popolazione
• Le quantità nella tabella sono ora probabilità ignote: stimate dai dati attraverso le frequenze relative nij/n
• Se A e B sono indipendenti: ij = P(Ai Bj) = i••j
• La frequenza attesa è n stima di i••j = n(ni/n)(nj/n) = (ni nj)/n
A \ B B1 … Bj … Bc Tot.
A1 11 … 1j … 1c 1•
: : : : :
Ai i1 … ij … ic i•
: : : : :
Ar r1 … rj … rc r•
Tot. •1 … •j … •c 1
Tabella 2 2A e B 2 prodotti del paniere (items)
A / B Acquistato Non acquistato
Tot.
Acquistato n11 n12 n1
Non acquistato
n21 n22 n2
Tot. n1 n2 n
n11 = numero di transazioni in cui A e B sono acquistati insiemen = numero totale di transazioni
A e B 2 pagine web (visitate / non visitate)
Odds (quota relativa linguaggio scommesse)
Esempio: pasti fuori casa
Quota relativa (odds) di bevitori tra coloro che mangiano in pizzeria: O1 = n11/n12 = 44/34 = 1.29
Quota relativa (odds) di bevitori tra coloro che non mangiano in pizzeria: O2 = n21/n22 = 67/60 = 1.12
Quota relativa (odds) di bevitori sul totale: OTot = n1/n2 = 111/94 = 1.18
L’odds NON è stima la probabilità di successo ma il rapporto tra due probabilità (di successo e di insuccesso): varia tra 0 e
Tavola di contingenza PIZZERIA * ACQUA
Conteggio
44 34 78
67 60 127
111 94 205
sì
no
PIZZERIA
Totale
sì no
ACQUA
Totale
Esiste associazione tra scelta dell’acqua (tra le bevande) e scelta della pizzeria (tra i locali)?
Indice di associazione: odds ratio (rapporto dei prodotti incrociati)
OR = O1 / O2 = (n11n22) / (n12n21)
Nell’esempio:
OR = (44 60) / (34 67) = 1.16
Come si interpreta tale valore?
Se le due variabili (scelta dell’acqua e scelta della pizzeria) sono indipendenti ci aspettiamo che approssimativamente: n11 = (n1n1)/n
OR = 1
OR > 1: associazione positiva (relazione diretta) se un carattere è presente, è relativamente più probabile che anche l’altro lo sia
0 < OR < 1: associazione negativa (relazione inversa) se un carattere è presente, è relativamente più probabile che l’altro invece non lo sia
Perché la relazione è approssimata?
Esempio 2 (Pasti fuori casa)
Tavola di contingenza PIZZERIA * COCA
Conteggio
15 63 78
15 112 127
30 175 205
sì
no
PIZZERIA
Totale
sì no
COCA
Totale
O1 = 15 / 63 = 0.238
O2 = 15 / 112 = 0.134
OR = 0.238 / 0.134 = 1.78 associazione positiva (di intensità maggiore rispetto a quella: pizzeria – acqua)
Una «complicazione» statistica
•Indagine sui pasti fuori casa campione di studenti (n = 205)
•Market basket analysis campione di transazioni
•Sequenze nella visita ad un sito web campione di “navigazioni”
Le osservazioni disponibili (anche se numerose) fanno riferimento ad un campione problema di inferenza
Inferenza per OR
• Obiettivo: estendere la conoscenza da un campione di osservazioni ad una popolazione più ampia (v. esempi) è un processo che ha a che fare con l’estrazione della conoscenza (fase confermativa, non esplorativa)
E se avessimo a disposizione l’intera popolazione?
Disporre di campioni molto grandi ha anche qualche inconveniente stima / previsione anziché verifica di ipotesi
Una conseguenza fondamentaleGli indici statistici calcolati sui dati sono una stima di indici analoghi, ma ignoti, della popolazione (parametri)
Ad esempio:• Frequenze osservate nella tabella di contingenza
stima delle ignote frequenze nella intera popolazione
ciò spiega perché, se A e B sono indipendenti, la relazione
n11 = (n1n1)/n
vale solo in via approssimata.• Tabella Pizzeria-Coca (Pasti fuori casa): OR = 1.78
stima dell’OR ignoto riferito alla popolazione di tutti gli studenti
Un’altra conseguenza fondamentale
Come si misura tale variabilità campionaria?
STANDARD ERROR (S.E.) = deviazione standard stimata della distribuzione campionaria• è calcolato dai software statistici (SPSS)• è inversamente proporzionale a
Il valore degli indici campionari (ad es. OR) varia da campione a campione c’è variabilità campionaria
n
Intervallo di confidenza• = generico indice di associazione della
popolazione (parametro ignoto). Ad es. = OR
• IA = indice di associazione calcolato nel campione (stima di ). Ad es. IA = OR campionario
• SE(IA) = standard error di IA • campione di numerosità elevata (ZC, p.
156) 1)()()()( IASEzIAIASEzIAP
1 – = probabilità associata all’intervallo 0.95, 0.99
z() = percentile di N(0, 1) z(0.05) = 1.96; z(0.01) = 2.58
Esempio: associazione pizzeria-coca OR v. “Coeff. di rischio”
Stima di rischio
1.778 .815 3.876
1.628 .843 3.143
.916 .808 1.038
205
Rapporto odd perPIZZERIA (sì / no)
Per coorte COCA = sì
Per coorte COCA = no
N. di casi validi
Valore Inferiore Superiore
Intervallo di confidenza95%
Ad esempio: 1 – = 0.95 z(0.05) = 1.96
95.0)(96.1778.1)(96.1778.1 ORSEORSEP
95.0876.3815.0 P
SE(OR) è calcolato, ma non riportato, da SPSS
Interpretazione• Intervallo che con probabilità 1 – contiene
l’ignoto valore del parametro della popolazione nell’esempio il vero OR è compreso con probabilità 0.95 tra 0.815 e 3.876
• Se le variabili sono indipendenti (nella popolazione): = 1 poiché tale valore è interno all’intervallo, non si può escludere che il valore 1.778 calcolato nel campione sia dovuto solo alle “fluttuazioni campionarie” e che il “vero” OR sia realmente 1 l’associazione (positiva) osservata nel campione non è significativa
• Ad una conclusione analoga si perviene anche attraverso la verifica dell’ipotesi nulla: H0: OR = 1 p-value elevato
Esempio (continua): rischio relativo
Rischio relativo (RR)
per coca=sì RR1 = (15/78) / (15/127) = 0.192/0.118 = 1.628
per coca=noRR2 = (63/78) / (112/127) = 0.808/0.882 = 0.916
• Entrambi gli intervalli per RR comprendono il valore 1 (indipendenza)
• OR = RR1/RR2 = 1.628/0.916 = 1.78
• RR richiede però che i totali di riga (PIZZERIA) siano fissati
Stima di rischio
1.778 .815 3.876
1.628 .843 3.143
.916 .808 1.038
205
Rapporto odd perPIZZERIA (sì / no)
Per coorte COCA = sì
Per coorte COCA = no
N. di casi validi
Valore Inferiore Superiore
Intervallo di confidenza95%
Possiamo ora comprendere meglio i grafi di associazione (v. esempio di Market Basket Analysis)
Associazione “fortemente” positiva: relazioni il cui intervallo di confidenza per OR comprende solo valori > 5 con probabilità elevata, nella popolazione di tutte le transazioni, OR > 5
Una (seconda) complicazione statistica
1. La dicotomia sì / no, acquista / non acquista … spesso trascura informazioni importanti ad esempio: motivazioni, caratteristiche personali, preferenze personali, ecc.
2. Le informazioni precedenti possono essere su una scala ordinale (v. indagine pasti fuori casa)
Caso 1: Indici di associazione per variabili
nominali
Caso 2: Indici di associazione per variabili ordinali
(v. SPSS)
Associazione tra variabili nominali
Chi-quadrato
14.530a 6 .024
12.654 6 .049
205
Chi-quadrato di Pearson
Rapporto diverosimiglianza
N. di casi validi
Valore dfSig. asint.
(2 vie)
5 celle (41.7%) hanno un conteggio atteso inferiore a 5.Il conteggio atteso minimo è .17.
a.
Misure di direzione
.023 .036 .650 .516
.022 .059 .378 .705
.024 .038 .633 .527
.021 .016 .050c
.034 .017 .029c
.034 .018 1.810 .049d
.035 .019 1.810 .049d
.033 .018 1.810 .049d
Simmetrica
Dipendente MOTIVAFC
Dipendente CONVPREZ
Dipendente MOTIVAFC
Dipendente CONVPREZ
Simmetrica
Dipendente MOTIVAFC
Dipendente CONVPREZ
Lambda
Tau di Goodman eKruskal
Coefficiente di incertezza
Nominaleper nominale
Valore E.S. asint.a
T appross.b
Sig. appross.
Senza assumere l'ipotesi nulla.a.
Viene usato l'errore standard asintotico in base all'assunzione dell'ipotesi nulla.b.
In base all'approssimazione chi-quadratoc.
Rapporto di verosimiglianza della probabilità di chi-quadrato.d.
Misure simmetriche
.266 .024
.188 .024
.257 .024
205
Phi
V di Cramer
Coefficiente dicontingenza
Nominale pernominale
N. di casi validi
Valore Sig. appross.
Senza assumere l'ipotesi nulla.a.
Viene usato l'errore standard asintotico in baseall'assunzione dell'ipotesi nulla.
b.
Tabella di contingenza: MOTIVAFC - CONVPREZ
• Chi quadrato (ZC, pp. 112 – 117)mij = (ni•n•j)/n frequenze attese (se A e B indipendenti)
Test di significatività dell’associazione: calcolo p-value (quale distribuzione?)
• Phi, V di Cramer, Coeff. di contingenza indici di associazione (simmetrici) ottenuti da X2
• Il più utile è V=X2/min(r-1,c-1) varia in [0, 1]
i j ijijij mmnX /)( 22
Indici con interpretazione operativa (ZC, pp. 117 – 126)
1. Lambda riduzione proporzionale nella probabilità dell’errore di previsione (P.R.E.), conoscendo la modalità della variabile esplicativa
2. Tau di G. & K. riduzione proporzionale nell’incertezza (misurata attraverso l’eterogeneità)
3. Coeff. di incertezza riduzione proporzionale nell’incertezza (misurata attraverso l’entropia)
Tali indici variano tra 0 e 1:• 0 la variabile esplicativa non aumenta l’informazione• 1 la variabile esplicativa consente di prevedere
esattamente la variabile dipendente
Gli indici 2 e 3 sono interpretabili come un’estensione di R2 della regressione
Misure di direzione indici asimmetrici
Associazione tra variabili ordinali
Misure simmetriche
.166 .066 2.479 .013
.125 .050 2.479 .013
.321 .124 2.479 .013
205
Tau-b di Kendall
Tau-c di Kendall
Gamma
Ordinale perordinale
N. di casi validi
Valore E.S. asint.a
T appross.b
Sig. appross.
Senza assumere l'ipotesi nulla.a.
Viene usato l'errore standard asintotico in base all'assunzione dell'ipotesi nulla.b.
Misure di direzione
.165 .066 2.479 .013
.185 .074 2.479 .013
.149 .059 2.479 .013
Simmetrica
Dipendente CONVPREZ
Dipendente QUALITÀ
D di SomersOrdinale per ordinaleValore E.S. asint.
aT appross.
bSig. appross.
Senza assumere l'ipotesi nulla.a.
Viene usato l'errore standard asintotico in base all'assunzione dell'ipotesi nulla.b.
Tabella di contingenza: CONVPREZ – QUALITA’
• Gamma, Tau di Kendall (simmetrici), D di Somers (asimmetrico) indici di concordanza
• Misurano una particolare forma di associazione tra caratteri ordinali: relazione monotona
• Variano in [-1, +1] segno dell’associazione
• Gamma è il più semplice: proporzione di coppie “concordanti” – proporzione di coppie “discordanti”
• coppia concordante = l’unità che ha la modalità più elevata su una variabile ha la modalità più elevata anche sull’altra
• Gli indici differiscono tra loro per come trattano le coppie “a pari merito” (cioè con lo stesso livello di una o di entrambe le variabili); Gamma ha un valore solitamente più elevato
• Tau-b è assimilabile ad un coefficiente di correlazione, D al coefficiente angolare di una retta di regressione
Si possono applicare all’esempio precedente gli indici per variabili nominali?
Chi-quadrato
8.586a 4 .072
8.856 4 .065
205
Chi-quadrato di Pearson
Rapporto diverosimiglianza
N. di casi validi
Valore dfSig. asint.
(2 vie)
3 celle (33.3%) hanno un conteggio atteso inferiore a 5.Il conteggio atteso minimo è .50.
a.
Misure simmetriche
.205 .072
.145 .072
.201 .072
205
Phi
V di Cramer
Coefficiente dicontingenza
Nominale pernominale
N. di casi validi
Valore Sig. appross.
Senza assumere l'ipotesi nulla.a.
Viene usato l'errore standard asintotico in baseall'assunzione dell'ipotesi nulla.
b.
Misure di direzione
.007 .038 .174 .862
.000 .000 . .
.015 .085 .174 .862
.015 .011 .185
.035 .027 .006
.026 .016 1.599 .065
.023 .014 1.599 .065
.031 .019 1.599 .065
Simmetrica
Dipendente CONVPREZ
Dipendente QUALITÀ
Dipendente CONVPREZ
Dipendente QUALITÀ
Simmetrica
Dipendente CONVPREZ
Dipendente QUALITÀ
Lambda
Tau di Goodman eKruskal
Coefficiente di incertezza
Nominaleper nominale
Valore E.S. asint. T appross. Sig. appross.
In questo caso, gli indici per variabili nominali forniscono misure più basse e solo marginalmente significative l’ordine tra le modalità è importante per focalizzare il tipo di associazione (monotona)
Data Mining aziendale
• Nella Market Basket Analysis (numero di items molto elevato) non interessano solo le associazioni a coppie associazioni a terne, quaterne, ecc.
• Regole di associazione individuano insiemi di items (di numerosità variabile e non noti a priori) associati tra loro: insiemi che compaiono spesso insieme nel “carrello” (frequent sets)
• Applicazioni a variabili binarie: presente / non presente nel “carrello”
• Estensione anche a situazioni diverse: ad esempio, variabili nominali come? (variabili indicatrici)
Dati k items (binari) A1, A2, … Ak e n transazioni• n11…1 = numero di transazioni in cui tutti
gli items sono acquistati congiuntamente
• p11…1 = n11…1/n = frequenza relativa di transazioni in cui tutti gli items sono acquistati congiuntamente Supporto della regola che associa gli items: S(A1, A2, …, Ak)
• Il supporto è una stima di P(A1, A2, …, Ak) probabilità di osservare congiuntamente tutti gli items in un “carrello” casuale
• Due gruppi di items: G1 = “antecedente”; G2 = “conseguente”
• Predittabilità (accuratezza, confidenza) della regola di associazione:
C(G1G2) = S(G1, G2) / S(G1)
Stima della probabilità condizionata P(G2/G1)• Lift della regola di associazione:
L(G1G2) = C(G1G2)/S(G2)
= S(G1, G2)/[S(G1)S(G2)]
Stima della misura di associazione (Tab. 22): P(G1G2)/[P(G1)P(G2)]
• Se G1 e G2 sono indipendenti, tale misura è 1 si può calcolare l’intervallo di confidenza (di livello 1-) per L e vedere se esso contiene il valore 1
Esempio (indagine pasti fuori casa)• Insieme di 3 items: Primi – Carne – Dolce • variabili binarie: spesso / sempre – mai / quasi
mai Tavola di contingenza PRIMI1 * DOLCE1 * CARNE1
Conteggio
37 32 69
9 21 30
46 53 99
30 23 53
24 29 53
54 52 106
spesso / sempre
mai / quasi mai
PRIMI1
Totale
spesso / sempre
mai / quasi mai
PRIMI1
Totale
CARNE1spesso / sempre
mai / quasi mai
spesso /sempre
mai /quasi mai
DOLCE1
Totale
Supporto della regola di associazione: S = 37/205 = 0.18G1 = Primi Carne S = (37+32)/205 = 0.34;
G2 = Dolce S = (46+54)/205 = 0.49
Predittabilità (Primi Carne Dolce): C = 0.18 / 0.34 = 0.53Lift: L = 0.53 / 0.49 = 0.18 / (0.340.49) = 1.08 > 1 associazione positiva tra i 3 items
Applicazioni di Market Basket Analysis
• Numero di items molto elevato: quante e quali sono le associazioni rilevanti?
• Algoritmi veloci per individuare tutti i possibili gruppi di items associati: regole di associazione
• Algoritmo aggregativo di tipo gerarchico (Apriori):
1. si fissa una soglia per il supporto2. si scelgono gli items (singoli) con supporto > soglia3. dati gli items selezionati al punto 2, si considerano le coppie
(associazioni) con supporto > soglia4. dati gli items selezionati al punto precedente, si itera la
procedura aggregazioni successive di items (terne, quaterne, …) finché si trovano associazioni con supporto > soglia
5. varianti in cui si considera anche la predittabilità
http://fuzzy.cs.uni-magdeburg.de/~borgelt/doc/apriori/apriori.html
Un esempio di Market Basket Analysis(v. file: basket analysis.sav)
• 371 clienti Conad Card (Conad Le Querce – RE)
• self scanning• dati riferiti ad una giornata • informazioni socio-demografiche (fidelity
card): sesso, età, titolo di studio, ecc.• 25 categorie di prodotto • Quali sono le associazioni rilevanti (co-
presenza delle categorie)?
Ad esempio:
• Supporto della regola di associazione: S = 65/371 = 0.175
• Odds ratio: OR = (65133)/(11558) = 1,3 associazione positiva tra le 2 categorie
• Predittabilità (Forno Gastronomia):• C = (65/371)/(180/371) = 0.175 / 0.485 = 0.36• Predittabilità (Gastronomia Forno):• C = (65/371)/(123/371) = 0.175 / 0.332 = 0.53 nel 53%
dei casi chi compra dal banco gastronomia compra anche dal banco forno
• Lift: L = 0.175 / (0.4850.332) = 1.09 > 1
Forno \ Gastronomia Sì No Tot
Sì 65 115 180
No 58 133 191
Tot. 123 248 371
Le “regole di associazione” sono molto utilizzate e sono state una delle applicazioni di maggiore successo del Data Mining semplicità; informazioni di rilievo e facilmente interpretabili in azienda
Inconveniente: il focus è sulle regole con supporto elevato (items più venduti) associazioni con elevata predittabilità / lift ma supporto limitato (items poco frequenti) possono non essere rilevate.
Ad esempio: vodka caviale (prodotto con supporto molto piccolo)
Inoltre il risultato finale dipende dalla soglia prescelta
Conclusioni sulla Market Basket Analysis
Assignments sulla Market Basket Analysis
1. Analisi dettagliata delle associazioni (indici + regole) stimate dai dati del file: basket analysis.sav
2. Analisi dettagliata delle associazioni (indici + regole) stimate dai dati del file: : CharlesBookClub_Dati.xls acquisti di differenti tipologie di libri attraverso un distributore (Charles Book Club) specializzato in marketing diretto
3. Analisi dettagliata delle associazioni (indici + regole) stimate dai dati del file: : CatalogCrossSell.xls acquisti in differenti cataloghi di vendita
4. Approfondimento dell’algoritmo Apriori e uso dell’algoritmo in uno dei problemi precedenti.
Top Related