Metodi quantitativi per il marketing 2019-2020
Introduzione
Il sistema informativo di marketing è una struttura integrata ed interagente di persone, attrezzature e procedure finalizzata a raccogliere, classificare, analizzare, valutare e distribuire informazioni pertinenti, tempestive e accurate offrendo sostegno ai processi di decision-making, in presenza di condizioni ambientali e competitive caratterizzate da elevata incertezza.
Il termine knowledge discovery indica l’intero processo di ricerca di nuova conoscenza dai dati. Il data mining esplora e analizza, per mezzo di sistemi automatici e semi-automatici, grandi quantità di dati al fine di scoprire pattern significativi.
Robustezza: capacità che il modello ha di essere generalizzato ad altri casi.
I dati sono composti da oggetti descritti attraverso una serie di attributi (variabili, caratteristiche, ecc.). È indispensabile conoscere il tipo di attributo per sapere quale operazione effettuare. Il modo più semplice consiste nel considerare quale operatore ha senso applicare ai diversi valori che l’attributo può assumere, così da individuare quattro tipi di attributi cui corrispondono altrettanti operatori statistici:
- Nominale: moda, connessione;
- Ordinale: mediana, percentili;
- Intervallo: media, varianza, correlazione;
- Rapporto: media geometrica, armonica.
Tipi di dati
Tipi di dati:
- Misure di posizione: moda, media, mediana, quartile, quantile;
- Misure di variabilità: range (o campo di variazione), scostamento semplice medio, varianza, scarto quadratico medio, coefficiente di variazione, devianza.
La media è influenzata dai valori outliers, a differenza della mediana e della moda. Infine, possiamo classificare gli attributi anche come discreto (numero finito di modalità) e continuo (numero infinito di valori). In R, le variabili qualitative misurate su scala ordinale o nominale sono gestite con fattori. Si ha polimorfismo quando la stessa funzione fornisce risultati diversi in funzione del tipo dell’oggetto.
Le matrici sono insiemi di dati strutturati in righe e colonne; un dataframe può essere considerato come una matrice le cui colonne contengono dati eterogenei. Le colonne quindi rappresentano variabili in cui modi e attributi possono essere eterogenei, al contrario i vettori e le matrici sono costituiti da elementi sempre omogenei.
Fasi di sviluppo di un processo
- Dal problema al progetto: comprendere il problema del cliente, tradurre il problema in una logica di data mining, definire un primo progetto;
- Dati: identificare i dati disponibili, analizzandoli per una prima qualificazione;
- Preparazione dei dati: selezione e pulizia dei dati così da disporre del/i dataset per le analisi;
- Creazione del modello: considerando il problema individuato e i dati disponibili si costruisce il modello di analisi;
- Validazione del modello: il modello individuato viene analizzato in termini di precisione e di robustezza;
- Deployment e declinazione linee guida: il modello viene "messo in produzione".
Prima di procedere alla costruzione del modello statistico è opportuno analizzare il dataframe con particolare riferimento ad alcuni aspetti:
- Completezza delle variabili: esistono variabili con presenza di dati mancanti?
- Utilità delle variabili per la costruzione del modello o meglio per il problema oggetto dell’analisi;
- Esistono osservazioni che risultano anomale?
Modelli predittivi
I modelli predittivi sono un insieme di tecniche il cui obiettivo è costruire modelli di dati al fine di predire il comportamento di nuovi insiemi di dati. Servono per prevedere nuovi casi:
- Classificazione (decisioni variabile target categorica binaria/nominale/ordinale),
- Ordinamento (rankings ordina le osservazioni rispetto alle variabili input),
- Previsionale (estimates approssimazione della variabile target in funzione dei valori delle variabili input).
La presenza di valori mancanti può limitare l’utilizzo di alcuni modelli predittivi (modelli regressivi) o renderli meno efficaci (Xgboosting), ma soprattutto i modelli predittivi NON possono essere generalizzati se le nuove osservazioni che devono essere classificate presentano valori mancanti.
Un numero elevato di variabili, e quindi la presenza di variabili “inutili”, può causare:
- Overfitting;
- “Rallentamento” nel processo predittivo;
- Minore robustezza del modello, poco affidabile in termini di durata temporale.
Per selezionare le variabili significative si possono utilizzare due criteri di selezione:
- Irrilevanza: la variabile X non apporta nessuna informazione relativamente alla variabile target, non mi dà nessun valore aggiunto sulla costruzione del modello;
- Ridondanza: la variabile X e la variabile Z apportano le stesse informazioni (soprattutto per modelli regressivi la presenza di tali variabili richiede particolari attenzioni). Una variabile ridondante non è altro che il clone di un’altra variabile.
Ad esempio, la regressione lineare lavora meglio quando le variabili non sono correlate e sono normalmente distribuite. Quando questo non si verifica tendenzialmente si fa una trasformazione logaritmica per avere una distribuzione più normale.
Boruta è un algoritmo di selezione delle funzionalità. Per ciascuna variabile indipendente crea la sua analoga “ombra” mescolando i valori in modo casuale; costruisce un modello per misurare l’importanza delle variabili nella previsione della target; per ciascuna iterazione valuta se una variabile ha o meno maggiore importanza rispetto alla sua omologa “ombra”; solo le variabili che hanno un’importanza maggiore di quella delle variabili randomizzate sono considerate importanti.
Tutte le volte che si applica un modello con generazione casuale è cosa buona e giusta definire il seme. Il vantaggio è che posso replicare la stessa analisi ed avere gli stessi risultati, e quindi ogni volta che lo script è eseguito verranno generati gli stessi numeri random.
Gestione dei missing values
La presenza di valori mancanti (missing values) può limitare l’utilizzo di alcuni modelli predittivi (modelli regressivi) o renderli meno efficaci (reti neurali), ma soprattutto i modelli predittivi non possono essere generalizzati se le nuove osservazioni che devono essere classificate presentano valori mancanti. Esistono diversi approcci per trattare i missing values: possono essere sostituiti con la media per le variabili continue o con la moda per le variabili discrete, oppure possono essere sostituiti con i valori medi dei clienti più simili (come l’età a seconda del sesso). È importante ricordare che i missing impattano anche sulle statistiche di base e sui modelli predittivi (quindi anche sulla moda e la media). La soluzione per similitudine è attuabile mediante il modello knn, il cui presupposto alla base dell’utilizzo è che un valore mancante possa essere approssimato dai valori dei punti più vicini ad esso.
Oltre ai dati mancanti, nei dataframe si possono trovare altre caratteristiche che possono impattare in modo rilevante nella costruzione dei modelli. Le variabili categoriche potrebbero assumere un numero rilevante di modalità; un approccio può essere quello di analizzare ciascuna modalità e come si distribuisce rispetto alla variabile target.
Outliers
Per quanto riguarda le variabili continue, spesso si evidenziano dei valori che si discostano in modo significativo, i cosiddetti outliers. Per identificare gli outliers nelle variabili discrete si fa una distribuzione di frequenza, mentre nelle variabili continue si devono utilizzare i percentili per poi cancellare le osservazioni superiori al 99esimo percentile. La presenza di outliers risulta particolarmente problematica nel caso di modelli regressivi. Viene considerato valore estremo un valore con scostamento positivo dal terzo quartile superiore a 1.5 volte il range interquartile o, simmetricamente, un valore con scostamento negativo dal primo quartile superiore (in valore assoluto) a 1.5 volte il range interquartile. Viene invece considerato valore anomalo un valore con scostamento (positivo) dal terzo quartile o (negativo) dal primo quartile superiore a tre volte il range interquartile.
La presenza di outliers risulta particolarmente problematica nel caso di modelli regressivi, e si può operare in diversi modi: togliendo le osservazioni anomale, sostituendo i valori anomali con specifici valori (es. 5o o 95o percentile o con la mediana), o ancora operando delle trasformazioni sulle variabili così da diminuire l’effetto distorcente degli outliers.
La winsorizzazione è una procedura statistica per la modifica artificiosa della distribuzione campionaria di variabili aleatorie. Essa consiste nella rimozione degli outliers, cioè di quei valori “anomali”, o che si discostano notevolmente dai valori centrali della distribuzione. Gli outliers sono indesiderati nelle analisi empiriche poiché hanno un impatto sulla stima dei parametri di regressione, causando una minore stabilità degli stessi. La procedura per winsorizzare i dati è la seguente:
- Identificazione a priori di una soglia, i dati al di là della quale sono considerati outliers; la soglia (+-t) viene identificata a discrezione, per esempio il 1o e il 99o percentile;
- Winsorizzazione vera e propria: le osservazioni maggiori di t e minori di -t vengono sostituite rispettivamente con t e -t.
Analisi delle distribuzioni
Alcuni modelli predittivi come i modelli regressivi (lineari o logistici) per poter essere utilizzati necessitano che le variabili esplicative continue abbiano una distribuzione di frequenza normale. Per verificarlo i due principali indicatori sono asimmetria (Skewness) e curtosi (Kurtosis).
- Asimmetria: è una misura della simmetria della distribuzione, valori negativi evidenziano una asimmetria negativa (sinistra) per cui il valore medio tende ad essere di molto inferiore alla mediana. Viceversa, se ci sono relativamente più valori che sono molto più grandi della media, la distribuzione è positivamente inclinata o inclinata a destra, con una coda che si estende verso destra.
- Curtosi: misura il grado in cui la distribuzione presenta valori estremi bassi o alti, e quindi permette di verificare se i dati seguono una distribuzione di tipo normale (simmetrica). In generale, maggiore è la curtosi più acuta è la cima e più lunghe sono le code (e di conseguenza più outliers). Questo si chiama leptocurtica ed è indicato da valori di curtosi positivi. L’opposto, la platicurtica, ha valori negativi di curtosi. Una distribuzione è normale quando β=3 (si tratta di un valore operativo).
Per tutte le variabili continue che presentano una distribuzione non normale è necessario apportare una correzione, come ad esempio una trasformazione logaritmica delle variabili.
Un modello predittivo deve essere identificato cercando un valido compromesso tra errore (bias) e variabilità (variance). Un modello troppo semplice rischia di non cogliere appieno il fenomeno sottostante la variabile target (underfitting), ma un modello troppo complesso rischia di “adattarsi” troppo ai dati disponibili, risultando poco generalizzabile (overfitting).
Per questo motivo nella costruzione dei modelli predittivi si procede nel “dividere” il dataset disponibile in due sottoinsiemi:
- Training/addestramento: la parte di dati su cui si procede alla costruzione del modello. La previsione è l’output del modello predittivo, ossia la migliore stima del target dati gli input considerati;
- Validation/validazione: la parte di dataset utilizzata per valutare la capacità di generalizzazione del modello individuato. È l’insieme di regole derivate dal modello predittivo addestrato sul database di Training che legano le variabili indipendenti alla target.
Talvolta, qualora la dimensione del dataset lo consenta, è possibile suddividere l’intero dataset definendo una terza parte, quella di test: la generalizzazione viene valutata con riferimento a tale insieme di dati, mentre il data set di validazione viene utilizzato per valutare il modello utilizzato in termini di errore di previsione.
I modelli predittivi iniziano con un dataset di training, dove le osservazioni sono conosciute come casi di training, e le variabili sono definite input (o predittori, variabili esplicative o indipendenti) e target (variabile di risposta o variabile dipendente) e la scala di misurazione di input e target può essere numerica (reddito), nominale (professione), ordinale (livello di istruzione) o binaria (churn o no churn).
Matrice di confusione
| Classe stimata | NO | SI |
|---|---|---|
| Negativo reale | Vero negativo | Falso positivo |
| Positivo reale | Falso negativo | Vero positivo |
- Accuratezza: (vero positivo + vero negativo)/totale casi; la miglior accuratezza è 1, la peggiore è 0.
- Errata classificazione: (falso positivo + falso negativo)/totale casi; il miglior tasso di errore è 0, mentre il peggiore è 1.
Il contesto del problema determina quale di queste misure devono essere maggiormente tenute in considerazione.
- Positivo reale: falso negativo + vero positivo
- Negativo reale: vero negativo + falso positivo
- Sensibilità: vero positivo/positivo reale
- Specificità: vero negativo/negativo reale
- Positivo stimato: falso positivo + vero positivo
- Negativo stimato: vero negativo + falso negativo
- Valori positivi previsti: vero positivo/positivo stimato
- Valori negativi previsti: vero negativo/negativo stimato
Curva di ROC
All’aumentare della sensibilità del ricevitore, aumentava anche il numero di falsi positivi; la specificità diminuiva. La logica alla base è che se un test non ha capacità diagnostica, sarebbe altrettanto probabile che produca un falso positivo o un vero positivo, che è lo stesso di sensibilità = 1 – specificità.
I dati vengono ordinati per valori di stima crescenti dall’angolo in basso a sinistra all’angolo in alto a destra. Ogni punto del grafico corrisponde ad una specifica percentuale dei dati ordinati. Se il modello non fornisce alcun contributo aggiunto avremmo i dati ordinati sulla diagonale principale (veri positivi = falsi positivi). Tanto più la curva del modello si discosta dalla bisettrice tanto migliore sarà il suo contributo rispetto ad un modello casuale. Consideriamo i primi 10% dei casi ordinati in modo decrescente rispetto alla probabilità di essere 1, cogliamo circa il 65% degli eventi e sono il 10% di falsi positivi. Il tradeoff tra la cattura dei casi evento e non evento può essere osservato direttamente dall’area al di sotto della curva: un modello debole ha un indice < 0.6, mentre un modello forte ha un indice > 0.7.
Lift
Un ulteriore indicatore della bontà del modello è la curva di lift. Una volta ottenuto il modello si ordina in modo decrescente il database rispetto alla probabilità di esito positivo previsto e, data una certa percentuale di casi si valuta quale percentuale di esiti positivi si hanno. Supponiamo una situazione in cui un fenomeno si presenta nel 10% dei casi (esiti positivi), considerando il primo 20% dei casi nel modello di test abbiamo il 30% di esiti positivi, questo significa che considerando il 20% dei casi “migliori” (probabilità di esito positivo più alta) abbiamo una capacità di trovare esiti positivi maggiore di 3 volte (30/10=3) rispetto ad un qualunque campione scelto a caso.
Non esiste un valore assoluto di lift, dipende tutto dal lift massimo che un modello può raggiungere (il lift massimo al 20% che un modello può raggiungere quando il fenomeno ha una frequenza del 10% è 5 (100/20)).
Avendo una tabella, per capire quanta percentuale delle osservazioni (es. 50%) comprende un tot % delle osservazioni in target si guarda il decile (in questo caso il quinto) e il rispettivo valore di “gain”. Per capire di quanto maggiormente un certo lift permette di cogliere una tot proporzione del target rispetto a un’estrazione casuale si guarda la colonna “Cumulative Lift”.
Criterio AIC
AIC = 2k + 2Ln(L) dove k è il numero di parametri del modello (semplicità del modello) e L è il massimo della funzione di verosimiglianza del modello (bontà del modello). Data una serie di modelli è da preferire quello con valore AIC minore. Si tratta di un criterio non assoluto ma relativo, quindi ha senso solo in caso di confronto tra due o più modelli. Non si può utilizzare il modello di AIC su un modello non parametrico (non si può costruire un modello AIC su un albero).
Test T
Nel caso di modelli “parametrici” (regressione), è necessario valutare l’affidabilità dei coefficienti stimati, e la capacità del modello di generalizzare i risultati è significativamente connessa all’attendibilità dei coefficienti che lo caratterizzano. Il test T permette di valutare il grado di significatività del coefficiente stimato, l’ipotesi nulla è che il coefficiente sia 0, se si può rifiutare tale ipotesi, quindi se il valore p del test è inferiore alla soglia di significatività prefissata (solitamente 0.05) si può ritenere “affidabile” la stima del coefficiente.
Eventi rari
Un fenomeno è raro quando si presenta con l’1/2% dei casi. Come ultima analisi preventiva è opportuno analizzare la distribuzione di frequenza della variabile dipendente così da verificare che l’evento che si vuole prevedere non accada con una frequenza troppo bassa.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.