Blog.

Overplotting: cos’è e come porvi rimedio | Towards Data Science


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
Data Science, Guide

overplotting_no_sense_guida_towards_data_science

L’Overplotting è il fenomeno in cui i data points o i labels si sovrappongono durante la loro visualizzazione in un grafico, generando confusione che potrebbe portare ad errori di interpretazione.

Imparare a distinguere e gestire questo fenomeno è cruciale per ogni Data Scientis.

Overplotting: cause

Parlando di data points, le due grandi cause di overplotting sono:

  • eccessivo numero di data point visualizzati contemporanemente sullo stesso grafico
  • variazione bassa di una delle variabili visualizzate (ergo, il numero di valori unici è limitato)

Troppi data points con valori simili

Grafico a dispersione con relazione tra carati (< 3) e prezzo diamanti

Il grafico, che fa riferimento al dataset diamonds della libreria ggplot2 di R, mostra il fenomeno di Overplotting che risulta particolarmente evidente quando il valore ‘Carat’ è inferiore a circa 1.2.

Ci sono troppi valori simili.

Ora ti chiedo: “Quanti diamanti hanno un valore ‘Carat’ inferiore a 1?”

Rispondere, anche in modo approsimativo, è impossibile.

Il problema è che non riusciamo a visualizzare il numero di diamanti con quei valori. Potrebbero anche essere milioni, sovrapposti l’uno sull’altro.

E’ un’evenienza che non possiamo trascurare.

Variazione eccessivamente ridotta

Il grafico a dispersione mostra la ridotta variazione della variabile ‘Income’

Il grafico a dispersione mette in relazione l’età in funzione del salario di alcuni campioni di un dataset.

Il problema è analogo a quello precedente.

Non possiamo stabilire quante persone di età pari a 60 anni guadagnino 50.000$. Potrebbe essere una o 150 milioni.

Il fenomeno dell’Overplotting è distinguibile dal fatto che i dati visualizzati sono organizzati in righe e colonne nette.

In questo caso la causa potrebbe essere legata al modo in cui i dati sono stati raccolti: è stato ridotto in modo eccessivo la variazione della variabile ‘Income’.

Ad esempio, l’età di persone comprese tra i 61 e i 70 anni è potrebbe essere stata fissata a 75.

Soluzioni all’Overplotting

Vediamo insieme alcune soluzioni.

Dimensioni

Soluzione al fenomeno di Overplotting

Il grafico è simile al precedente. L’unica differenza è la dimensione dei punti rappresentanti i data points.

Ti faccio notare che, sebbene la situazione sia leggermente migliorata, l’overplotting è ancora presente: limitarsi a modifcare l’estetica del grafio , cambiando la dimensione dei data points, non è una soluzione definitiva.

Trasparenza

Modifcare la trasparenza dei punti rappresentanti i data points è una strategia efficace, poiché è visivamente immediato verificarne l’esito: le regioni più dense, quindi scure, sono causate da sovrapposizioni multiple.

Resta comunque difficile cogliere la grandezza dell’overplotting.

Jittering

Risolvere l’overplotting creando ‘rumore‘ nel dataset.

Aggiungere dei numeri generati casualmente ai valori di un dataset è utile quando la variazione è bassa.

Potrebbe sembrare controintuitivo manipoalre in questo modo i dati, che di fatto sono falsati.; su piccola scala il grafico è meno accurato, ma in grande scala la rilevanza aumenta.

Tiles | Best Solution for small variation

La migliore soluzione, a mio avviso, per gestire il fenomeno di Overplotting quando la variazione è bassa è quella di creare dei grafici in cui l’area dei punti rappresentanti i dati è proporzionale al loro numero.

Fonte

Spero di averti aiutato almeno un po’!

Io e te ci vediamo alla prossima!

Un caldo abbraccio, Andrea.

Taggeddata sciencedata scientistmachine learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum