useR! conference 2013: le nostre impressioni

gianluca | Jul 25, 2013 | #r #bigdata #conference | no comments

Universidad de Castilla-La Mancha, Albacete

Si è recentemente conclusa la IX edizione dello R User Conference, meeting annuale di utenti, sviluppatori e semplici affezionati di R, software libero con licenza GNU GPL nato per l'analisi statistica nel 1999, su ispirazione del software commerciale S di AT&T. La conference, della durata di 3 giorni, si è tenuta presso l'Università di Castilla-La Mancha ad Albacete, Spagna, ed ha visto partecipare oltre 350 persone da tutto il mondo: non potevamo mancare all'appuntamento. Erano presenti diverse sponsorizzazioni eccellenti, quali quelle di Google, Oracle, Revolution Analytics, Open Analytics, RStudio, Springer, Wiley e CRC Press.

La crescente popolarità di R lo ha trasformato da un software di analisi statistica ad uso e consumo dell'ambiente accademico in una piattaforma modulare altamente versatile, adatto alla soluzione di problemi diversi che trovano nell'analisi statistica il filo conduttore. La sua diffusione ha ha fatto sì che numerosi contributors si dedicassero all'ottimizzazione delle librerie già esistenti ed allo sviluppo di nuove. Nonostante la diffusione a livello mondiale di R, il contributo della community rimane vitale per aggirare le limitazioni a cui rimane legato e ideare nuove soluzioni per far fronte alle esigenze che la modernità impone a chi si occupa di analisi e trattamento del dato. La nuova sfida riguarderà l'analisi di grandi quantità di dati - big data - e le modalità di presentazione delle analisi - integrazione tra R e web.

La prima giornata del meeting è stata dedicata ai tutorials tematici, dove gli esperti del settore hanno "addestrato" sul campo i partecipanti. I temi affrontati hanno come denominatore comune l'utilizzo di R e spaziano in diversi ambiti: tecniche di modellazione e classificazione statistica, parametrica e non (classification trees, propensity score matching, Bayesian computing, Bayesian networks), data visualization (webgraphics con R e googleVis, data visualization con ggplot2, spatial data, maps), big data, sviluppo (Rcpp per l'interazione R/C++, applicazioni web con R e Shiny).

Il programma dei giorni seguenti prevedeva 5 invited talks della durata di un'ora, in cui figure di riferimento della community degli useR hanno utilizzato il tempo a loro disposizione per introdurre scenari innovativi, legati a temi cardine dell'analisi statistica dei dati. Oltre a queste, abbiamo assistito a numerose contributed talks della durata di 15 minuti circa e a lightning talks di 5 minuti ciascuna, che ho trovato piuttosto interessanti dal punto di vista dell'efficacia espositiva, visto che hanno il pregio di mantenere la soglia di attenzione piuttosto alta.

L'affollato tapas break...

Di tutte queste esposizioni ne abbiamo raccolte alcune, a nostro parere le più interessanti, che non si focalizzano su temi specifici dell'analisi statistica, ma danno una visione d'insieme e consigliano cosa deve contenere la cassetta degli attrezzi di un data scientist (la definizione non ci convince ma per una review ragionata su questa nuova figura suggeriamo di leggere Stephen Few) moderno ed attento alla rapida evoluzione di strumenti e metodologie che accompagnano il lavoro dell'analista/statistico.

Big data:

Hadley Wickham (RStudio), "Bigger data analysis"

Di particolare interesse per i sottoscritti, Wickham suggerisce approcci alternativi per far fronte alla transizione dai data (<10^6 record, <10Gb) ai _big data_ (in R parliamo di 10^6-10^9 record, >10Gb) nell'analisi statistica con R. L'esplosione nella dimensione dei dati da analizzare richiede ovviamente una maggior capacità di storage e di calcolo, ma può non essere sufficiente: sarà necessario rivedere le modalità di esplorazione e di analisi dei dati, con strategie di tipo split, apply, combine per ridurre il volume di dati da analizzare. Le differenze tra "data" e "bigdata" riguardano innanzitutto le modalità di storage: non si parlerà più dei classici DBMS relazionali, MySQL, PostgreSQL e SQLite, ma sempre più frequentemente di database column-store come MonetDB, di gestione documentale come MongoDB o ancora di Google bigquery. L'analisi esplorativa (grafica) ha come collo di bottiglia il numero di pixel a disposizione per disegnare il grafico: questo limite rende impossibile rappresentare graficamente dataset contenenti milioni di punti. E' per questo motivo che si rende necessaria una fase preliminare atta a ridurre il volume di dati da rappresentare ed analizzare: a questo scopo, una libreria R utile ad affrontare il problema è dplyr.

