L’uso di R
per il calcolo
delle stime
e degli errori
Il software per la statistica ufficiale: dai sistemi proprietari a quelli open source
L’uso di
per il calcolo delle
stime e degli errori
Risultati ottenuti e lavori in corso
Monica Scannapieco
Internalizzazione dello Sviluppo Software
Diego Zardetto
Software Generalizzato per la Produzione Statistica
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Struttura della presentazione
•
•
•
•
•
•
Introduzione
Descrizione del Test di Fattibilità
Risultati Conseguiti
Progetto di Migrazione
Lavori in Corso
Conclusioni
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Introduzione
• Esigenza di individuare alternative al SAS
– Presente in Istat dai primi anni ’80
– Originariamente inteso come software per
l’analisi dei dati e la ricerca statistica…
– …oggi è il sistema di elaborazione dominante in
buona parte dei processi di produzione
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Introduzione (continua)
• Individuazione di R come possibile candidato a
sostituire il SAS:
– Consenso diffuso sulle grandi potenzialità di R
nell’analisi dei dati e nella ricerca statistica
– Dubbi sulla possibilità concreta di utilizzare R nei
processi di produzione:
 gestione di grosse moli di dati
 velocità di elaborazione
 affidabilità dei package aggiuntivi
Necessità di testare la fattibilità della migrazione
SAS−>R in una specifica fase del processo di produzione
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Caratteristiche del Test di Fattibilità
• Quale Fase?
• Quale Indagine?
• Disponibilità di un
package R?
Calibrazione
Forze di Lavoro
Survey
(funzione calibrate)
• Criterio di scelta: test di fattibilità nel caso Istat
“peggiore” per
– complessità degli algoritmi
– dimensione dei dati da elaborare
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Il Problema di Calibrazione
Stimatori di Calibrazione:
• consentono di migliorare la qualità delle inferenze mediante il
ricorso ad informazioni ausiliarie…
• …ma presuppongono un metodo di calcolo dei pesi complesso
Pesi diretti
dk
Funzione
distanza
G
Variabili
ausiliarie
xk
Vettore dei
totali noti
X
Bounds [ L, U ]
Roma, 4 Marzo 2008
Problema di Calibrazione
min  G (d k , wk )

ks


  wk x k  X
 ks


wk

L

U

dk

