Open Data & Data Visualization

Dalle licenze ai grafici: riusare, pulire, esplorare e visualizzare i dati


Alessio Cimarelli
@jenkin27

Andrea Nelson Mauro
@nelsonmau

www.dataninja.it

Agenda Digitale - Comune di Bologna 
Bologna, 16 e 17 giugno 2014

Indice

1° giornata > Riusare, Pulire ed esplorare i dati (16 giugno 2014)

  • Chi siamo: Dataninja, Datamediahub, Dataninja School

  • I dati e il contesto
  • Le licenze
    • Aggiornamenti sulle Linee guida AGID
  • I formati dei dati
    • dati strutturati e non strutturati
    • fare scraping per creare dati strutturati
  • Usare le tabelle con i fogli di calcolo
    • Pulire i dati: le regole principali
    • Tecniche avanzate: l'uso di OpenRefine
    • Analisi: ordinare, filtrare e raggruppare i dati
    • Aggregare dati da tabelle diverse: CercaVert e altre funzioni utili

Indice

2° giornata > Visualizzare i dati (17 giugno 2014)

  • Introduzione alla Data Visualization
    • risorse, strumenti, principali riferimenti
    • La visualizzazione come strumenti di analisi dei dati
  • Grafici di base con Datawrapper: come scegliere
  • Grafici avanzati con RAW: visualizzare connessioni e gerarchie
  • Mappe con CartoDB: punti, bolle, choropleth, timemap
  • Reti con GEPHI: elementi di social network analysis 
  • Visualizzazione Advanced con D3js: un'overview generale

1. Dataninja.it

Il sito di Dataninja con i nostri progetti principali

Datamediahub.it

È un osservatorio sui media, sul giornalismo e la comunicazione

school.dataninja.it

Informazioni, slides, esperimenti, tutorial e tool per i data journalist

bit.ly/comunedibologna



2.Qual è il contesto?

Il contesto: le informazioni sul web


From the dawn of civilization until 2003, humankind generated five exabytes of data. Now we produce five exabytes every two days… and the pace is accelerating!


Eric Schmidt , Google’s executive chairman


Le data skills possono servire 

a muoversi tra questi dati




  • Per cercarli, trovarli, riusarli e dare loro contesto

  • Per analizzarli e verificare se possono essere utili

  • Per costruire informazioni maggiormente accurate e basate su elementi statistici

3.

Ma i dati possono essere riusati?


È una questione
di licenze!

Cosa sono i dati?

Cominciamo da una definizione



Singoli pezzi di informazione di ogni natura, descrizioni di fatti riproducibili senza ambiguità, parti di informazioni strutturate che possono essere archiviate in formato digitale

Maurizio Napolitano, Technologist presso Fondazione Bruno Kessler (Trento)

Cosa sono i dati aperti?

Cominciamo da una definizione



Un dato è aperto se chiunque è libero di usarlo, riutilizzarlo, ridistribuirlo, ed è soggetto tutt’al più all’obbligo di citazione o condivisione allo stesso modo

Open Definition: http://opendefinition.org/od



L'universo licenze: la PA e dati.gov.it

Creative Commons

creative_commons_licenses.jpg 

  • Attribuzione [Commons Deed] [Legal Code]
  • Attribuzione - Non opere derivate [Commons Deed] [Legal Code]
  • Attribuzione - Non commerciale - Non opere derivate 3.0 [Commons Deed] [Legal Code]
  • Attribuzione - Non commerciale [Commons Deed] [Legal Code]
  • Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 [Commons Deed] [Legal Code]
  • Attribuzione - Condividi allo stesso modo 3.0 [Commons Deed] [Legal Code]

    Fonte: http://creativecommons.org/licenses/

Quando i dati sono Open?



http://opendefinition.org/

Open Data o no? Alcuni spunti


Se voglio pubblicare dei dati in "Open Data" devo:
  • Accertarmi di avere la titolarità dei dati (chi li ha prodotti? Il classico esempio dei dati del turismo, generalmente raccolti e diffusi dalle Camere di Commercio)
  • Accertarmi di non ledere diritti altrui o violare il segreto statistico
  • Affidare a una struttura legale le verifiche necessarie e preliminari alla pubblicazione.

E inoltre devo tenere a mente che:
  • Non posso concedere una licenza che rilasci più diritti di quanti non ne abbiano i dati di provenienza
  • Devo sempre tenere in considerazione la possibilità di rimuovere dei dati (o modificarne la licenza) se emerge che la titolarità non è mia.

AGID: le "nuove" linee guida


