Scarica Smart Data Analytics (Prof. Potena) e più Appunti in PDF di Analisi Statistica solo su Docsity!
SMART DATA ANALYTICS
Di.erenza tra analisi dati e data analytics
- Analisi dati : Processo che può essere eseguito manualmente. Consiste nel valutare i dati disponibili per ottenere informazioni utili.
- Data analytics : Richiede l'uso di strumenti informatici per elaborare grandi quantità di dati, consentendo analisi più complesse e scalabili. Di.erenza tra dato strutturato e non strutturato
- Dati strutturati : o Organizzati in un formato predeterminato, come tabelle in un database relazionale. o Esempio: una tabella con colonne e righe, dove ogni cella contiene un valore specifico e ben definito.
- Dati non strutturati : o Informazioni prive di una struttura predefinita, come testi, immagini, video o audio. o Esempio: un testo in cui la stessa informazione può essere espressa in modi diversi. o Sfide : Più complessi da analizzare poiché richiedono tecniche avanzate, come il Natural Language Processing (NLP), per estrarre valore.
- Dati semi-strutturati : o Un compromesso tra i dati strutturati e non strutturati. o Spesso organizzati in formati specifici, come XML o JSON, che consentono una rappresentazione flessibile dei dati utilizzando tag e attributi. o Esempio: XML permette di descrivere dati attraverso tag, come: Domenico Nota : I dati non strutturati rappresentano una sfida maggiore nell'analisi rispetto ai dati strutturati, poiché richiedono tecnologie più avanzate per essere elaborati e interpretati. METODOLOGIA NELL’ANALISI DEI DATI Come si a.ronta un progetto di analisi dei dati? Un progetto di analisi dei dati segue una metodologia che consente di raggiungere gli obiettivi prefissati in modo eYiciente, considerando vincoli di risorse, costi e necessità aziendali. Motivazioni L' e.icienza è fondamentale e implica:
- Raggiungere gli obiettivi ottimizzando il tempo e le risorse computazionali.
- Bilanciare il rapporto costo/beneficio. Ad esempio: o Un algoritmo altamente performante può richiedere infrastrutture cloud avanzate (e costose). o Tale scelta comporta non solo un costo economico ma anche un "costo nascosto", come la condivisione di informazioni sensibili con il fornitore del servizio cloud. o Alternativa: optare per sistemi meno performanti ma più economici e riservati. Approcci descrittivi, diagnostici e predittivi
- Descrittivo e diagnostico : Si utilizza OLAP (Online Analytical Processing) per comprendere e analizzare i dati esistenti, identificando pattern o anomalie.
- Predittivo : Si applicano tecniche di data mining per prevedere tendenze future o risultati basati sui dati storici. Knowledge Discovery in Databases (KDD) Negli anni '90, i grandi player tecnologici, di fronte all'aumento dei dati disponibili, hanno collaborato in workshop sul Knowledge Discovery in Databases (KDD) , sviluppando una metodologia per estrarre valore dai dati. Definizioni del KDD
- Definizione 1 : Il KDD è un processo non banale per identificare pattern nei dati. Tali modelli devono essere: o Validi : Devono essere verificabili e misurabili tramite metriche come l’accuracy. o Nuovi : Devono apportare conoscenza o valore aggiunto. o Potenzialmente utili : Devono avere un'applicabilità pratica nel dominio di partenza. o Comprensibili : Devono essere interpretabili per poter essere adottati. § Nota: Spesso è preferibile un modello con accuracy leggermente inferiore ma più comprensibile, in quanto i modelli complessi rischiano di essere rifiutati se non chiari agli stakeholder.
- Definizione 2 : Il KDD è un processo decisionale complesso e interattivo, che si svolge nel tempo tra un umano e un database. Tale processo è supportato da strumenti informatici eterogenei e richiede l'esperienza dell'analista per fare scelte adeguate. COME SI MODELLA? È un approccio sia data-driven (basato sui dati) che goal-oriented (guidato dall'obiettivo), poiché le scelte eYettuate dipendono sia dai dati disponibili sia dallo scopo del progetto. Step della modellazione
- Definizione dell’obiettivo : o Il processo è guidato da uno scopo specifico. o La scelta dei metodi e delle tecniche dipende dalla natura dell’obiettivo (ad esempio, predizione, classificazione, ottimizzazione).
- Selezione dei dati : o Si raccolgono dati da fonti interne (azienda) ed esterne. o Si selezionano solo i dati più rilevanti per il dominio di interesse. o Problema tipico : I dati spesso risultano incompleti, errati o mancanti.
- Preprocessing (Pulizia dei dati) : o Data cleaning : Rimuovere errori, duplicati e rumore, mantenendo solo i dati validi per evitare che il modello sia influenzato da errori.
Produrre un piano di progetto, che significa calcolare le risorse finanziarie, i tempi e talvolta se è realizzabile il progetto o meno. Questo può segnare il fallimento di un progetto. Passando a una seconda fase, troviamo il data understanding , dove si va a collezionare i dati mettendoli insieme e poi si descrivono i dati (es colonna f18 cosa mi rappresenta). Poi si eplorrano i dati per capire se ci sono outlier, errori, dati mancanti, così da infine poter verificare la qualità del dato. Data preparation è una fase che richiede una selezione dei dati iniziale, per poi fare data cleaning e data transformation. Procedo con data integration e li formatto (standardizzo). Fase seguente è il modeling (data mining), dove si deve selezionare la tecnica. Prima si genera il progetto di test, poi costruisco il modello e lo valuto. Da qui abbiamo un modello formalmente valido (buona accuracy). Va capito ora se è applicabile nel dominio à Evaluation (& Interpretation). Quindi di vuole passare dal modello alla conoscenza. Abbiamo allora infine il deployment dove si inizia con un piano di sviluppo. Poi un piano di monitoraggio e manutenzione, la conoscenza non è ferma ma evolve, e può succedere che il modello a un certo punto non è più valido, bisogna quindi periodicamente ritestare il modello se per verificare la sua attuale validità. Si produce un rapporto finale (che aiuta chi viene dopo a riprendere in mano il progetto, ad esempio annotando errori si può capire quale strada non percorrere). Alla fine si potrebbe anche incorrere in un non-successo. Non si può avere la certezza di riuscire a risolvere il problema con quei dati.
Task del data mining
Dato che il data mining è goal oriented i tipi di modelli dipendono dall’obiettivo, e ne esistono due:
- Modelli descrittivi: rappresentano la realtà applicativa (quella raccontata dai dati) che sia comprensibile all’uomo. Cioè vanno a sintetizzare § Regole di associale (spaziali e temporali) § Segmentazione o clustering
- Modelli predittivi: a partire da caratteristiche dei dati sono in grado di predire cosa succederà su dati futuri. § Classificazione (associare un oggetto a una specifica classe) è fondamentale avere classi categoriche (valori finiti). Se il valore è continuo si parla di regressione e non più di classificazione (quindi ad esempio in quanti giorni si laurea uno studente) § Individuazione di tendenze o regressione § Individuazione di anomalie (necessario un task a parte dalla classificazione perché usa tecniche specifiche per rilevare schemi insoliti o outliers)
MODELLI DESCRITTIVI
Regole di associazione
Se si verifica un certo insieme di fenomeni allora si verificherà un altro insieme di fenomeni. Tipo di dati sono le transazioni (es scontrino). Le regole di associazione sono strumenti fondamentali per individuare relazioni tra elementi nei dati. Le regole di associazione sono uno degli strumenti principali utilizzati nel data mining per identificare pattern o relazioni tra variabili in grandi insiemi di dati. Si tratta di regole del tipo:
- R: X → Y Dove:
- X rappresenta un insieme di condizioni (antecedente).
- Y rappresenta un altro insieme di condizioni (conseguente). Queste regole vengono usate per scoprire la dipendenza tra l'occorrenza di un item e l'occorrenza di altri items all'interno di un dataset, dove ogni record contiene una collezione di item. Esempio di Regole di Associazione: Basket Market Analysis à trovare pattern di acquisti nei dati di vendita, cioè quali prodotti vengono spesso acquistati insieme. In questo esempio, la regola di associazione potrebbe essere: Birra → Patatine Applicazioni delle Regole di Associazione
- Promozione delle vendite : o Supponiamo la regola: {Birra,…} → {Patatine} o Se Birra è nell'antecedente e Patatine nel conseguente, possiamo studiare quali prodotti dovrebbero essere messi in promozione con la birra per promuovere la vendita di patatine.
- Organizzazione degli sca.ali : o L’obiettivo è mettere vicini i prodotti che vengono comprati frequentemente insieme. Un esempio famoso di regola di associazione è: § Se un cliente compra pannolini e latte , molto probabilmente compra anche birra. § In questo caso, non sarebbe sorprendente trovare birra vicina ai pannolini sugli scaYali!
- Marketing : o Le regole di associazione possono anche essere utilizzate per definire strategie di marketing personalizzate, in cui la conoscenza dei comportamenti d'acquisto aiuta a determinare oYerte mirate.
Tuttavia, non tutte le regole di associazione sono utili nel contesto temporale. Per esempio, una regola che non tiene conto della sequenza o del tempo in cui gli eventi si verificano, come "Se acquisto un prodotto A, compro anche un prodotto B", non è considerata un pattern temporale. Pertanto, durante l'analisi, è importante scartare le regole non temporali che non contribuiscono all'analisi sequenziale. Processo vs Algoritmo Nel contesto del data mining e dell’analisi temporale, un processo è un flusso di operazioni che avviene nel tempo, spesso con un inizio e una fine definiti. A diYerenza di un algoritmo, un processo non è necessariamente eseguito dal computer in modo automatico, ma può coinvolgere operazioni che sono svolte in sequenza o in parallelo da più entità (umane o computazionali). Ad esempio, in un processo produttivo, due operazioni potrebbero essere eseguite simultaneamente, mentre in un algoritmo l’esecuzione potrebbe essere lineare, passo dopo passo. Anche se possiamo immaginare un processo come un algoritmo , la diYerenza principale sta nel fatto che un algoritmo è automatizzato e sequenziale , mentre un processo ha una dimensione temporale e operazioni che possono essere parallele o simultanee. Time Session Nel contesto temporale, parliamo sempre di una time session , che rappresenta una finestra di tempo specifica in cui gli eventi o gli oggetti vengono analizzati. Ad esempio, se stiamo analizzando i comportamenti di acquisto di un cliente, possiamo definire una sessione temporale come un periodo di 30 giorni, in cui registriamo gli acquisti e analizziamo le sequenze temporali di tali eventi. Le time session sono quindi cruciali per stabilire il contesto temporale degli eventi e per applicare correttamente le regole di associazione temporali.
Clustering e Segmentazione ( à^ METODI DESCRITTIVI)
Il clustering (o segmentazione) è uno dei compiti più importanti nell'analisi dei dati, in particolare per attività descrittive. Il suo obiettivo è suddividere gli oggetti in classi (o cluster) sulla base della similarità delle loro caratteristiche (feature). È un processo non supervisionato , quindi non ci sono etichette predefinite, e il suo scopo è scoprire la struttura nascosta nei dati. Applicazioni
1. Profilatura dei Clienti La segmentazione dei clienti consente di raggruppare individui con caratteristiche simili per analizzare e ottimizzare strategie di marketing. 2. Data Description and Summarization La segmentazione sintetizza i dati fornendo una visione d'insieme e consentendo di identificare caratteristiche chiave. Esempi: - Reddito: Suddividere valori in classi come basso , medio e alto , anche quando i confini tra le classi non sono noti. - Documenti: Raggruppare testi in base ai topic rilevanti (es. politica, sport, economia) come parte del text mining. 3. Numero di Cluster Il numero di cluster non è univoco e dipende dall’obiettivo dell’analisi. Ad esempio: - Sei cluster : per un'analisi più granulare. - Due cluster : per una visione di alto livello. - Quattro cluster : per un compromesso tra granularità e sintesi.
Caratteristiche del Clustering Nel clustering non esiste una "verità" assoluta. Non esiste un metodo unico o migliore, poiché ogni tipo di clustering è influenzato dal contesto dei dati e dagli obiettivi specifici dell'analisi. Questo è il motivo per cui, a diYerenza della classificazione , non si fa riferimento a una metrica universale di "qualità" per il clustering. La scelta del metodo dipende dal tipo di dati e dal risultato desiderato. I principali tipi di clustering includono:
- Clustering Gerarchico : Crea una struttura ad albero (dendrogramma), che può essere utilizzata per rappresentare la relazione tra i cluster. È spesso utilizzato in biologia per suddividere specie o in altri ambiti scientifici.
- Clustering Partitivo : Suddivide i dati in un numero predeterminato di cluster, come nel caso del K-means.
- Clustering Sovrapposto : I cluster possono sovrapporsi, permettendo agli oggetti di appartenere a più di un cluster.
- Clustering Prototype-Based : Utilizza prototipi o centri di cluster (come nel K-means ), utile quando si desidera spiegare il risultato. Quando Usare Algoritmi Non Prototype-Based In alcuni casi, potrebbe essere preferibile un algoritmo non prototype-based , che non si basa su prototipi o centroidi, ma cerca una classificazione più precisa. Un esempio è quando si desidera segmentare un gruppo di clienti per oYrire loro prodotti basati su caratteristiche specifiche, dove l'accuratezza della segmentazione è cruciale. Valutazione del Clustering Poiché il clustering non ha un "gold standard" per la verità, è fondamentale utilizzare delle metriche per valutare l'eYicacia della segmentazione. Due delle principali metriche di valutazione sono:
- Omogeneità Intragruppo : In un cluster, gli oggetti devono essere il più possibile simili tra loro. La distanza tra gli oggetti all'interno di un cluster dovrebbe essere minima.
- Separazione Intergruppo : I cluster dovrebbero essere ben separati, cioè la distanza tra i centroidi di due cluster diversi dovrebbe essere il più grande possibile. Il K-means , un algoritmo di clustering partitivo, si concentra principalmente sull' omogeneità intragruppo , cercando di minimizzare la SSE (sum of squared error) all'interno dei cluster. Tuttavia, questo algoritmo non prende in considerazione la separazione tra i cluster, il che può essere un problema. È importante monitorare anche la distanza inter-cluster per evitare soluzioni che portino a cluster che si sovrappongono troppo o che non rappresentano correttamente i dati.
Performance di Classificazione
- L’obiettivo è minimizzare l’errore, ma non è sempre possibile annullarlo del tutto a causa di concetti borderline. Esempi: o Penne e matite: Dove collocare una portamina? o Auto e moto: Come classificare un quad? Accuratezza: è data dalla somma dei casi correttamente classificati divisa per il numero totale di oggetti. RISCHI NELLA CLASSIFICAZIONE: Classi sbilanciate Un aspetto importante in classificazione è la gestione delle classi sbilanciate , in cui una classe ha molti più campioni rispetto a un'altra. Questo sbilanciamento può portare il modello a favorire la classe maggioritaria, ignorando quella minoritaria. La matrice di confusione aiuta a capire se un modello sta favorendo una classe rispetto all’altra, evidenziando eventuali problemi. Overfitting Un altro rischio nel processo di classificazione è l’ overfitting , ovvero quando il modello si adatta troppo ai dati di addestramento e perde la capacità di generalizzare su nuovi dati. Questo si verifica quando il confine di separazione tra le classi è troppo rigido, portando a una buona performance sui dati di addestramento ma a scarse performance su dati mai visti. Classificazione vs clustering La classificazione si concentra sulla creazione di un modello in grado di prevedere l'etichetta di nuovi oggetti, minimizzando gli errori, mentre il clustering cerca di raggruppare oggetti simili senza etichette predefinite, con obiettivi più esplorativi. Entrambi sono strumenti cruciali per l’analisi dei dati, ma richiedono approcci diversi e valutazioni adeguate.
Regressione ( à MODELLO PREDITTIVO)
La regressione è una tecnica di machine learning utilizzata per prevedere il valore numerico di una variabile target (dipendente) in base ai valori di una o più variabili indipendenti. È particolarmente utile per analizzare le tendenze e fare previsioni future. Di.erenze tra Classificazione e Regressione Sebbene classificazione e regressione siano due task distinti, sono anche molto simili. Infatti, gli algoritmi utilizzati per la classificazione possono essere adattati per risolvere problemi di regressione. La principale diYerenza risiede nel tipo di output:
- Classificazione : Prevede un output categorico, valori discreti (classi) (ad esempio, appartenenza a una classe). Es. Un cliente è "aYidabile" o "inaYidabile."
- Regressione : Prevede un output continuo (ad esempio, una quantità numerica come il prezzo di una casa, la temperatura futura, etc.). Es. Prevedere l'andamento delle vendite o il valore percentuale di grasso corporeo. Errore di Regressione Nel contesto della regressione, l'obiettivo è quello di trovare una curva (o funzione) che meglio descriva l'andamento dei dati. Per fare ciò, l'algoritmo cerca di minimizzare l'errore tra i valori reali e i valori stimati dalla curva. Poiché il risultato di regressione è un valore
continuo, l'errore non può essere misurato con una matrice di confusione (che è tipica della classificazione, dove si hanno classi finite). Metrica: Mean Squared Error (MSE) Il principale modo per misurare l'errore in un modello di regressione è il Mean Squared Error (MSE) , che rappresenta l'errore medio tra il valore reale e il valore predetto. Viene calcolato come: In altre parole, il MSE misura la distanza media al quadrato tra i valori osservati e quelli predetti. L'ideale sarebbe avere un MSE basso , che indica che la curva di regressione descrive bene l'andamento dei dati. Varianti dell'MSE Esistono delle varianti dell'MSE che cercano di gestire la variabilità del dato, come l' MSE relativo , che può essere utilizzato quando i valori di errore possono variare in base alla scala o al contesto del problema. Il Mean Squared Error (MSE) relativo è una metrica che confronta l'errore medio quadratico di un modello con la varianza dei dati. Si calcola dividendo l'MSE per la varianza dei dati reali. Questo permette di capire quanto l'errore del modello sia grande rispetto alla naturale variabilità dei dati. Un valore più basso indica un modello più preciso rispetto alla varianza dei dati. Interpretazione dell'Errore Quando si parla di errore 100 e errore 1000 , non è sempre facile dire quale sia "migliore", poiché dipende dal contesto. Se il range dei valori è molto grande (ad esempio, i valori vanno da 0 a 100.000), un errore di 1000 potrebbe essere accettabile, mentre se i valori sono compresi tra 0 e 10, un errore di 1000 sarebbe inaccettabile. Nel caso di MSE relativo , si cerca di normalizzare l'errore rispetto ai valori osservati, così da avere una metrica più consistente anche se i valori di output sono su scale diverse. Obiettivo della Regressione Minimizzare l’MSE, ottenendo un modello capace di stimare accuratamente la variabile target con il minor errore possibile. Tuttavia, l'MSE deve essere valutato anche in relazione al contesto del problema, poiché non sempre un errore numericamente elevato indica una performance scarsa (es. in unità di misura molto grandi).
Anomaly Detection: Rilevamento di Anomalie ( à^ MODELLO PREDITTIVO)
Un altro importante task predittivo è l’ Anomaly Detection (rilevamento delle anomalie), che ha l’obiettivo di identificare elementi anomali all'interno di un dataset. Le anomalie, o outliers , sono quei dati che si discostano significativamente dalla norma e che potrebbero rappresentare eventi rari o imprevisti. Questi outliers possono essere:
- Rumore : Dati errati o fuori luogo, che non rappresentano alcuna informazione utile.
- Situazioni straordinarie : Eventi significativi, come una frodi , che meritano attenzione poiché potrebbero indicare un fenomeno anomalo o problematico.
- One-Class SVM : Una variante del Support Vector Machine (SVM) utilizzata per identificare outliers in un dataset non etichettato, separando i dati normali da quelli anomali in uno spazio ad alta dimensione.
- K-Means con Rilevamento delle Anomalie : Alcuni algoritmi di clustering come K- Means possono essere adattati per rilevare le anomalie, identificando i punti che sono lontani dai centri dei cluster. Applicazioni dell'Anomaly Detection
- Frode finanziaria : Identificazione di transazioni sospette che potrebbero essere fraudolente.
- Monitoraggio della salute : Rilevamento di dati fuori norma da dispositivi medici (es. battito cardiaco anomalo). Sfide
- Rumore nei dati: DiYicile distinguere tra anomalie reali e valori errati.
- Varietà delle anomalie: Una definizione universale di "anomalia" è impossibile.
- Alta dimensionalità: Più attributi possono complicare l’identificazione delle anomalie.
- Dati sbilanciati: Le anomalie sono generalmente rare rispetto ai dati normali.
PREPOCESSING dei dati
Dataset e tipi di dati
Un dataset è una collezione di oggetti (anche detti istanze, record o punti) rappresentati tramite attributi (dimensioni, caratteristiche o variabili) che descrivono proprietà degli oggetti. Gli attributi sono organizzati in colonne in una tabella, mentre ogni oggetto è rappresentato in una riga. Tipi di attributi e loro proprietà
1. Tipologie di attributi: - Nominali (categorici): non c'è un ordine tra i valori. o Esempi: ID, colore occhi, sesso. o Operazioni: uguaglianza/distinzione (=, ≠). - Ordinali: i valori hanno un ordine intrinseco. o Esempi: taglia magliette (S, M, L), classifiche. o Operazioni: uguaglianza, ordine (<, >). - Intervallo: diYerenze tra valori sono significative, ma non i rapporti. o Esempi: date, temperature in Celsius o Fahrenheit. o Operazioni: uguaglianza, ordine, diYerenze (+, −). - Rapporto: diYerenze e rapporti tra valori sono significativi. o Esempi: temperatura in Kelvin, lunghezza, età. o Operazioni: uguaglianza, ordine, diYerenze, rapporti (+, −, *, /). 2. Caratteristiche aggiuntive degli attributi: - Discreti: valori finiti o numerabili. o Esempi: codice postale, numero di oggetti. - Continui: valori reali entro un intervallo. o Esempi: altezza, peso. - Simmetrici: tutti i valori hanno uguale importanza.
o Esempi: sesso.
- Asimmetrici: alcuni valori hanno maggiore rilevanza. o Esempi: 1 = presente, 0 = assente (es. item acquistati). Caratteristiche dei dati
- Dimensionalità: numero di attributi. o Problema della "maledizione della dimensionalità": aumentare il numero di attributi richiede un numero esponenziale di osservazioni per modelli eYicaci.
- Distribuzione: o Sparsità: molte celle vuote riducono l'eYicienza e l'utilità del dataset. o Class imbalance: distribuzione non equilibrata tra classi (es. solo il 5% dei dati rappresenta un comportamento anomalo).
- Risoluzione: dettaglio o granularità dei dati. o Esempio: previsioni del tempo ogni secondo possono contenere troppo rumore.
- Dimensione (size): quantità di righe (oggetti) nel dataset. **Tipologie di dataset
- Dati a record:**
- Matrice dati: ogni riga è un oggetto, ogni colonna un attributo. o Esempio: - Dati documentali: rappresentano testi come vettori di termini.
- Esempio: numero di occorrenze di parole in un documento. - Dati di transazione: ogni riga rappresenta una transazione.
- Esempio: 2. Dati a grafo:
- Strutture complesse con nodi e archi. o Esempi: reti sociali, strutture molecolari. 3. Dati ordinati:
- Sequenze temporali: es. temperatura media giornaliera.
- Sequenze genomiche: es. sequenze di DNA.
- Dati spazio-temporali: includono coordinate geografiche e temporali. Capire le proprietà e il tipo di dati è fondamentale per scegliere l'algoritmo e la struttura adeguata per l'analisi. Ad esempio:
- Dataset nominale o categorico: usa algoritmi per clustering o regressione logistica.
- Dati temporali: richiedono approcci specifici come serie temporali o modelli ARIMA.
- Dati sparsi: potrebbero necessitare di tecniche di compressione o imputazione per gestire le informazioni mancanti.
§ Implementare controlli di coerenza (es. verifiche incrociate con altre fonti).
3. Caratteristiche aggiuntive da considerare nella qualità dei dati Distribuzione - Dati sbilanciati o sparsi sono un problema nelle analisi: o Sparsità : Quando molte celle sono vuote o contengono valori inutili. o Class imbalance : Una classe è rappresentata in modo sproporzionato rispetto alle altre. § Soluzione : § Bilanciare le classi (oversampling/undersampling). § Usare metriche di valutazione robuste (es. F1-score à considera sia PRECISION che RECAL dando una valutazione più equilibrata delle prestazioni del modello). Risoluzione - Troppi dettagli possono creare "rumore", mentre pochi dettagli possono limitare l'analisi. o Soluzione : Scegliere il livello di granularità appropriato per il contesto analitico. Dimensioni del dataset - Dataset molto grandi possono introdurre sfide computazionali. o Soluzione : § Campionamento o riduzione dimensionale (es. PCA). § Utilizzare strumenti ottimizzati per big data. Il preprocessing richiede attenzione per garantire che i dati siano: - Completi: Assenza di valori mancanti significativi. - Coerenti: Assenza di contraddizioni o duplicati. - AYidabili: Provenienti da fonti verificate. - Utili: Rappresentativi del fenomeno analizzato. Solo con un'accurata preparazione dei dati è possibile estrarre conoscenza valida e sfruttabile. GESTIRE PROBLEMI nei DATI Rumore Perché si verifica il rumore? Il rumore è una componente inevitabile nei dataset reali e rappresenta una distorsione o alterazione dei dati originari. Può derivare da: 1. Sensori difettosi o imprecisi : Problemi nella ricezione o registrazione del dato (es. un sensore ambientale che registra temperature erratiche). 2. Errore umano : Durante l'inserimento manuale di dati o nella digitalizzazione. 3. Disturbi di trasmissione : Nei sistemi che trasferiscono dati da un punto all'altro. 4. Artefatti tecnici : Errori introdotti da sistemi di acquisizione o trasformazione dei dati. Esempi comuni: - Rumore sugli oggetti : Elementi estranei che non appartengono al fenomeno osservato. o Es. un errore nel conteggio di clienti in un negozio fisico. - Rumore sugli attributi : Alterazione dei valori originali.
E.etti del rumore Il rumore può compromettere l'accuratezza e l'aYidabilità dei modelli analitici e predittivi:
- Riduzione della qualità del modello : Ad esempio, un algoritmo di classificazione può sbagliare a causa di dati rumorosi.
- Complicazioni nell'individuazione di pattern significativi.
- Confusione con outlier : Gli outlier possono sembrare rumore, ma rappresentano spesso un'eccezione reale (ad esempio, un cliente che eYettua un acquisto atipico ma legittimo). Come gestire il rumore
- Identificazione del rumore : o Conoscere la natura dei dati aiuta a distinguere tra rumore e valore legittimo. o Esplorare i dati con tecniche grafiche (scatter plot, box plot) per individuare anomalie.
- Filtraggio del rumore : o Algoritmi come DBSCAN : § Utilizzato per il clustering, identifica oggetti rumorosi come punti che non appartengono a nessun cluster significativo. Questi oggetti possono essere eliminati. o Filtri statistici : § Escludere dati che si trovano oltre un certo numero di deviazioni standard dalla media.
- Di.erenziare il rumore dagli outlier : o Rumore : Può essere eliminato in quanto privo di valore informativo. o Outlier : Va valutato; se rappresenta un'informazione significativa (ad esempio, un comportamento raro ma reale), non deve essere rimosso. Valori Mancanti Perché i valori mancano?
- Dati non raccolti : L'informazione potrebbe non essere stata registrata.
- Non applicabilità : Alcuni attributi potrebbero non avere senso per certi oggetti. o Esempio: Numero di gravidanze per un paziente maschio → NULL.
- Errori di sistema : Problemi tecnici durante la registrazione dei dati. La semantica del NULL Il valore NULL in un database indica assenza di informazione. È importante distinguere tra:
- Dati non applicabili : L'informazione non ha senso per l'entità specifica.
- Dati non disponibili : L'informazione è teoricamente applicabile, ma non è stata raccolta. Come gestire i valori mancanti
- Eliminazione dei record : o Applicabile quando i NULL sono pochi (2-5% delle righe). o Se i valori mancanti sono casuali e non concentrati su un attributo critico.
- Imputazione dei valori : o Quando i NULL sono sparsi e significativi, è necessario stimare i valori mancanti. o Tecniche: § Sostituzione con media o mediana (per dati numerici).
§ Nomi identici per oggetti diversi (es. due "Mario Rossi" con date di nascita diverse). § Questo problema è più complesso e spesso richiede informazioni aggiuntive o un intervento manuale.
- Riconciliazione dei record : o Consolidamento : § Combina i duplicati in un unico record, aggregando o scegliendo i dati più aYidabili. § Es. per un cliente con più ordini, si può creare un singolo record con una lista di ordini associati. o Eliminazione : § Quando i duplicati non portano valore aggiunto (es. stessi dati identici ripetuti più volte).
- Tecniche avanzate : o Clustering basato su similarità : § Algoritmi come k-means o DBSCAN per raggruppare record simili. o Strumenti specifici : § Librerie come dedupe in Python o tool di data cleaning per identificare duplicati.
- Prevenzione a monte : o Vincoli nei database : § Vincoli di unicità su attributi critici (es. codice fiscale o numero di documento). o Procedure di validazione : § Sistemi che avvisano l'utente quando un record simile è già presente nel database. Considerazioni operative La gestione dei duplicati è fondamentale per evitare analisi errate e ineYicienze. Tuttavia, è essenziale bilanciare:
- Precisione : Non eliminare record rilevanti.
- E.icienza : Minimizzare il tempo e le risorse necessarie per il processo di de- duplicazione. Esempio Pratico: Pronto Soccorso
- Problema : Ogni accesso di un paziente viene registrato come nuovo record, creando duplicati.
- Soluzione : o Creazione di un ID univoco per il paziente : Associare ogni visita al paziente tramite un identificativo persistente (es. codice fiscale). o Unificazione dei record : Collegare i record passati dello stesso paziente usando un algoritmo di record linkage. o Standardizzazione del processo : Assicurarsi che l'inserimento dei dati segua regole rigorose per ridurre errori. Il rischio dei dati inseriti male: il problema dell'indistinzione
Un rischio impossibile da eliminare completamente nei dati è quello dell'indistinzione tra oggetti diversi che condividono le stesse caratteristiche. Questo problema è particolarmente critico in contesti in cui:
- I dati sono raccolti in modo errato (es. errori manuali o automatizzati nella fase di input).
- Le caratteristiche distintive sono insu.icienti (es. due persone con lo stesso nome, cognome e residenza). Esempio:
- Omonimia : Due persone chiamate "Mario Rossi" vivono nella stessa città e hanno la stessa data di nascita. In questo caso, è impossibile distinguerle senza ulteriori attributi (es. codice fiscale o numero di telefono). Impatto del rischio
- Compromissione dell’analisi : o Si rischia di unire erroneamente due entità diverse o di duplicare una stessa entità, distorcendo i risultati.
- Errori nei modelli predittivi : o Modelli di machine learning possono imparare pattern sbagliati a causa della confusione tra oggetti.
- Perdita di fiducia nei dati : o Se non si può garantire l’unicità e l’aYidabilità dei record, l’utilizzo dei dati diventa rischioso. Come a.rontare il problema?
- Segnalazione del problema : o Se si rileva che i dati sono "sporchi" e nessuno ha mai cercato di allineare le informazioni, è fondamentale segnalarlo agli stakeholder, evidenziando i rischi associati.
- Educazione e sensibilizzazione : o Meticolosità nella registrazione : Chi registra i dati deve seguire linee guida chiare e precise per evitare errori. o Formazione del personale : Investire nella formazione per far comprendere l'importanza di dati di qualità e le conseguenze degli errori.
- Standardizzazione dei dati : o Implementare regole e procedure per garantire che i dati siano inseriti in modo uniforme (es. formati univoci per nomi, date, indirizzi).
- Attributi aggiuntivi : o Inserire chiavi univoche : Collegare i dati tramite un identificatore unico (es. codice fiscale, numero ID). o Raccolta di attributi distintivi : Oltre alle informazioni principali, raccogliere ulteriori dettagli utili a distinguere le entità.
- Automazione e controlli : o Validazione automatica : Utilizzare sistemi che rilevino errori in tempo reale durante l’inserimento (es. controllo duplicati). o Revisione periodica : EYettuare controlli regolari per individuare e correggere errori nei dati esistenti. Quando il rischio è inevitabile