Pesi finali
wk
L’uso di R
per il calcolo
delle stime
e degli errori
La Calibrazione dei Dati in Istat
• Sistema GENESEES (GENEralized Sampling
Estimates and Errors in Surveys)
– Sviluppato in Istat alla fine degli anni ’90, in uso
dal 2001/2002
– Basato su SAS
• Funzionalità principali:
– Calibrazione
– Calcolo delle stime e degli errori standard
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Il Processo seguito per il Test
Fase 1: Definizione dell’ambiente di test
1.1: Selezione sistema
di benchmark
1.2: Selezione dati
di benchmark
1.3: Ambiente
HW e SW di
sperimentazione
Fase 2: Sviluppo prototipale per il test
2.1: Definizione dell’ambiente
di prototipazione
2.2: Test di efficacia
Fase 3: Realizzazione del test di fattibilità
2.3: Test di efficienza
3.1: Test di efficienza
e ottimizzazione
3.2: Test di efficacia
e correzione
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Ambiente di Test
• Dati di benchmark:
– Forze di lavoro
• Disegno di campionamento complesso
• ~ 200.000 record individuali, ~ 75.000 record
familiari
• 182 variabili ausiliarie
• 21 domini di calibrazione
• Sistema di benchmark:
– GENESEES/SAS
• Ambiente HW e SW:
– PC Windows XP, 760 MB RAM, CPU da 3 GHz
– Server Linux, 10 GB RAM, 4 CPU da 2 GHz
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Risultati Sperimentali: Efficacia
• Pesi calibrati: GENESEES/SAS vs. Survey/R
> summary(abs(pesi_GENESEES-pesi_SURVEY)/pesi_GENESEES)
Min.
1st Qu.
8.405e-16
7.460e-12
Median
2.326e-11
Mean
5.590e-10
3rd Qu.
Max.
1.189e-10
1.086e-7
Massimo valore assoluto
delle differenze relative
fra i pesi calibrati nei
due sistemi
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Risultati Sperimentali: Efficienza
• Tempi di esecuzione: GENESEES/SAS vs. Survey/R
– GENESEES in ambiente PC: ~ 9 minuti
– Survey:
Funzione
Ambiente
R calibrate originaria
PC
R calibrate originaria
Server
R calibrate corretta
PC
R calibrate corretta
Server
155 minuti
R calibrate_iter
PC
84 secondi
R calibrate_iter
Server
86 secondi
Roma, 4 Marzo 2008
Tempo
–
> 4 giorni
–
L’uso di R
per il calcolo
delle stime
e degli errori
Esito del Test di Fattibilità
E’ possibile utilizzare Survey/R nella fase di calibrazione
dei dati nei contesti applicativi reali dell’Istat?
Sì
 Efficacia identica
 Efficienza confrontabile
 Interventi di programmazione ad-hoc contenuti
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
La migrazione di GENESEES
• Il risultato positivo della sperimentazione ha
consentito di avviare il progetto di migrazione del
sistema GENESEES da SAS ad R
GENESEES
SAS
Roma, 4 Marzo 2008
GENESEES
R
L’uso di R
per il calcolo
delle stime
e degli errori
Il Progetto di Migrazione
• Obiettivo minimo: realizzare in R entrambe le
funzionalità fondamentali di GENESEES (calibrazione
e calcolo delle stime e degli errori standard)
• Migrazione come occasione per reingegnerizzare il
software migliorandone la qualità complessiva
CARATTERISTICHE
GENESEES/SAS
GENESEES/R
LINGUAGGIO
SAS
R
ARCHITETTURA
STANDALONE
STANDALONE
INTERFACCIA
GUI
GUI
MONOLITICO -
MODULARE +
LEGACY -
ESTENDIBILE +
EFFICIENZA =
EFFICIENZA =
QUALITA’ DEL SOFTWARE
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Reingegnerizzazione: Astrazione
1. Interazione con l’utente a maggiore livello di astrazione
calmodel=~(X+Y:Z)
partition=~D1:D2
...
Stime ed errori di campionamento
errore
errore
standard relativo %
1531592,64 9948,24
0,65
87612,3 1827,89
2,09
Stime118096,89
ed errori di campionamento
3441,11
2,91
358668,86 4458,85
1,24
errore
errore
variabile
stima 2648,92
88532,33
2,99
standard relativo %
87612,3 1827,89
2,09
Y1
1531592,64 9948,24
0,65
118096,89 3441,11
2,91
Y2
87612,3 1827,89
2,09
358668,86 4458,85
1,24
Y3
2,91
Stime118096,89
ed errori di 3441,11
campionamento
88532,33 2648,92
2,99
Y4
358668,86 4458,85
1,24
errore
errore
358668,86 4458,85
1,24
Y5
88532,33
2,99
variabile
stima 2648,92
standard
relativo %
88532,33 2648,92
2,99
Y6
87612,3 1827,89
2,09
Y1
1531592,64 9948,24
0,65
Y7
118096,89 3441,11
2,91
Y2
87612,3 1827,89
2,09
Y8
358668,86 4458,85
1,24
Y3
118096,89 3441,11
2,91
Y9
88532,33 2648,92
2,99
Y4
358668,86 4458,85
1,24
Y10
358668,86 4458,85
1,24
Y5
88532,33 2648,92
2,99
Y11
88532,33 2648,92
2,99
Y6
87612,3 1827,89
2,09
Y7
118096,89 3441,11
2,91
Y8
358668,86 4458,85
1,24
Y9
88532,33 2648,92
2,99
Y10
358668,86 4458,85
1,24
Y11
88532,33 2648,92
2,99
variabile stima
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
Y10
Y11
GENESEES/R
GENESEES/SAS
DATI
INPUT
CALIBRAZIONE
DATI
OUTPUT
Roma, 4 Marzo 2008
STIME
ED
ERRORI
DATI
INPUT
L’uso di R
per il calcolo
delle stime
e degli errori
Reingegnerizzazione: Integrazione
2. Integrazione di funzionalità
calmodel=~(X+Y:Z)
partition=~D1:D2
...
Stime ed errori di campionamento
errore
errore
standard relativo %
1531592,64 9948,24
0,65
87612,3 1827,89
2,09
Stime118096,89
ed errori di campionamento
3441,11
2,91
358668,86 4458,85
1,24
errore
errore
variabile
stima 2648,92
88532,33
2,99
standard relativo %
87612,3 1827,89
2,09
Y1
1531592,64 9948,24
0,65
118096,89 3441,11
2,91
Y2
87612,3 1827,89
2,09
358668,86 4458,85
1,24
Y3
2,91
Stime118096,89
ed errori di 3441,11
campionamento
88532,33 2648,92
2,99
Y4
358668,86 4458,85
1,24
errore
errore
358668,86 4458,85
1,24
Y5
88532,33
2,99
variabile
stima 2648,92
standard
relativo %
88532,33 2648,92
2,99
Y6
87612,3 1827,89
2,09
Y1
1531592,64 9948,24
0,65
Y7
118096,89 3441,11
2,91
Y2
87612,3 1827,89
2,09
Y8
358668,86 4458,85
1,24
Y3
118096,89 3441,11
2,91
Y9
88532,33 2648,92
2,99
Y4
358668,86 4458,85
1,24
Y10
358668,86 4458,85
1,24
Y5
88532,33 2648,92
2,99
Y11
88532,33 2648,92
2,99
Y6
87612,3 1827,89
2,09
Y7
118096,89 3441,11
2,91
Y8
358668,86 4458,85
1,24
Y9
88532,33 2648,92
2,99
Y10
358668,86 4458,85
1,24
Y11
88532,33 2648,92
2,99
variabile stima
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
Y10
Y11
GENESEES/R
CALIBRAZIONE
DATI
OUTPUT
Roma, 4 Marzo 2008
STIME
ED
ERRORI
DATI
INPUT
L’uso di R
per il calcolo
delle stime
e degli errori
Reingegnerizzazione: Estensione
3. Aggiunta di nuove funzionalità
•
Calcolo degli errori di campionamento basato sul metodo DAGJK
(Delete-A-Group Jackknife)
 Sviluppato un nuovo package R dedicato:
