Il software per la statistica ufficiale: dai sistemi proprietari a quelli open source
, un Ambiente Statistico
Open Source:
Esperienze e Prospettive Istat
Marcello D’Orazio, Daniela Pagliuca,
Valeria Stancati
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
Cos’è R
R può essere considerato come una implementazione di S
S è una sorta di linguaggio sviluppato presso i BELL Laboratories
della AT&T (adesso Lucent Technologies) da John Chambers
et al., oltre 20 anni fa’
S nasce con l’obiettivo di sviluppare un ambiente/linguaggio
per l’analisi dei dati, per l’implementazione di modelli statistici,
per condurre simulazioni e produrre grafici
Il codice sorgente di R è disponibile come “Free Software”
il cui utilizzo è regolato dalla GNU General Public License
della Free Software Foundation
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
Breve storia di R
1991: Ross Ihaka e Robert Gentleman (“R & R”, Univ.
of Auckland) iniziano a lavorare al progetto che poi diventa R
1992: disegno e implementazione del pre-R
1993: primo annuncio di R
1995: R diviene disponibile attraverso FTP con licenza GPL
1996: Martin Maechler alla ETH avvia e mantiene
una mailing-list su R
1997: Viene fondato il gruppo “R core”
1999: DSC meeting in Vienna, primo incontro dei membri
dell’R Core
2000: R 1.0.0 viene rilasciato
2002: (16 Agosto): creazione di “ R Foundation
for Statistical Computing” con sede presso
la University of Technology di Vienna
… 2008: R 2.6.2 è l’ultima versione rilasciata (8 Febbraio 2008)
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R, un Ambiente Statistico Open Source:
Esperienze e Prospettive Istat
R è disponibile sia sotto forma di codici sorgenti
(essenzialmente in C) che in formato pre-compilato
da installare su:
 Linux;
 Windows (95 e successive versioni);
 MacOS
Sviluppo e distribuzione di R sono curati
da “R Development Core Team”
http://www.r-project.org/contributors.html
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R, un Ambiente Statistico Open Source:
Esperienze e Prospettive Istat
R è allo stesso tempo:
 un ambiente in cui sono integrate numerosissime tecniche
di analisi statistica e per la produzione di grafici complessi
 un “linguaggio di programmazione funzionale”
(functional programming language) in quanto basato
su delle funzioni che l’utente richiama di volta in volta
(ma può anche modificare)
In questo senso è un linguaggio di programmazione NON
procedurale ma object oriented
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R, un Ambiente Statistico Open Source:
Esperienze e Prospettive Istat
Tecnicamente R è strutturato in un sistema concentrico
Funzionalità base
Nucleo
(core)
Pacchetti
aggiuntivi
(packages)
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R, un Ambiente Statistico Open Source:
Esperienze e Prospettive Istat
Attualmente sono disponibili oltre 1.000 package aggiuntivi,
distribuiti attraverso una rete di siti internet chiamata CRAN
(Comprehensive R Archive Network)
http://CRAN.R-project.org/mirrors.html
 analisi dati ambientali/spaziali
 cluster analysis
 inferenza bayesiana
 modelli grafici
 econometria
 finanza matematica
 genetica
 machine learning
…
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R negli Istituti Nazionali di Statistica
Impressione iniziale di una carenza di funzioni per condurre
le operazioni tipiche di un processo di produzione di statistiche
in un Istituto Nazionale di Statistica. In particolare:
(i) funzioni per gestire e manipolare grandi moli di dati;
(iii) funzioni per progettazione ed elaborazioni tipiche
delle indagini complesse:




progettazione campioni;
controllo e correzione dei dati;
riponderazione pesi e calcolo stime;
…
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R all’Istat
Si è deciso di affrontare le problematiche attraverso:
a) avvio di sperimentazioni approfondite su alcune funzionalità
ritenute importanti sia in R base che in alcuni package
aggiuntivi (“reshape”, “survey”, …)
b) costituzione di un gruppo informale di esperti (statistici
ed informatici) - il “gruppo R” - che si incontra mensilmente
c) Creazione di una Wiki Istat su R sulla Intranet:
http://wiki.istat.it/doku.php/start?idx=r
per condividere e diffondere il materiale e le informazioni
d) Analisi delle interfacce grafiche (GUI) disponibili:
R Commander (“Rcmdr”) modificata per aggiungere funzionalità
aggiuntive per trattamento dei dati (merge, sort, …)
e) corsi di formazione su R (base e avanzato) per il personale
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R e il trattamento dei dati: pro
Si possono importare ed esportare le tipologie di dati più
comunemente utilizzate in Istat (CSV, TXT, XLS, SAS, …)
 L’accesso alle basi di dati RDBMS ORACLE è possibile
attraverso ODBC (per l’accesso a MySQL esiste un driver
specifico)
 Molte operazioni di manipolazione dei dati si risolvono
con l’utilizzo di funzioni “base” senza necessità
di scrivere codice con strutture condizionali e cicliche
 E’ possibile produrre anche tavole statistiche complesse
(doppia o tripla entrata) attraverso funzioni ad hoc disponibili
nel package aggiuntivo “reshape”
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R e il trattamento dei dati: contro
a inizio sperimentazione sono state riscontrate difficoltà
nel trattamento di grandi moli di dati (>70Mb).
Il problema è ridimensionato:
 da versione 2.6.0, è stato possibile gestire file dati fino
