Fondamenti della Teoria della Misura (seminario Prof. Santucci)

Giuseppe Santucci
Seminario
Fondamenti della teoria della misura
&
richiami elementari di statistica
descrittiva ed inferenziale
FTM.1
Un libro di riferimento
• Metrics and Models In Software Quality Engineering Second Edition
• Stephen H.Kan
• Addison Wesley - 2003
FTM.2
Perchè si misura ?
• “Non puoi controllare ciò che non puoi misurare” [T. De Marco, 1982]
• Le misure, nel campo dell’ingegneria si effettuano per i seguenti obbiettivi:
– Forze, pesi, lunghezze, etc. ingegneria “classica”
– verificare l'aderenza di alcuni parametri di qualità a dei valori di riferimento
(esterni/interni)
– rilevare delle deviazioni relative alla pianificazione temporale/ allocazione di
risorse
– raccogliere vari indici di produttività
– validare l'effetto di strategie tese a migliorare un processo (qualità/ produttività
/ aderenza alla pianificazione / controllo dei costi/ usabilità)
• In sintesi si misura per controllare e prendere decisioni
FTM.3
Definizioni, Definizioni operative e misure...
• Prima di entrare nel merito delle varie misure è opportuno richiamare alcune
nozioni di base della Teoria della Misura, spesso confuse o ignorate
• Analizziamo la seguente teoria:
più è rigorosa la parte finale del processo di produzione del sw più è alta la
qualità del sw presso il cliente
• per poter accettare/respingere l'affermazione abbiamo bisogno di alcune
definizioni:
– processo di produzione: <progetto, ... ,integrazione, ... ,test di accettazione>
– definiamo parte finale del processo l'integrazione con il relativo test (dopo le
modifiche sono fortemente controllate)
FTM.4
...Definizioni, Definizioni operative e misure...
• rigoroso può essere definito come: aderente alla documentazione dei processi
(manuale qualità) ma ciò è ancora vago ed abbiamo bisogno di alcuni
indicatori:
– ad esempio, se è prevista una ispezione del codice; una definizione operativa
potrebbe essere relativa alla percentuale di codice effettivamente ispezionato
– relativamente alla qualità di una ispezione potremmo utilizzare operativamente
una scala di Likert a 5 valori (1=ispezione di bassa qualità ... 5=veramente
efficace)
– la rigorosità del test potrebbe essere operativamente associata alla percentuale
di linee di codice testate e la sua efficacia al numero di difetti rimossi per
KLOC
• per la qualità del sw presso il cliente potremmo usare: il numero di difetti per
KLOC trovati durante il test di sistema
FTM.5
...Definizioni, Definizioni operative e misure...
Ora è possibile riformulare la frase di prima tramite le seguenti tre ipotesi:
1. maggiore è la percentuale di linee di codice testate minore è il numero di
errori per KLOC trovati durante il test di sistema
2. maggiore è l'efficacia delle ispezioni minore è il numero di errori per KLOC
trovati durante il test di sistema
3. maggiore è l'efficacia del test, in termini di errori trovati, minore è il numero
di errori per KLOC trovati durante il test di sistema
FTM.6
...Definizioni, Definizioni operative e misure...
• Per validare le ipotesi è necessario introdurre l'unità di analisi (componente o progetto),
effettuare analisi statistiche per validare le ipotesi (e.g., analisi della varianza), validare
gli indicatori scelti, ovvero effettuare ed interpretare delle misure
• Ad esempio se ottenessimo i seguenti dati tramite 9 esperimenti (3 al 50%, 3 al 70%, 3
al 90%) :
• Copertura linee di codice
50%
70%
90%
Media degli errori trovati durante il test
20/KLOC
15/KLOC
12/KLOC
• Senza una corretta analisi dei dati quale l'analisi della varianza (ANOVA) non
potremmo essere sicuri della significatività statistica di quanto ottenuto
• Ad esempio se 20 è la media di {19 20 21}, 15 di {15 15 15}, e 12 di {11 12 13} ci
sentiremmo abbastanza sicuri
• Se invece 20 è la media di {10 10 40}, 15 di {1 4 40} e 12 di {3 3 30}...
• Vedremo la cosa in dettaglio
FTM.7
...Definizioni, Definizioni operative e misure
• L'esempio porta a capire l'importanza delle misure nonchè la necessità di vari
livelli di astrazione:
Teoria
Concetti
Mondo astratto
Proposizioni
Definizioni
Ipotesi
Definizioni operative
Analisi dei dati
Misure
Mondo empirico
FTM.8
• Teoria
– un insieme di PROPOSIZIONI relative a CONCETTI
• Proposizione
– viene fromalizzata tramite delle DEFINIZIONI
– da luogo ad una o più IPOTESI empiriche
• Ipotesi
– per essere validata necessita di misure, fromalizzate tramite DEFINIZIONI
OPERATIVE
• Analisi dei dati
– parte finale del processo, teso a validare la teoria. Si sostanzia effettuando
delle MISURE nel mondo reale
FTM.9
Scale di una misura(1)
• Scala Nominale - Insieme predefinito non ordinato di valori distinti
– esempio: regione italiana
– operatori ammisibili { = , !=}
• Scala Ordinale - Insieme predefinito ordinato (ordinamento totale) di valori
distinti
– esempio: livelli CMM
– operatori ammissibili { = , !=, >, < }
– N.B. NON è possibile confrontare l'entità delle differenze: il livello 3 CMM è
maggiore del livello 2 ma non è noto DI QUANTO
– N.B. NON è possibile fare paragoni: non è possibile dire che la differenza tra
1 e 2 è la stessa che esiste tra 3 e 4
– In alcuni casi (scale di Likert) è assunta l'ipotesi di equidistanza per fare la
media tra valori differenti. ATTENZIONE alle conseguenze:
• Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito
perfettamente , 2-complicazioni lievi, 3-complicazioni medie, 4-complicazioni
gravi, 5-morto)
– 50 guariti perfettamente e 50 morti ---> complicazioni medie...
FTM.10
Scala di una misura(2)
• Scala per Intervalli - In questo caso è nota la differenza esatta tra due valori
–
–
–
–
–
esempio: temperatura in gradi (C o F)
richiede una definizione PRECISA dell'unità di misura adoperata
valori interi o reali
operatori ammissibili { = , !=, < , >, +, - }
N.B. La presenza di uno zero arbitrario NON autorizza a fare ipotesi di
rapporti: posso dire che tra 80°F e 20° F ci sono 60° di differenza, NON che
80°F è 4 volte più caldo di 20°F
• Scala Razionale - Scala per intervalli in cui è definito in modo non
arbitrario uno zero
– esempio: temperatura in gradi Kelvin (zero assoluto!)
– operatori ammissibili { = , !=, < , >, +, -, x, /}
– 90°K è 3 volte maggiore di 30°K
• Tranne pochi casi, tutte le scale per intervalli sono scale razionali
• Ovviamente valgono le seguenti relazioni ISA:
• S. Razionale -> S. Intervalli -> S. Ordinale-> S. Nominale
FTM.11
Tipi di misura: rapporti e proporzioni
• Rapporto - Risultato di una divisione tra due valori che vengono da due dominii
distinti e mutuamente esclusivi. Il risultato della divisione è moltiplicato per 100
– esempio: (numero maschi/numero femmine) x 100
– può assumere valori sotto e sopra il 100
– esempio sw: persone addette al test/ persone addette allo sviluppo
• Proporzione - Risultato di una divisione tra due valori in cui il dividendo
contribuisce al valore del divisore, e.g., a/(a+b)
– esempio: numero utenti soddisfatti/numero utenti
– assume valori compresi tra 0 ed 1
– spesso il denominatore è composto da vari elementi per i quali si calcolano le
varie proporzioni:
• a+b+c=N ; a/N + b/N + c/N =1
– una Frazione è una proporzione tra reali.
FTM.12
Tipi di misura: percentuale
• Percentuale - Una proporzione o frazione espressa normalizzando il
denominatore a 100.
– esempio: i difetti presenti nei requisiti erano il 15%, nel progetto il 25%, nella
codifica il 60%
– vanno usate con criterio, indicando i valori coinvolti ed evitandone l'uso
quando gli elementi sono meno di 50-30 (da la falsa impressione di una grossa
quantità di dati)
– esempio: i difetti presenti nel progetto erano 20, di cui 3 nei requisiti, 5 nel
progetto e 12 nella codifica
– esempio: i difetti presenti nel progetto erano 200, di cui il 25% (50) nei
requisiti, il 15%(30) nel progetto ed 60% (120) nella codifica
FTM.13
Tipi di misura: andamento
•
Andamento (rate) - Indica, al contrario di rapporti, proporzioni e percentuali, un
valore associato alla dinamica di un fenomeno. Tipicamente (ma non sempre) è la
misura del cambiamento di una quantità (y) rispetto all'unità di un'altra quantità (x) da
cui dipende. Quasi sempre x è il tempo.
– esempio: negli studi demografici si parla andamento approssimato (crude)
delle nascite in un certo anno calcolandolo con la seguente formula:
(N/P)*k
N=nascite nell'anno osservato
P= popolazione (calcolata a metà dell'anno)
k=costante, tipicamente 1000
FTM.14
Tipi di misura: andamento
• è presente il concetto di "esposizione al rischio", ovvero il fatto che gli elementi del
denominatore possono "diventare" o "produrre" elementi nel numeratore
• considerando tale fattore, la formula di prima può essere migliorata sostituendo a P P' il
numero delle donne tra i 15 e 44 anni (andamento della fertilità):
(N/P')*k
• andamento dei difetti=(D/OFE) *k dove
– D=difetti osservati nel periodo di rifermento e
– OFE =Opportunities For Error: possibili punti in cui possono essere "generati" errori
• esempio sw: andamento dei difetti: (D/KLOC)* 1000 dove
•
D=difetti osservati nel periodo di rifermento (anno, mese)
• N.B. è un andamento "crude" perchè le KLOC non concidono direttamente con le OFE in
quanto a volte un errore coinvolge più linee di codice (o una linea di codice genera +
errori)
FTM.15
Richiami di statistica descrittiva
• Data una popolazione di N elementi su cui si effettua una misura (e.g., il peso delle
persone in italia) {x1,...,xn}, si definiscono i seguenti parametri:
• media m= (x1+ x2+... +xn)/N
• varianza var=[(x1-m)2+ (x2-m)2 +...(xn-m)2]/N
• deviazione standard σ=var1/2
• spesso la varianza si indica con σ2
• tipicamente gli N elementi si distribuiscono secondo una distribuzione normale (o
gaussiana)
FTM.16
Distribuzione normale
P
μ-1.96σ
μ-σ
μ
μ+σ μ+1.96σ
X
68.26% dei dati
95% dei dati
è usuale centrare la gaussiana
sull'asse Y ponendo X=X-m
FTM.17
Qualità di una misura: Affidabilità
•
Le misure, a loro volta, posseggono delle qualità che, in alcuni casi, è possibile
quantificare in modo formale.
•
Affidabilità (reliability). L'affidabilità è relativa ai valori che si ottengono
effettuando più volte la stessa misura. Se i valori ottenuti sono vicini tra loro la
metrica è affidabile. Tipicamente si caratterizza questa qualità analizzando la
varianza σ2 di misure ripetute. Più piccolo è questo valore più la metrica è affidabile.
Una possibile alternativa è l'indice di variazione che "normalizza" rispetto alla media:
σ/media.
FTM.18
Qualità di una misura(2)
• Validità (validity). La validità indica se la metrica misura effettivamente cosa
vogliamo misurare. Per misure poco astratte (peso, volume) la validità
coincide con l'accuratezza. Si noti che anche per misure poco astratte i
concetti di affidabilità e validità sono differenti: un orologio fermo è
perfettamente affidabile ma ha una validità molto ridotta...
• Per concetti astratti la validità di una misura può essere molto complessa a
valutarsi (e.g., la religiosità di una comunità misurata tramite le presenze in
chiesa).
FTM.19
Affidabilità e validità di una misura
Affidabile ma
non valida
Valida ma
non
affidabile
Affidabile
e Valida
FTM.20
Errori di misura (1)
• Gli errori che possono verificarsi durante una misura sono di due tipi,
sistematici e casuali. Gli errori sistematici si verificano in modo costante. Si
pensi, per esempio, ad una bilancia per pesare le persone tarata male che
aggiunge sistematicamente 1 kg al peso reale:
– misura=peso reale + 1kg + variazione casuale ovvero M= T + s + e
• la misura non è valida
– se s non è presente, ovvero che ci sono solo errori casuali la formula vale:
– M= T + e
– il contributo medio di un fenomeno casuale è nullo (valore atteso E(e)=0) e,
quindi, la media di infinite misure E(M)=T e quindi la misura è valida.
• una tipica tecnica che sfrutta questo principio è quella di ripetere la misura N volte
e farne la media
• QUINDI
– Gli errori sistematici influenzano la validità
– Gli errori casuali influenzano l'affidabilità
FTM.21
Analisi della varianza ANOVA
• Quasi sempre il tentativo di dimostrare una ipotesi si riduce a cercare una
relazione tra due variabili: se modifico A allora B cambia (in un certo modo)
• Ad esempio: cerco di dimostrare che se aumento la proporzione KT di linee di
codice testate l'andamento dei difetti DR nel primo anno dopo il rilascio
diminuisce
• proporzione KT=KLOC testate/KLOC (per comodità la esprimo come
percentuale)
• andamento DR=(D/KLOC)*k (poniamo k=1)
FTM.22
Variabili dipendenti ed indipendenti
• In queste analisi si indicano col nome indipendenti le variabili che vengono
manipolate per verificare una ipotesi e col nome dipendenti le variabili che
vengono solo osservate e che dipendono (si spera) da quelle manipolate.
• Nel nostro esempio
• KT=variabile indipendente
• DR=variabile dipendente
FTM.23
Il nostro insieme campione
• Assumiamo, per semplicità espositiva, che nella sw house osservata si
conducano attività di test per tre differenti percentuali prefissate:
• 50 %
70%
90%
• e che, per ciascuna di esse, siano stati osservati per un anno 5 pacchetti
software.
• Calcoliamo la media di DR ed otteniamo la seguente tabella
FTM.24
Significatività statistica: p-value
–
–
–
–
KT
50%
70%
90%
DR
20
15
12
• Il problema è: le medie sono differenti ma questo accade perchè
effettivamente esiste una relazione tra KT e DR oppure i dati vengono così,
"per caso"?
• il p-value indica la probabilità che i dati analizzati non siano significativi,
ovvero che non rappresentino correttamente la popolazione osservata
FTM.25
Valori comuni del p-value
• Un p-value pari a 0.05 ci dice che c'è la possibilità del 5% che la relazione
trovata tra le due variabili sia casuale
• In altre parole, assumendo che non esista ALCUNA relazione tra TK e DR un
p-value di 0.05 ci dice che ogni 20 analisi otterremo per caso questa "finta"
relazione
• 0.05 è considerato un valore di confine ed in letteratura si comincia a prendere
in considerazione la validità di una analisi per p<=0.01. Se p<=0.005 l'analisi
è classificata statisticamente significativa e per p<=0.001 altamente
significativa
• Ovviamente sono solo valori arbitrari, anche se largamente utilizzati
FTM.26
Richiami di concetti statistici di base
(statistica inferenziale)
• Si analizza una popolazione di M elementi (M non è noto) tramite un
campione di N elementi {x1,...,xn}, e si definiscono i seguenti parametri:
• media m= (x1+ x2+... +xn)/N
• varianza var=[(x1-m)2+ (x2-m)2 +...(xn-m)2]/(N-1)
• deviazione standard σ=var1/2
• spesso la varianza si indica con σ2
• tipicamente gli elementi del campione si distribuiscono secondo una
distribuzione normale (o gaussiana)
• o, se così non è, si assume che lo sia....
• analisi Montecarlo...
FTM.27
Qual'è il problema?
• Stiamo lavorando con qualla che viene chiamata statistica
inferenziale (vs descrittiva) ovvero stiamo cercando di inferire
delle proprietà usando un campione dei dati.
• La caratterizzazione statistica del nostro campione (in particolare
la media) differisce da quella dei dati reali
• All'aumentare della dimensione del campione la differenza tende
a diminuire
• Ma come varia questa differenza?
FTM.28
Intervallo di confidenza
• Sotto l'assunzione di distribuzione normale è possibile stimare la probabilità
che la media di un campione di dimensione N si discosti più di una certa
quantità dalla media "vera"
• Lo scarto è legato alla probabilità di errore che siamo disposti a sopportare ed
è direttamente proporzionale alla s del campione ed inversamente
proporzionale al numero di campioni N1/2
• Un parametro tipico è il 95% (p=0.05) ed i risultati numerici ci dicono che nel
95% dei casi un campione mostrerà uno scostamento dalla media "vera"
inferiore a:
–
–
–
–
2.77*σ/N1/2 per N=5
2.26*σ/N1/2 per N=10
2.09*σ/N1/2 per N=40
1.96*σ/N1/2 per N "grande"
• N.B. Per dimezzare l'intervallo di confidenza occorre quadriplicare il numero
dei campioni
FTM.29
Intervallo di confidenza
1.96*σ/Ν1/2 per N "grande"
95%
dei dati
m-1.96 σ
m
m+1.96 σ
FTM.30
t-Test
• Utilizzando l'intervallo di confidenza è possibile ipotizzare se due campioni
abbiano potenzialmente o meno la stessa media (sempre rispetto a p)
cm2
due medie
cm1
cm1
cm1
cm2
cm2
due intervalli di confidenza
che potenzialmente sottointendono
una media comune
due intervalli di confidenza
che potenzialmente
NON sottointendono
una media comune
FTM.31
Esercizio 1
• Sia data la metrica RU="richieste utente" definita come segue:
numero di richieste di chiarimento nei primi 6 mesi di utilizzo del sw /KLOC
• Il sw è stato installato presso 5 clienti esono stati rilevati i seguenti valori:
• RU1=20 RU2= 21
RU3=23
RU4=15
RU5=21
• 1) Indicare le scale del dividendo e del divisore
• 2) indicare il tipo di misura
• 3) calcolare i seguenti parametri:
– m
– σ
– intervallo di confidenza (p=0.05)
FTM.32
Esercizio 1 (soluzione)
1.
Scale
•
•
2.
numero di richieste di chiarimento : scala razionale (interi)
KLOC: scala razionale (reali)
La misura è un andamento (crude):
3.
calcolare i seguenti parametri:
m
=(20+21+23+15+21)/5=20
2
σ
=[(20−20)2+(20−21)2+(20−23)2+(15−20)2+(21−20)2]/4=9
σ
=3
intervallo di confidenza =20 +/- 2.77*3/51/2 ovvero: [16.3, 23.7]
FTM.33
Torniamo al nostro problema
•
•
•
•
KT
50%
70%
90%
DR
20
15
12
• Quindi i valori medi di DR sono affetti da un certo errore ed è possibile che le
medie della popolazione complessiva (tutti i programmi sw del mondo) siano
uguali, ovvero che calcolando l'andamento di DR su un numero molto più alto
di casi si scopra che KT non abbia nessuna influenza su DR
• l'ipotesi che le medie "vere" siano uguali (e quindi che le differenze osservate
siano casuali) è detta ipotesi nulla
FTM.34
Anova
• Utilizzando l'intervallo di confidenza siamo in grado di stimare
la variazione della media rispetto a quella vera (sempre rispetto
ad un p-value)
• quindi se le variazioni che osserviamo nelle medie sono
maggiori di quanto ci aspettiamo questo implica che le
differenze tra le medie sono significative
• ANOVA estende il t-Test ad f fattori e calcola il seguente valore:
• F=(variazioni osservate nelle medie)/(variazioni attese nelle
medie)
• F=1 implica che l'ipotesi nulla è valida
• F>>1 indica che le variazioni osservate sono indice di qualcosa
• (il quanto F debba essere maggiore di 1 è legato a σ)
• il p-value ci indica la probabilità che il tutto avvenga per caso
FTM.35
Altamente
Significativo
FTM.36
Per nulla
Significativo
FTM.37
Esempio finale
• Nella software house ACME i programmi vengono sviluppati da due gruppi di
programmatori:
– Gruppo A, programmatori che hanno seguito un corso di interazione uomo macchina
– Gruppo B, programmatori che NON hanno seguito un corso di interazione uomo
macchina
• Vengono selezionati 5 programmi prodotti dal gruppo A e 5 programmi prodotti dal
gruppo B
• Ogni programma viene sperimentato da 20 utenti
• Un help desk della ACME raccoglie statistiche sulle richieste di aiuto da parte degli
utenti relativamente a problemi di UTILIZZO dei programmi
• I responsabili del sistema qualità della ditta calcolano la seguente metrica
IU=“incomprensioni utente" definita come segue:
numero di richieste relative al funzionamento dell’ interfaccia utente
nei primi 6 mesi di utilizzo del sw /KLOC
• l'ipotesi che le medie "vere" siano uguali (e quindi che le differenze osservate siano
casuali) è detta ipotesi nulla
FTM.38
… Esempio finale
• I dati raccolti sono i seguenti:
•
•
•
•
•
P1_a
P2_a
P3_a
P4_a
P5_a
•
•
•
•
•
P1_b
P2_b
P3_b
P4_b
P5_b
FTM.39