Business Data Science
Introduzione
La pratica del business sta cambiando: sempre più aziende accumulano quantità via via crescenti di dati che riguardano vari aspetti della vita delle persone. È un fenomeno che non riguarda solo le aziende che lavorano su internet, anche la finanza, il settore medico-sanitario, farmaceutico ecc.
Il tema comune a tutti questi ambiti è che ci si è resi conto che l’analisi e la raccolta dei dati consentono di prendere decisioni più informate, migliori, più corrette. I dati dovrebbero essere considerati un asset strategico per le aziende.
I driver che hanno contribuito a questa rivoluzione sono:
- La nascita e la crescita dei Big Data: insieme di dati di dimensioni enormi che non possono essere immagazzinati nella memoria di un singolo computer (es: su Twitter ogni minuto vengono creati più di 300.000 tweet);
- Un drastico aumento delle capacità di calcolo affiancato ad una riduzione dei costi (hardware);
- Lo sviluppo di nuovi e più potenti algoritmi di machine learning: base di molte tecnologie che utilizziamo quotidianamente.
I Big Data sono definiti attraverso alcune loro caratteristiche, le 3 V:
- Volume: la quantità di dati (righe del data set, casi/osservazioni);
- Velocità: la rapidità con cui sono generati;
- Varietà: la diversità dei formati (strutturati e non: audio, video ecc.) e delle fonti dei dati (applicativi gestionali interni, sensori, social network, IOT…).
L’unico modo con cui è possibile gestire tali enormi set di dati è spezzettando il data set in blocchi di dimensioni più ridotte, i quali vengono distribuiti su molti computer collegati tra loro via internet (cloud).
I Big Data pongono innanzitutto un problema infrastrutturale: un’azienda che intende sfruttare questo tipo di informazioni deve prima di tutto dotarsi di un sistema hardware in grado di gestire tali moli di dati attraverso la predisposizione di server adeguati; in secondo luogo deve procurarsi le competenze informatiche (personale) necessarie per organizzare i dati grezzi in un formato che sia fruibile da chi deve poi effettuare le analisi.
Mentre i costi legati all’acquisizione della struttura hardware necessaria all’acquisizione e alla gestione dei Big Data possono essere molto elevati, sul fronte software la situazione è meno critica perché praticamente tutti i software ad oggi in uso sono di tipo open source.
La piattaforma software che è diventata sinonimo di Big Data è Hadoop: un software open source per l’archiviazione e l’elaborazione distribuite di grandi set di dati. La principale differenza con le altre soluzioni per gestire grandi volumi di dati è che Hadoop può essere configurato come un cluster di computer costruiti con hardware tradizionali, cioè sistemi a basso costo che non hanno le caratteristiche di affidabilità delle macchine specializzate più costose. Hadoop è infatti in grado di garantire la disponibilità del sistema e di prevenire la perdita di dati a fronte di problemi hardware, deve garantire la sicurezza dei dati.
Sono stati sviluppati altri software open source (ecosistema Hadoop) ognuno dei quali consente di eseguire una serie molto articolata di operazioni. Per esempio, MapReduce effettua elaborazioni su ognuno dei computer collegati in rete e combina i relativi risultati. Un’altra componente importante è Spark, la piattaforma che fornisce un’implementazione alternativa e più efficiente di MapReduce ed è diventato uno degli strumenti principali per i Big Data Analytics.
I dati che compongono un tipico data set di Big Data possono avere diversa natura:
- Dati strutturati: dati rappresentabili in formato tabellare all’interno di un database relazionale, si trovano in un file tipicamente di testo (formato CSV) nei quali i singoli campi (le colonne) sono ben separati e identificabili;
- Dati non strutturati: dati che non è possibile rappresentare in formato tabellare, sono i dati testuali (email, file PDF, post in un blog, tweet ecc.), immagini, video e file audio. L’analisi di questi dati richiede l’uso di tecniche ad hoc che solitamente prevedono una serie di operazioni preliminari di pulizia e trasformazione dei dati stessi.
Un tipico esempio è la sensitive analysis: significa estrarre con tecniche ad hoc i messaggi testuali relativi a tweet, blog ecc.: informazioni relative al sentiment (percezione da parte degli utenti di un determinato fenomeno, problema, prodotto/servizio).
Il machine learning è la parte dell’intelligenza artificiale che si occupa di sviluppare algoritmi usati dalle macchine per apprendere in modo automatico. Dal punto di vista operativo, consente di produrre previsioni e raccomandazioni usate dai sistemi di intelligenza artificiale per decidere quale azione compiere.
Il machine learning si occupa della parte algoritmica, mentre gli analytics hanno come obiettivo quello di estrarre informazioni utili dai dati e includono anche operazioni di raccolta, pulizia e sintesi degli stessi. Gli analytics richiedono un continuo intervento da parte dell’analista e un approccio più completo, mentre il machine learning è automatico.
Data science: campo di studio multidisciplinare che combina capacità che arrivano da ambiti diversi: competenze di programmazione, conoscenze di matematica e statistica insieme a competenze specifiche nel settore oggetto di indagine.
Gli strumenti di analytics si dividono in funzione del loro obiettivo in:
- Descriptive analytics: l’obiettivo è riassumere ciò che è accaduto in passato. Gli output sono generalmente report e cruscotti (dashboard) predefiniti (es: valutare quali sono le caratteristiche dei clienti più attivi negli ultimi tre mesi);
- Predictive analytics: l’obiettivo è determinare cosa potrebbe accadere in futuro (es: quali segmenti di clienti hanno maggiori probabilità di rispondere a una nuova campagna promozionale);
- Prescriptive analytics: forniscono indicazioni sui potenziali risultati di una decisione e indicano cosa accadrà se tali risultati saranno raggiunti, vengono solitamente utilizzate per individuare le azioni ottimali da intraprendere per raggiungere gli obiettivi di business e impiegano tecniche di ottimizzazione e simulazione.
I software per gli analytics più utilizzati nell’ambito dei Big Data:
- R: linguaggio di scripting nato in ambito statistico che può essere esteso installando package aggiuntivi, esistono package che consentono di effettuare praticamente qualsiasi tipo di analisi ad oggi disponibile;
- Python: linguaggio di programmazione molto potente che include molte funzionalità per gli analytics, è uno strumento più generale di R ma meno immediato e più articolato, è particolarmente efficiente per le analisi di dati testuali;
- KNIME: software per gli analytics semplice da usare e basato sulla costruzione di flussi di analisi (pipelines).
Processo di analisi dei dati
Il processo è continuo, ciclico perché è necessario aggiornarlo continuamente. Non per forza esistono tutti i passaggi.
Business Understanding: è necessario chiarire l’obiettivo di business che si vuole proseguire attraverso l’analisi dei dati (es: prevedere le vendite nel prossimo trimestre per formulare il budget del trimestre stesso). Non si parla solo di identificazione dell’obiettivo di business, è anche opportuno ragionare su come tradurre questo obiettivo in una corrispondente analisi tecnica di analytics.
Si passa poi al Data Collection: fase complessa che richiede spesso una riformulazione, dettaglio ulteriore del problema di business e quindi richiede di tornare alla fase precedente. Può prevedere l’utilizzo di dati interni o esterni all’azienda raccolti direttamente dall’azienda (ricerca di mercato) o attraverso l’acquisto di dati da terze parti (data provider).
Data Exploration: capire quali sono le caratteristiche dei dati, incluse le eventuali relazioni che legano le diverse variabili del data set; è una fase fondamentale perché consente di prendere dimestichezza coi dati stessi. Si formulano le prime ipotesi sulle fasi successive, principalmente sulla fase di Modeling, fa emergere la presenza di problemi nei dati (outlier, asimmetrie, inconsistenze ecc.).
La fase di Data Preparation risolve i problemi per non bloccare il processo.
Modeling: comprende particolari tecniche di analytics tra cui predictive analytics e prescriptive analytics. Durante questa fase vengono generati diversi modelli alternativi (ad esempio di regressione per ottenere una determinata previsione): ognuno avrà dei vantaggi, svantaggi e caratteristiche e avrà performance di tipo diverso misurate in modo diverso che saranno confrontate all’interno dei diversi modelli per evidenziare e identificare il modello migliore rispetto agli altri all’interno della Model Evaluation.
Il Model Deployment consiste nello sviluppo di un’app o di una web application con i risultati dell’analisi sulla base di input forniti dall’utente.
Data Exploration
È uno dei passi più importanti, si effettua con gli strumenti di descriptive analytics: strumenti di sintesi dei dati che ci forniscono indicazioni dettagliate sul contenuto dei dati stessi.
Un tipico data set è una tabella composta da righe (casi e osservazioni) e colonne (variabili). Il numero di casi/osservazioni sono indicate con n e le variabili con p.
Le variabili possono contenere informazioni di tipo diverso:
Le variabili categoriche sono variabili i cui valori sono espressi da categorie, etichette (es: genere). Sono nominali quando le categorie non possono essere ordinate secondo nessun tipo di informazione o ordinamento intrinseco (es: genere); viceversa per quelle ordinali.
Le variabili sono numeriche quando i valori sono rappresentati da numeri (es: variabili monetarie). I grafici usati per rappresentare la distribuzione di questo tipo di variabili sono box plot e istogramma, che forniscono informazioni complementari una rispetto all’altra.
Una variabile è discreta quando è il risultato di un conteggio, è continua quando è il risultato di un processo di misurazione, ogni valore può essere uno di una serie infinita all’interno di un intervallo (es. variabili monetarie, da 0€ a infiniti €).
L’esplorazione dei dati si effettua dapprima analizzando le caratteristiche di ogni singola variabile (analisi univariate) e successivamente verificando se le varie coppie di variabili sono legate da un qualche tipo di relazione (analisi bivariate).
Gli strumenti delle analisi univariate:
- Tabelle di frequenza;
- Rappresentazioni grafiche univariate (istogrammi, diagrammi a barre o a torta…);
- Statistiche di sintesi (media, mediana o deviazione standard).
Gli strumenti delle analisi bivariate:
- Tabelle a doppia entrata (cross-tabs);
- Rappresentazioni grafiche bivariate (diagrammi a barre impilate, box plot affiancati, diagrammi di dispersione ecc.);
- Indici di sintesi delle associazioni tra variabili (indici di connessione, indici di correlazione lineare).
Analisi univariate
Esempio: data set contenente le donazioni di ex-alunni di un’università americana.
Il data set è composto da 1230 casi (ex-studenti) e contiene le somme di denaro che ognuno di essi ha donato all’università dal 2000 al 2004 (fy00giving-fy04giving).
L’obiettivo è capire quali sono le caratteristiche principali degli ex-studenti associate a donazioni più elevate.
Marital status: variabile categorica nominale.
Distribuzione delle frequenze della variabile marital status:
Distribuzione delle frequenze della variabile class year (variabile categorica ordinale):
Le informazioni fornite dalle variabili numeriche sono di più e più dettagliate.
Gli indici di tendenza centrale ci informano su dove si trova il centro della distribuzione dei valori della nostra variabile.
Gli indici di forma ci informano se la distribuzione è simmetrica o asimmetrica (e, in questo caso, da che parte).
Gli indici di variabilità o dispersione ci danno informazioni su quanto i valori osservati sono simili, omogenei, o eterogenei, diversi.
Media:
Limite: fortemente influenzata dai valori outlier (osservazioni anomale, estreme): valore unico molto più grande o molto più piccolo degli altri.
La mediana rappresenta il valore che cade al centro della serie ordinata, è meno influenzata dalla presenta dei valori outlier.
Se media e mediana sono approssimativamente uguali la distribuzione è approssimativamente simmetrica.
I quartili informano circa la posizione dei diversi quarti della distribuzione dei valori. Sono tre numeri che dividono in 4 parti uguali la distribuzione (Me=secondo quartile).
Come la mediana, sono poco influenzati dai valori outlier.
I percentili sono una generalizzazione dei quartili: dividono in cento parti uguali la distribuzione dei dati (Q1=P25, Q2=P50…), ne danno una dimostrazione più dettagliata e raffinata.
Il range è la differenza tra i valori osservati più grande e più piccolo, misura l’eterogeneità dell’insieme di valori osservato. Il limite principale è che non considera l’intera distribuzione dei dati, inoltre è estremamente sensibile agli outlier. Il vantaggio è la semplicità, ma è comunque il meno adatto a misurare la variabilità.
La varianza è la somma degli scarti dalle osservazioni della propria media elevate al quadrato divisa per n-1:
Ci dice quanto in media i numeri distano dal centro della distribuzione misurato come media dei dati stessi. Più è grande la varianza, più i valori della variabile considerata sono lontani dalla loro media e viceversa.
Il denominatore serve a tener conto del fatto che i dati rappresentano un campione e non l’intera popolazione.
È un indice abbastanza sensibile agli outlier e la sua unità di misura è il quadrato dell’unità di misura dei dati stessi, per quest’ultimo motivo non ha un grande utilizzo.
Invece della varianza, in pratica si usa una sua trasformazione, la deviazione standard: la radice quadrata della varianza (s); avrà quindi la stessa unità di misura dei dati ed è la più comune misura di variabilità.
È sensibile agli outlier, ma meno della varianza.
È un indice che non può essere confrontato per variabili diverse.
Il coefficiente di variazione è il rapporto tra deviazione standard e valore assoluto della media.
È adimensionale, per cui non ha unità di misura ed è sempre positivo. È l’indice che permette di confrontare la variabilità di variabili diverse, per capire quale distribuzione è più o meno dispersa rispetto alle altre.
2001: maggiore eterogeneità delle donazioni, a seguire il 2003 ecc., l’anno con una distribuzione più omogenea (CV più piccolo) è il 2002.
Conclusioni:
La stessa analisi viene ripetuta per il totale delle donazioni sui 5 anni, viene così creata una nuova variabile fy00giving-fy04giving chiamata totgiving:
La media è molto più alta della mediana: la distribuzione del totale donato su 5 anni è molto asimmetrica a destra, cioè abbiamo poche osservazioni molto grandi (outlier) nella coda di destra che aumentano la media.
¾ degli individui ha donato al più 400$, il rimanente 25% ne ha donati di più.
La distribuzione è molto asimmetrica a sinistra perché i valori sono bassi fino al P90. Il rimanente 10% ha donato più di 1050$ sui 5 anni.
Il Box Plot fornisce una visualizzazione semplice ma potente dei dati. È definito a partire da 5 numeri di sintesi: minimo, Q1, mediana, Q3 e massimo.
Il box plot permette di scoprire asimmetrie nella distribuzione e potenziali valori anomali.
Quando la distribuzione è simmetrica, la media è simile alla mediana, quando è asimmetrica a sinistra la mediana è più grande della media e viceversa.
Qui sotto istogramma e box plot per la variabile totgiving, dai quali si conclude che la distribuzione è fortemente asimmetrica a destra a causa della presenza di pochi valori molto estremi (outlier).
I puntini rappresentano i potenziali outlier.
Qui sopra uno zoom tralasciando le donazioni pari a 0$ e le più grandi pari a 1000$.
Il box plot viene spesso completato con l’istogramma, suo complementare. Non è un diagramma a barre, ma un diagramma in cui si dividono i valori osservati sull’asse orizzontale in piccoli intervalli di uguale ampiezza e in corrispondenza di ogni intervallo si calcola quante osservazioni hanno il valore della variabile che cade in ogni intervallo.
Rispetto al box plot, l’istogramma ha un vantaggio: fornisce un’informazione più dettagliata sulla distribuzione dei dati, ma ha anche uno svantaggio: è dipendente dal numero di intervalli, per cui può creare disagio perché non si sa come debba essere scelto il numero di classi. Il consiglio è utilizzare un software come R, o comunque integrare le informazioni dell’istogramma con quelle del box plot.
Analisi bivariate
Servono a verificare se due variabili sono legate tra loro da qualche tipo di relazione: una delle due variabili, in questo caso, sarà molto importante per prevedere il valore dell’altra variabile.
Le due variabili vengono indicate con Y: variabile di risposta o variabile dipendente e X: predittore o variabile indipendente.
Esempio X e Y categoriche: siamo interessati a stimare, sviluppare un modello che serve a prevedere la probabilità che un certo cliente abbandoni la nostra azienda per un’altra. La Y può essere: abbandono dell’azienda Sì o No (variabil
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.
-
Appunti Data Science for Marketing
-
Appunti di Business Data Science
-
Business Data Science
-
Business Data Science