Le licenze utilizzabili per il rilascio dei dati secondo AGID
http://www.agid.gov.it/sites/default/files/linee_guida/patrimoniopubblicolg2014_v0.6.pdf


Codice dell'Amministrazione Digitale

principio dell'Open Data by default

"...laddove l'Amministrazione 
pubblicante non assoggetti motivatamente dati e documenti ad una licenza di cui all'articolo 8 
del D. Lgs. 36/2006, essi s'intendono licenziati alle condizioni previste dall'articolo 68, 
comma 3, ossia in formato open data..."
Francesco Minazzi, giurista, esperto di diritto digitale | http://goo.gl/zmjbY7



4.Pulire i dati

I formati: dati strutturati


Formati dei dati digitali già utilizzabili, solo da pulire e controllare

  • csv, fogli di calcolo (xls, xlsx, ods), database, end-point interrogabili
  • Si possono analizzare con Ms Excel e Libre Office Calc, mysql (...)
  • È buona norma pubblicarli con i metadati

datistrutturati.png

I formati: dati non strutturati




Sono dati non strutturati se non è possibile analizzarli tramite un'applicazione di foglio di calcolo

  • Pagine web in formato html

  • Documenti di testo

  • Documenti in formato pdf

  • Dati in formato img (pdf da immagini, screenshot di tabelle)

I dati strutturabili


L'arte dello scraping: semplice o complessa?

  • Tabula (dati da estrarre da pdf)

  • DataMiner (dati da estrarre da pagine html)

  • XPATH 

  • Scraper sviluppate ad hoc con Python / Javascript / Java


[ Esempio online ]

5.E adesso?

Usare le tabelle
con i fogli di calcolo

Una tabella (o spreadsheet)

Il nostro punto di partenza è una tabella di dati strutturati


http://dati.comune.bologna.it/node/340

I tipi di dati



Di fronte all’enorme varietà del mondo, 

il computer comprende pochi tipi di variabili:


  • numeri interi (con segno, incluso lo 0)

  • numeri decimali (con segno)

  • date e orari

  • stringhe di caratteri (case sensitive)

  • valore mancante (o NULL)

Pulizia dei dati: regole da rispettare

Verificare, individuare errori, correggere

Premesse sbagliate portano (quasi) sempre a conclusioni sbagliate, anche se il ragionamento è corretto.

Pure se affidabile, anche la fonte può sbagliare. Così come può barare, truccare, mentire, nascondere, omettere, ecc.

Da controllare sempre prima di tutto:
  • coerenza interna,
  • completezza,
  • verosimiglianza.

Non buttar via mai niente e tenere traccia di quello che si fa...

Pulizia dei dati: metodi e strumenti

Verificare, individuare errori, correggere

Strumenti dei fogli di calcolo (come Microsoft Excel, Libre Office Calc):
  • filtri e funzioni di ordinamento;
  • formattazione condizionale;
  • definizione esplicita dei tipi (stringa, numero, data, ...);
  • semplici grafici.

Si può fare con Microsoft Office o Libre Office Calc
Oppure con uno strumento ad hoc: Open Refine (openrefine.org).


[ Esempio on line ]

Una check list di controlli


  • Ogni colonna rappresenta e contiene uno e un solo tipo di dato. 

  • Ogni riga rappresenta e contiene uno e un solo oggetto

  • Non possono esistere righe perfettamente vuote o  identiche.

  • Controlla che la struttura dei dati sia corretta: ogni colonna deve contenere valori dello stesso tipo (date, luoghi)

  • Controlla che i dati si trovino in formato omogeneo (ad esempio la formattazione della data o i maiuscoli / minuscoli)

  • Controlla quale sistema di numerazione stai usando. Europeo o anglosassone? Controlla i separatori di migliaia e decimali

Una check list di controlli



  • Controlla che le intestazioni siano sempre nella prima riga

  • Le righe vuote non devono esistere. Le celle vuote possono invece indicare valori mancanti (tutte indicano sempre valori mancanti).

  • Attenzione a celle fintamente vuote: il carattere spazio c’è, anche se non si vede!

  • Controlla le somme se lavori su tabelle numeriche e le stai modificando

  • Suddividi le informazioni in più colonne possibile (per esempio se si hanno nomi completi, meglio dividerli in “nome” e “cognome”)


E adesso?

Analizzare

Ordinare i dati

Posso scegliere l'ordinamento alfabetico (A-Z o Z-A) o numerico (min-max o viceversa). In questo caso ordino dal più grande al più piccolo


Filtrare i dati


Inserisco un filtro selezionando la colonna "Quartiere".