EVER (Estimation of Variance by Efficient Replication)
•
Vantaggi rispetto al metodo tradizionale (Taylor linearization)
implementato in GENESEES/SAS:
– Minore complessità matematica
– Procedura di calcolo indipendente dalla forma funzionale dello
stimatore e dal disegno di campionamento
– Utilizzabile anche per stimatori non-analitici (es. stime di povertà)
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Architettura Logica di GENESEES/R
GENESEES/R
STIME ED ERRORI
METODO ANALITICO
CALIBRAZIONE
METODO DI
REPLICAZIONE
Roma, 4 Marzo 2008
L’uso di R
per il calcolo
delle stime
e degli errori
Stato di Avanzamento del Progetto
Oggi
ID
2006
Nome attività
mag
1
FATTIBILITA’:
CALIBRAZIONE
2
FATTIBILITA’:
STIME ED ERRORI
3
MIGRAZIONE:
CALIBRAZIONE
4
MIGRAZIONE:
STIME ED ERRORI
5
SVILUPPO
PACKAGE EVER
6
SVILUPPO GUI
giu
lug
ago
set
2007
ott
nov
dic
gen
feb
mar
apr
mag
giu
lug
2008
ago
set
ott
nov
dic
gen
• Inizio Sperimentazione: Maggio 2006
• Fine prevista Migrazione: Dicembre 2008
• Stima Mesi/Persona (allo stato attuale): 23,8
Roma, 4 Marzo 2008
30/6/2008
feb
mar
apr
mag
giu
lug
ago
set
ott
nov
dic
β-Version
L’uso di R
per il calcolo
delle stime
e degli errori
L’uso di R per il calcolo delle stime e degli errori
Conclusioni
• Una delle prime esperienze di utilizzo di R per la
realizzazione di funzionalità standard nei
processi di produzione dell’Istituto
– Giudizio pienamente positivo sull’utilizzo di R
nella realtà Istat:
• Accesso al codice sorgente dei package,
importante per la personalizzazione e
l’ottimizzazione delle soluzioni
• Grandi potenzialità del linguaggio R:
elevato livello di astrazione, semplicità di
programmazione e tempi di sviluppo
contenuti
Roma, 4 Marzo 2008
Scarica

Presente - Istat.it