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.
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.
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.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
SI
Notiamo in particolare che nel gruppo di controllo (A) abbiamo osservato un conversion rate pari al
9.7%, mentre nel gruppo di trattamento pari al 13.4%, è la differenza tra i due è effettivamente
superiore al 2% come era richiesto a priori.
Nonstante si tratti di risultati incoraggianti, prima di implementare la nova pagina dobbiamo
verificare che tale differenza sia significativa.
Per confrontare i due gruppi possiamo effettuare un test sulla differenza delle proporzioni, il quale
confronta le seguenti ipotesi:
H0: PB - PA = 0 vs. H1: PB - PA 0
dove PA è il conversion rate nella popolazione da cui è stato estratto il gruppo di controllo (A) e PB
è il conversion rate nella popolazione da cui è stato estratto il gruppo di trattamento (B).
L'output seguente contiene i risultati di
questo test per il nostro esempio:
Esaminando l'output concludiamo che,
adottando un livello di significatività
standard del 5%, è possibile rifiutare l’
ipotesi nulla che le due proporzioni siano
uguali, ovvero che la differenza delle proporzioni sia uguale a zero, poiché il p-value è pari a
0.01182.
La domanda che ci eravamo posti però non richiedeva di verificare che le due proporzioni fossero
genericamente diverse, ma piuttosto che il conversion rate nel gruppo di trattamento (B) fosse più
grande di quello del gruppo di controllo (A) di almeno il 2%.
Fortunatamente l’ output precedente contiene anche l'intervallo di confidenza al 95% per la
differenza tra le due proporzioni, che risulta essere (0.007886581; 0.065979898), ovvero all'incirca
(0.8%; 6.6%).
Tale intervallo fornisce i valori probabili al 95% per la differenza delle proporzioni -> visto che tra i
valori probabili compaiono sia valori più grandi, ma anche valori più piccoli del 2%, purtroppo questi
dati non forniscono sufficiente evidenza per concludere che la differenza dei conversion rate risulti
essere almeno del 2% -› non siamo sufficientemente sicuri che il novo design della pagina di
registrazione consenta di incrementare il conversion rate dell'azione richiesta.
4. Data preparation
Come abbiamo già discusso all’inizio del corso, un progetto
di analytics è tipicamente composto da una serie articolata
di fasi che vanno dalla definizione del problema di business
fino all’implementazione nei sistemi informativi aziendali del
modello finale. Nelle precedenti lezioni abbiamo presentato i
principali strumenti di descriptive analytics che tipicamente
vengono utilizzati per l’esplorazione dei dati. In questa
lezione ci occuperemo invece di fornire una
breve introduzione degli strumenti utilizzati nella fase
successiva, la cosiddetta fase di preparazione dei dati (o
preprocessing).
Apparentemente l’idea che i dati debbano essere «preparati» prima di procedere con l’analisi
potrebbe sembrare sospettosa e dare l’idea che l’obiettivo sia di intervenire sui dati per cercare di
ottenere risultati più consistenti con le attese o con quello che si desidererebbe scoprire.
In realtà l’obiettivo della data preparation è quello di trasformare il data set grezzo depurandolo da
eventuali errori e inconsistenze e integrandolo con nuove informazioni che consentono di costruire
modelli con migliori performance.
La fase di data preparation è spesso fortemente time consuming arrivando ad occupare fino all’80%
del tempo complessivo dell’intero progetto.
Nonostante non sia un’attività molto divertente, la data preparation è molto spesso una fase
decisiva in un progetto di analytics, che ne può determinare il successo o il fallimento.
Non è nostra intenzione fornire una presentazione dettagliata di questo argomento, in particolare
perché alcune di queste operazioni sono applicabili a specifici progetti, ovvero ai rispettivi data set,
e non ad altri. In generale possiamo dire che la data preparation è composta da diverse operazioni
che possiamo classificare nel modo seguente:
• Data cleaning: si tratta di operazioni di pulizia dei dati con cui si vuole rimuovere errori,
inconsistenze e altre anomalie che potrebbero alterare i risultati delle fasi successive
• Trasformazione dei dati: si tratta di operazioni che rendono le variabili tra loro meglio confrontabili
e coinvolgono solitamente cambi di scala delle stesse (uniformazione dei dati)
• Feature engineering: si tratta di operazioni complesse che rendono i dati più facili da modellare
consentendo agli algoritmi di machine learning di cogliere più facilmente i pattern che li legano. In
altre parole si tratta di scovare se ci sono correlazioni tra le variabili e verificare se alcune possono
essere scartate)
Solitamente la fase di esplorazione dei dati è il momento in cui si procede a una prima validazione
dei dati e si diventa consapevoli della presenza di anomalie nel data set di partenza.
I problemi più comuni che si possono trovare sono:
– nomi delle varabili non informativi
– inconsistenze nei valori osservati (ad es., nel database relativo ad una ricerca di mercato, la
colonna del genere dei clienti potrebbe riportare un misto di etichette come F, M, f, Male, Fem, ecc.)
– valori fuori range (ad es., quantità monetarie come redditi, ricavi o profitti che presentano valori
negativi, o età dei clienti superiori a 100 anni) etichette di testo che indicano dati anomali (999, zzz,
ecc.) o mancanti (NA, nd, N/A, ecc.) in colonne numeriche
– separatori decimale e delle migliaia usati in modo inconsistente
– inconsistenze nel formato di date
– inconsistenze nei dati testuali (ad es., maiuscole/minuscole, punteggiature,spazi, ecc.)
Prima di effettuare qualsiasi analisi è quindi opportuno procedere alla validazione dei dati e
correggere eventuali errori.
Uno dei modi più semplici di intervenire è con un semplice software per fogli elettronici (ad es.,
Excel), i quali contengono molte funzioni che consentono di svolgere il lavoro in un tempo
ragionevole (filtri, trova/sostituisci, ecc.).
Lo svantaggio dei fogli elettronici è che non è possibile automatizzare queste operazioni, che
devono quindi essere ripetute manualmente su ogni data set. Esistono in commercio software che
automatizzano molte di queste operazioni (ad es., Trifacta Wrangler o WinPure), ma ci sono anche
molti strumenti open source come ad esempio OpenRefine sviluppato da Google o alcuni package
di R come dataMaid, janitor, validate o vtreat.
Un ulteriore problema frequente che si incontra nella fase di data preparation è il fatto che alcuni
dati potrebbero essere mancanti. I dati mancanti possono sorgere per motivi diversi, come ad
esempio:
– rifiuto di rispondere a domande particolari in un questionario
– perdita accidentale
– abbandono (dropout) in studi longitudinali (ovvero ripetuti nel tempo)
Indipendentemente dal motivo, è sempre opportuno ragionare sul perché alcuni dati sono mancanti
è ciò consente di capire se il processo che li ha generati dipenda da informazioni che abbiamo
raccolto oppure no. In particolare, se il meccanismo che ha generato i dati mancanti non dovesse
dipendere da nessuna informazione (osservata o meno), allora basterebbe semplicemente eliminare
i dati mancanti senza avere conseguenze particolari sui risultati.
In caso contrario, l’eliminazione dei dati mancanti porterebbe distorcere in maniera sensibile i
risultati.
Il primo passo da compiere per la gestione dei dati mancanti consiste nel quantificare l’entità del
problema.
Un modo efficace per ottenere questa informazione è attraverso dei grafici, come ad esempio quelli
riportati nella slide successiva, che si riferiscono ad un data set su un campione di 60 supermercati
sui quali sono state misurate le seguenti variabili:
Il problema dei dati mancanti: Il grafico a barre a sinistra indica il numero di
osservazioni mancanti per ognuna delle variabili, da
cui emerge che la variabile other.rev è quella con
più dati mancanti.
Il grafico a destra riporta invece i cosiddetti missing
data pattern, ovvero le diverse combinazioni di
valori presenti/mancanti che si sono osservate,
ordinate secondo la numerosità dal basso verso
l’alto.
Da questo secondo grafico emerge che il pattern
più frequente è quello in cui other.rev è mancante e
le altre variabili sono presenti (22 casi), seguito dal
pattern in cui tutte le variabili sono presenti (17 casi), ecc.
Questi grafici consentono di avere un’idea chiara della quantità di dati mancanti e di quali siano le
variabili più coinvolte.
Il modo più semplice, ma non necessariamente il migliore, per eliminare il problema dei dati
mancanti consiste nell’eliminare le osservazioni che hanno un valore mancante per almeno una delle
variabili che si intende usare nelle successive analisi (è possibile se i dati mancati sono pochi).
Questo approccio, usato come default nella maggior parte dei software, si chiama complete-case
analysis (o listwise deletion). Purtroppo, se i dati
mancanti sono molto sparsi nel data set, con
questo approccio si corre il rischio di ridurre in
maniera drastica la dimensione del campione (vedi
figura di fianco). In questo caso il risultato verrebbe
distorto perchè si va a d eliminare una parte di
popolazione.
In generale, l’analisi effettuata solo sui dati completi rappresenta un approccio accettabile solo nel
caso in cui il processo che ha generato i dati mancanti non dipenda da nessuna altra informazione
(in sostanza solo quando i casi con dati mancanti sono essi stessi un campione casuale; posso
procedere alla loro eliminazione se distribuiti uniformemente e se il risultato non viene distorto
troppo).
Nel caso ciò non fosse vero, purtroppo questo approccio restituirebbe dei risultati potenzialmente
distorti. In questi casi sarebbe dunque più opportuno procedere ad una imputazione dei dati
mancanti.
Imputare i dati mancanti significa assegnare dei valori fittizi, ma il più possibile ragionevoli, ai valori
che non abbiamo osservato.
Sono stati introdotti molti metodi per l’imputazione dei dati mancanti, che solitamente vengono
distinti in:
– metodi di imputazione singola: generano un singolo data set in cui i valori mancanti sono stati
sostituiti da dei valori scelti in modo opportuno
– metodi di imputazione multipla: sono metodi di simulazione che generano molti data set imputati
Tra i metodi di imputazione singola i più noti sono:
– imputazione con il valor medio (con una popolazione uniforme): i valori mancanti di una variabile
numerica sono rimpiazzati con la media dei valori disponibili; nel caso di una variabile categorica, si
può usare la moda (ovvero il valore più