Raggruppare i dati: tabelle pivot


Raggruppo i dati per quartiere calcolando il totale degli iscritti

Ottengo un elenco dei quartieri con relativi iscritti totali

Incrociare i dati: il join


Quando si hanno diverse tabelle che descrivono gli stessi elementi, spesso provenienti da fonti diverse, è possibile unirle e arricchire così il mio dataset scoprendo nuove relazione tra i dati.

Nei fogli di calcolo: cerca_vert(), cerca.vert()vlookup().

Analizzare i dati e ricercare notizie


Confronto - Dati sulla disoccupazione o sui costi dei servizi: quelli della tua città/regione sono più alti o più bassi rispetto ad altri territori?
Periodi lunghi - Le fonti ufficiali tendono a concentrarsi su dati del quarto trimestre. Il contesto e la prospettiva cambiano osservando dati che mostrano lo sviluppo di un fenomeno negli ultimi 5 o 10 anni. 
Pro capite - Un'istituzione annuncia milioni di euro di investimenti per le scuole. Fai qualche conto: quanti studenti potranno beneficiarne, su quale periodo di tempo? Ricalcolare il valore pro capite di programmi di investimento spesso può chiarire il reale significato.
Bilanci e modelli di raccolta - Prova ad eseguire semplici controlli di somme e totali. Verifica le modalità con le quali i dati sono stati raccolti e con quali ipotesi o modelli. Qual è il tasso di disoccupazione nel tuo paese? Controllalo e confrontalo con altri paesi o modelli alternativi.



Visualizzare

Perché visualizzare i dati?


Come non era mai successo nelle nostre vite, oggi abbiamo accesso a un’infinità di informazioni libere e gratuite. Con gli strumenti giusti possiamo cominciare a dare un senso a questi dati per vedere schemi e trend che altrimenti per noi sarebbero invisibili. Trasformando i numeri in forma grafica, permetteremo ai lettori di conoscere le storie che quei numeri nascondono.
Alberto Cairo, "The functional Art"

Visualizzare i dati / Tools


Visualizzare i dati significa decidere come connetterli alle proprietà che definiscono forme geometriche ed elementi grafici

Principali strumenti visualizzazione:

Ma on line ci sono tantissimi altri strumenti: l'importante è avere chiaro il proprio obiettivo e non avere paura di sperimentare!

Visualizzare i dati / Datawrapper.de


Con Datawrapper è possibile realizzare grafici interattivi in pochi minuti (grafici a barre, torte, istogrammi, grafici a linee, e qualche mappa)

Visualizzare i dati / CartoDB


CartoDB permette di creare mappe interattive in pochi istanti. L'importante è che la tua tabella abbia dei dati geografici.

Visualizzare i dati / RAW


RAW permette di gestire bene le relazioni tra i dati e la loro gerarchia. E' facile da usare provando gli esempi già presenti (esempio di quali ingredienti sono fatti i cocktail?).

Visualizzare i dati / Timeline


Costruire una cronistoria degli eventi può essere molto utile. Si può fare con Timeline.JS, ad esempio inserendo in una tabella vari articoli in successione temporale (guarda la timeline del terremoto in Emilia).

Visualizzare i dati / Network Analysis


Quali sono le relazioni tra i dati? E' possibile visualizzarle con GEPHI, un software di Networl Analysis (basato sui grafi). E' spesso usato per vedere le connessioni tra gli utenti su Twitter o le amicizie su Facebook.

Visualizzare i dati / Dietro le quinte

Spesso visualizzare i dati può aiutarci a "scoprire" delle notizie


Suggerimento:
Quanto è grande la differenza del tasso di disoccupazione tra due o più territori? Com'è cambiato un fenomeno nel tempo?

Visualizzare questi dati può aiutarci a comprendere in maniera più immediata un fenomeno e fare prendere al nostro lavoro giornalistico un'altra direzione: torniamo indietro, cerchiamo altri dati, li mettiamo a confronto. 

Il nostro catalogo dati.dataninja.it

Le best practices del Data Journalism prevedono che insieme alle inchieste vengano pubblicati i dati relativi, per permettere di verificare le visualizzazioni e i risultati. Noi abbiamo costruito dati.dataninja.it

Buon lavoro!


Andrea Nelson Mauro / "nelsonmau"
nelsonmau@dataninja.it
@nelsonmau

Dataninja
www.dataninja.it
http://school.dataninja.it

Newsletter
http://dataninja.it/newsletter

Datamediahub
http://datamediahub.it


Dataset

Risorse utili /1

Risorse utili /2