David Smith (Revolution Analytics), "Real-time, Big-Data R? Yes you can!"

Condivide con il precedente le modalità di "sviluppo ciclico" che permettono la riduzione del carico computazionale nell'analisi di grandi quantità di dati (sampling/aggregation, variable transformation, model estimation, model refinement, comparison/benchmarking).

Jan Wijffels e Edwin de Jonge (Belgium Network of Open Source Analytical Consultants), "ffbase: statistical functions for large datasets"

Proprietà e vantaggi della libreria ffbase rispetto alla versione base ff. Entrambe permettono di memorizzare i dati in un formato compresso, ma la seconda versione aggiunge funzionalità per l'analisi statistica: classificazione/regressione, least angle regression, random forest classification, clustering.

Tobias Verbeke (OpenAnalytics), "The R Service Bus, new and noteworthy"

Architettura che permette di integrare R all'interno di un'infrastruttura preesistente: inviando un'email con allegato un dataset, si ottiene come risposta un'analisi R-based, integrabile in web application e strumenti tecnici dedicati. L'architettura è scalabile e permette l'utilizzo di numerosi protocolli di comunicazione: SOAP, REST, protocolli di email, ftp e sftp, ecc.

Joseph Rickert (Revolution Analytics), "Statistics and big data: beyond the hype"

R dispone di una serie di strumenti che ci mettono in grado di accettare la sfida dei big data, ma fino a che punto ci possiamo spingere? L'aumento delle dimensioni dei dataset da analizzare fa sì che le analisi statistiche vengano condotte non più in una realtà "seriale", dove il dataset di partenza viene analizzato pezzo per pezzo, ma secondo un'accezione "parallela". In questo contesto acquisiscono sempre più importanza tecnologie come map/reduce e parallel computing, che costringono però gli sviluppatori a ripensare gli algoritmi di base utilizzati finora su dataset di dimensioni "compatibili" con le memorie dei calcolatori (<= 10^6 record). L'autore cita alcuni strumenti riconducibili al contesto "big data" (il primo) e parallel computing (gli ultimi due): biglm, rivisitazione del classico modello lineare lm ma creato per analizzare dataset non interamente caricabili in memoria, Rhadoop, libreria che interfaccia R ed Hadoop e RevoScaleR, libreria che rende R "scalabile" su diversi core.

Interazione tra R e web:

Joe Cheng (RStudio), "Shiny: easy web applications in R"

La presentazione di Shiny da parte dello staff di RStudio è stata la più attesa e, a giudicare dal volume degli applausi, la più gradita dal pubblico di useR! 2013. Questo strumento, conosciuto già da qualche tempo agli addetti ai lavori, permette di fruire dei risultati delle analisi statistiche a prescindere dalla conoscenza dello strumento di lavoro, garantendo un'interattività ed una semplicità di utilizzo che spesso facilita la comprensione di output spesso "troppo tecnici" o "troppo poco sintetici" per essere apprezzati da un profano. Alcuni esempi interattivi che dimostrano l'immediatezza di Shiny si possono trovare qui: Stocks, Rotating snakes, Height and weight.

La conference nel complesso si è rivelata un'esperienza molto coinvolgente e ricca di spunti, mezzo ideale per spingerci alla conoscenza di nuove metodologie e all'approfondimento di quelle già dominate.

La nostra intenzione è quella di portare in gita tabd alla prossima conference, il maggiore indiziato è Pydata.


Categorie

conference (1)
realtime (1)
api (1)
twitter (1)
bigdata (1)
r (1)
tabd (1)


Related post