a 250Mb;
 le restanti difficoltà dovrebbero essere superate
dalle funzioni del package aggiuntivo “ff”;
 Vi sono esigenze non sono ancora coperte da funzioni R
già esistenti e per le quali è necessario creare delle funzioni
ad hoc;
 Per rendere più agevole l’utilizzo dell’ambiente si reso
è necessario creare alcune funzioni generalizzate
che risolvano problematiche trasversali ai vari processi
produttivi
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R e il trattamento dei dati: alcune conclusioni
Sperimentazioni di manipolazione e tabulazione condotte su:
(a) dati dell’indagine su “Fallimenti dichiarati e fallimenti chiusi
delle imprese”;
(b) dati dell’indagine sui “Consumi delle famiglie” in Bosnia
Erzegovina (con la quale esiste da tempo un rapporto
di cooperazione)
I risultati ottenuti sono stati ampiamente positivi.
Si ritiene che le funzionalità di R, già esistenti o create ad hoc,
possano essere adottate con successo in questa fase
di produzione
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R per la elaborazione dei dati di indagini campionarie
complesse: il package “survey”
Il package aggiuntivo “survey” permette di elaborare/trattare i dati
raccolti con indagini campionarie complesse al fine di:
 calcolare stime di totali, rapporti, …
 calcolare stime dell’errore campionario
 calibrare pesi delle unità campione; post-stratificare le unità …
In merito alla calibrazione dei pesi è stata avviata
una sperimentazione volta al confronto con Genesees
(SW Istat basato su SAS).
La sperimentazione si è conclusa positivamente ed è stato avviato
un progetto di migrazione di Genesees da SAS in R,
che si propone anche di implementare metodologie più recenti.
Nell’ottica del SW generalizzato si intende creare e rilasciare
una versione di Genesees basata su R e dotata di una propria GUI
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R e le elaborazioni tipiche dei dati
di indagini complesse
L’Istat si è posta da tempo il problema di disporre di strumenti,
non contemplati nei package statistici commerciali, per:
 determinare ampiezza ottimale campioni complessi;
 controllare e correggere dei dati;
 imputare i valori mancanti;
 riponderare i pesi delle unità campione e calcolare le stime;
…
In passato, in diversi casi, si è deciso di sviluppare ex novo il
SW necessario. Spesso lo sviluppo è avvenuto in ambito SAS.
Ci si è orientati verso lo sviluppo di SW generalizzati che:
 implementassero metodologie e tecniche avanzate
 trattassero elevate moli di dati
 fossero utilizzabili senza richiedere ulteriore sviluppo di SW
 fossero utilizzabili in indagini diverse
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R: un “motore” di analisi statistiche
in SW generalizzati
1
Con la diffusione del SW open source l’attenzione
si sta spostando dallo sviluppo di SW ex novo alla possibilità
di utilizzare e personalizzare i SW open source in base
alla proprie specifiche esigenze.
La disponibilità in R di:
 un linguaggio di programmazione semplice e ben definito;
 una ampia suite di strumenti per le operazioni con le matrici
(e array);
 una ampia gamma di tool per l’analisi dei dati e potenti strumenti
per la grafica lo rendono un motore di analisi ideale attorno
al quale costruire un SW di tipo generalizzato
Roma, 4 marzo 2008
, un Ambiente
Statistico Open Source:
Esperienze
e Prospettive Istat
R: un “motore” di analisi statistiche
in SW generalizzati
2
pro:
 la diffusione di SW generalizzati non legati ad un sistema
proprietario (es. SAS) è più facile (es. in ambito Sistan);
 permette lo sviluppo di programmi, anche complessi,
sfruttando le funzionalità già esistenti e il linguaggio
di programmazione R
contro:
 limitata competenza ed esperienza (sperimentazioni
iniziate nel 2005);
 difficoltà nello sviluppo di interfacce grafiche (GUI)
user friendly. A tal fine si possono utilizzare tool interni
all’ambiente (tcltk, gWidgets) o esterni (PHP, Java)
Roma, 4 marzo 2008
Titolo del convegno
unpiù
Ambiente
anche ,su
righe
Statistico
anche Open
su piùSource:
righe
Esperienze
e Prospettive Istat
Conclusioni
1
Nonostante le perplessità iniziali, R sembra ormai
un ambiente maturo e affidabile che offre grandi
potenzialità per l’utilizzo nei processi di produzione
delle statistiche
• sfruttando le funzionalità di base (analisi descrittive,
grafici) attraverso la GUI R Commander modificata
ad hoc per le esigenze Istat;
• sfruttando sia le funzioni già esistenti che funzioni
nuove dedicate alla produzione statistica ufficiale;
• utilizzandolo come motore di analisi all’interno
di SW generalizzati
Roma, 4 marzo 2008
Titolo del convegno
unpiù
Ambiente
anche ,su
righe
Statistico
anche Open
su piùSource:
righe
Esperienze
e Prospettive Istat
Conclusioni
2
Permangono ovviamente alcune criticità legate a:
• limiti nella gestione di grandi moli dati (es. archivi
amministrativi) che si spera siano superabili a breve;
• assenza di supporto tecnico esterno e conseguente
necessità di costituire in Istat un gruppo di persone
con molta esperienza su R in grado di risolvere
le problematiche che dovessero emergere
Roma, 4 marzo 2008