Giuseppe Santucci Qualità nella Produzione del Software 05 Fondamenti della teoria della misura & elementi di statistica descrittiva ed inferenziale 05FTM.1 QPsw Un secondo libro di riferimento • Metrics and Models In Software Quality Engineering - Second Edtion • Stephen H.Kan • Addison Wesley - 2003 QPsw 05FTM.2 Perchè si misura ? • • “Non puoi controllare ciò che non puoi misurare” [T. De Marco, 1982] Le misure, nel campo della qualità del sw, si effettuano per i seguenti obbiettivi: 1. verificare l'aderenza di alcuni parametri (di qualità) a dei valori di riferimento (esterni/interni) 2. rilevare delle deviazioni relative alla pianificazione temporale/ allocazione di risorse 3. raccogliere indici di produttività 4. validare l'effetto di strategie tese a migliorare un processo produttivo (qualità/ produttività / aderenza alla pianificazione / controllo dei costi) • In sintesi si misura per controllare e prendere decisioni 05FTM.3 QPsw Pragmaticamente Misura e analisi dei dati QPsw 05FTM.4 Processo di misura Rating (definizione dei livelli di riferimento) Le metriche forniscono valori quantitativi che non sono di per sé una valutazione della qualità, dobbiamo mappare i dati quantitativi su una scala qualitativa A carico dell’ organizzazione QPsw Analisi statistica dei dati 05FTM.5 Definizioni, Definizioni operative e misure... • Prima di entrare nel merito delle varie misure e dei livelli di riferimento è opportuno richiamare alcune nozioni di base della Teoria della Misura, spesso confuse o ignorate • Utilizzeremo un esempio, basato sulla seguente proposizione: “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 definire meglio alcuni concetti: – processo di produzione: <raccolta requisiti, progetto, ... ,integrazione, ... ,test di accettazione> – parte finale del processo di produzione: <integrazione con il relativo test> (dopo le modifiche sono fortemente controllate) QPsw 05FTM.6 ...Definizioni, Definizioni operative e misure... • rigoroso: <aderente alla documentazione dei processi (manuale qualità)> ma è 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 • qualità del sw presso il cliente: <il numero di errori per KLOC trovati durante il test di sistema> • N.B. le definizioni utilizzate sono opinabili, ma non ambigue e misurabili QPsw 05FTM.7 ...Definizioni, Definizioni operative e misure... Ora è possibile riformulare la proposizione 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 QPsw 05FTM.8 ...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 05FTM.9 QPsw • 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 QPsw 05FTM.10 ...Definizioni, Definizioni operative e misure... • Per validare la teoria è necessario (a) introdurre l'unità di analisi (componente o progetto), (b) effettuare analisi statistiche per validare le ipotesi (e.g., analisi della varianza), (c) validare gli indicatori scelti, ovvero effettuare ed interpretare delle misure • Ad esempio, volendo validare la teoria tramite l’ipotesi 1),assumiamo di aver ottenuto le seguenti misure tramite una unità di analisi composta da 9 esperimenti (3 al 50%, 3 al 70%, 3 al 90%) : • Percentuale linee di codice testate Errori trovati durante il test di sistema 50% 20/KLOC 70% 15/KLOC 90% 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 {5 5 50}, 15 di {1 4 40} e 12 di {3 3 30}... • Vedremo la cosa successivamente 05FTM.11 QPsw Elementi di base della teoria della misura QPsw 05FTM.12 Terminologia base (1/3) • Misura – Variabile cui viene assegnato un valore a seguito di una misurazione • Misura base – Una misura funzionalmente indipendente da altre • Misura derivata – Una trasformazione di una misura base effettuata utilizzando una funzione matematica • Indicatore – Misura che può essere usata per stimare o prevedere un’altra misura 05FTM.13 QPsw Terminologia base (2/3) • Metodo di misurazione – Sequenza logica di operazioni effettuate per assegnare un valore quantitativo ad una variabile che descrive un attributo, rispetto ad una scala di riferimento • Metodo di valutazione – Una procedura che descrive le azioni da compiere al fine di utilizzare delle misure per esprimere un giudizio • Validazione – Conferma, attraverso la presentazione di una evidenza oggettiva, che un requisito è stato rispettato nel prodotto – La validazione può riguardare output della fase di progettazione (ad es. disegni tecnici, schemi di basi di dati) così come della fase di sviluppo (ad es. codice sorgente, manuali d’uso), in vari stadi di lavorazione QPsw 05FTM.14 Terminologia base (3/3) • Verifica – Conferma, attraverso la presentazione di una evidenza oggettiva, che una attività è eseguita correttamente • Rating – Metodo per mappare un valore misurato su una scala di valutazione (ad es. “tempo di risposta” < 1 sec = “buono”) • Scala di misura – Un insieme ordinato di valori, continui o discreti, od un insieme di categorie, rispetto ai quali è mappato un attributo 05FTM.15 QPsw Definizione di scala di misura • Si definisce scala di misura l’insieme di: – un sistema di relazioni empiriche S • A è più alto di B – un sistema di relazioni numeriche R • 180 cm > 160 cm – un mapping tra S ed R • A è più alto di B di 20 cm – Poiché il numero di possibili insiemi di relazioni empiriche e numeriche è pressoché infinito, infinite sono le scale di misura utilizzabili – Nella pratica • • • • • QPsw Nominale Ordinale Intervalli Razionale Assoluta 05FTM.16 Scale di una misura(1) • Scala Nominale - Insieme predefinito non ordinato di valori distinti – esempio: possibili tipi di errori di programmazione (di sintassi, semantici etc. senza definire una gerarchia di gravità degli errori) – operatori ammisibili { = , !=} – Se si utilizza questo tipo di scala, calcolare valori medi ha significato solo se si vuole verificare la frequenza con cui certe misure si collocano in date classi. Altre operazioni tra le misure non hanno significato 05FTM.17 QPsw Scale di una misura(2) • 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... – Se si utilizza questo tipo di scala, calcolare la mediana ha significato solo se si vuole verificare la frequenza con cui certe misure si collocano in date classi. Altre operazioni possibili sono la determinazione di "maggiore di" o "minore di", l’uguaglianza, il calcolo dei percentili QPsw 05FTM.18 Scala di una misura(3) • 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 – Possono essere fatti confronti (=, !=, >, <) operazioni di addizione e sottrazione tra le misure. Si possono calcolare la media aritmetica, la deviazione standard. 05FTM.19 QPsw Scala di una misura(4) • Scala Razionale o a rapporti - 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 • Si possono effettuare confronti, addizioni, sottrazioni, moltiplicazioni e divisioni tra misure. Si possono calcolare la media armonica e geometrica, la variazione percentuale, l'indice di correlazione. • Ovviamente valgono le seguenti relazioni ISA: • S. Razionale -> S. Intervalli -> S. Ordinale-> S. Nominale • Scala Assoluta - In questa scala si contano le occorrenze effettive delle entità. – Ad esempio, le LOC che costituiscono un programma. QPsw 05FTM.20 Scelta della scala di misura • La scelta della scala dipende dall'attributo che si vuole misurare. La scala scelta deve corrispondere ad un effettivo sistema di relazioni valido per l'attributo. I valori numerici associati alle misurazioni dell’attributo devono corrispondere ad effettive relazioni empiriche fra le entità misurate • Ad esempio, se per un determinato prodotto non è possibile stabilire che è "affidabile" in maniera esattamente doppia o tripla etc.. di un altro, non ha senso utilizzare una scala diversa da quella nominale od ordinale 05FTM.21 QPsw Sinottico scale di misura (1) TIPO DI SCALA TRASFORMAZIONI AMMISSIBILI NOMINALE qualsiasi determinazione di trasformazione unouguaglianza a-uno ORDINALE M(x)>M(Y) implica che M’(x)>M’(Y) [funzione crescente strettamente monotona] M’=aM+n(a>0) INTERVALLARE [trasformata lineare positiva] RATIO (DI RAPPORTI) ASSOLUTA QPsw OPERAZIONI EMPIRICHE DI BASE M’=aM (a>0) [trasformazione di similarità] M’=M [identità] ALCUNI INDICI STATISTICI APPROPRIATI TEST STATISTICI APPROPRIATI ESEMPI Moda Frequenza non parametrico etichettare classificare entità come la precedente, più la determinazione di “maggiore di” e “minore di” Mediana Percentili Spearman r Kendall W Kendall T non parametrico preferenza ordinamento di entità come la precedente, più addizioni e sottrazioni Media Aritmetica Deviazione standard non parametrico Correlazione Pearson Correlazione multipla temperature in gradi Fahrenheit o Celsius date di calendario orario come la precedente, più moltiplicazioni e divisioni Media Geometrica Media Armonica Coefficiente di variazione Variazione percentuale Indice di correlazione intervalli di tempo non parametrico temperature Kelvin e parametrico lunghezze conteggio di entità 05FTM.22 Sinottico scale di misura (2) 05FTM.23 QPsw Tipi di misura QPsw 05FTM.24 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: linee di commento/linee di codice • 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 05FTM.25 QPsw 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% – la percentuale va usata con criterio, indicando i valori coinvolti ed evitandone l'uso quando gli elementi sono meno di 30-50 (da la falsa impressione di una grossa quantità di dati) – esempio: dei difetti presenti nel progetto il 25% era nei requisiti, il 15% nel progetto ed il 60% nella codifica – esempio: i difetti presenti nel progetto erano 20, di cui 5 nei requisiti, 3 nel progetto e 12 nella codifica QPsw 05FTM.26 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 05FTM.27 QPsw 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) QPsw 05FTM.28 Richiami di statistica descrittiva • Data una popolazione di N elementi noti su cui si effettua una misura (e.g., l'età degli studenti di questo corso) {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 05FTM.29 QPsw Ulteriore caratterizzazione dei dati raccolti • • • • QPsw Mediana Moda Calcolo Percentili (Quartili) Distribuzione di frequenza 05FTM.30 Calcolo dei percentili • I percentili sono quegli elementi che dividono una distribuzione ordinata in parti uguali, ciascuna delle quali contiene l'x per cento della distribuzione. Se dividiamo la distribuzione ordinata in 10 parti di uguale numerosità, ciascun elemento (modalità) separatore si chiamerà decile. • Il primo decile divide in due parti la distribuzione ed è rappresentato dall'elemento che lascia alla sua sinistra il 10 per cento delle unità del collettivo con modalità più piccole o uguali e alla sua destra il 90 per cento delle unità che presentano modalità più grandi. Il secondo decile divide la distribuzione in due parti con il 20 per cento e l'80 per cento rispettivamente, e così via. 05FTM.31 QPsw Calcolo percentili (quartili) • I percentili usati più frequentemente sono i quartili che dividono in quattro parti di uguale ampiezza (quarti) la distribuzione ordinata: • il primo quartile lascia prima di sé il 25 per cento delle unità che hanno modalità inferiori e dopo di sé il 75 per cento di unità con modalità superiori. Si indica con Q1; • il secondo quartile corrisponde alla mediana e divide la distribuzione in due parti uguali, lasciando prima di sé il 50 per cento di unità con modalità più piccole. Può essere indicato, oltre che con Me, anche con Q2; • il terzo quartile, Q3, è quella modalità che divide in due parti la distribuzione ordinata, lasciando prima di sé il 75 per cento delle unità che presentano modalità inferiori QPsw 05FTM.32 Mediana (Me) / Moda ( o norma) • La mediana di una variabile - precedentemente definita come secondo quartile - è il valore dell’unità che si trova a metà della distribuzione ordinata, in modo che il 50 per cento dell’insieme di osservazioni abbia un valore della variabile uguale o inferiore a esso e il restante 50 per cento un valore superiore. • Per calcolare la mediana è necessario che la scala utilizzata variabile sia almeno ordinale. • Spesso la media e la mediana presentano valori simili. Ciò accade in particolare quando la distribuzione della variabile è simmetrica, cioè quando il numero di valori al di sotto del valore centrale e quelli al di sopra più o meno si equivalgono • La moda corrisponde al valore della distribuzione che si presenta più frequentemente • Una distribuzione si dice unimodale se un solo valore presenta questa caratteristica, multimodale altrimenti 05FTM.33 QPsw Distribuzione frequenza • Si ottiene praticamente ordinando i valori trovati ed indicando, per ciascuno di essi, la relativa frequenza. tipicamente gli N elementi si distribuiscono secondo una distribuzione normale (o gaussiana) l'analisi delle tecniche di stima della distribuzione di un campione va oltre gli scopi di questo corso QPsw 05FTM.34 Distribuzione normale P f(x)=ae-(x-b) μ-1.96σ μ-σ μ μ+σ μ+1.96σ 2/c2 X 68.26% dei dati 95% dei dati è usuale centrare la gaussiana sull'asse Y ponendo X=X-m QPsw 05FTM.35 Alcuni esempi di distribuzione normale QPsw 05FTM.36 Un indice di qualità stringente: le sei σ • Nel 1980 la Motorola introdusse uno specifico andamento dei difetti pari a 3.4 parti difettose su un milione (3.4 ppm), valore che proviene considerando l'area di una distribuzione normale (gaussiana) calcolata su una base pari a 12 volte il valore della deviazione standard σ e tenendo conto delle oscillazioni del processo produttivo pari a 1.5 σ. 0.001 ppm 0.001 ppm 05FTM.37 QPsw Oscillazioni di 1.5 σ Ideale Stringente ma possibile QPsw 05FTM.38 le sei σ nel software • • • Applicata al sw la regola delle 6 σ corrisponde a un andamento dei difetti pari a 3.4 difetti per milione di linee di codice per l'intero periodo di esercizio del sw... Le 6 σ sono nate con l'idea di confrontare più facilmente prodotti ed organizzazioni. Questa idea può essere contrastata dalle differenti definizioni operative adottate da varie organizzazioni. Per il sw: – – QPsw modo di contare le LOC linguaggio utilizzato (Motorola propone l'assembler) 05FTM.39 Esercizio sulla caratterizzazione statistica di un insieme di dati QPsw 05FTM.40 Grandezze di riferimento • • • 1. 2. 3. 4. 5. 6. 7. Sia dato un multi-insieme di N valori appartenenti ad una scala almeno ordinale Sia x1 .. XN un ordinamento parziale di tali valori Per caratterizzare i dati in questione occorre calcolare: la media μ la deviazione standard σ e la varianza σ2 il valore massimo ed il valore minimo x1 ed xN la mediana Me (Q2) il primo ed il terzo quartile Q1 e Q3 la moda la distribuzione di frequenza N.B. Tutte queste grandezze sono facilmente calcolabili con Excel (occorre attivare l'insieme di funzioni statistiche: Tools/Add-ins/AnalysisToolPak) 05FTM.41 QPsw Media, deviazione standard, varianza e mediana • Media deviazione standard e varianza si calcolano banalmente – μ= (x1+ x2+... +xN)/N – σ2=[(x1-m)2+ (x2-m)2 +...(xN-m)2]/N – σ=( σ2)1/2 • Se i dati raccolti sono dispari la mediana corrisponde al numero che divide a metà l'elenco ordinato dei dati: – 1 3 7 9 12 25 77 : Me = 9 • Se i dati raccolti sono pari la mediana corrisponde alla media dei due numeri centrali – 1 3 7 9 12 25 77 99 : Me = (9+12)/2=10.5 QPsw 05FTM.42 Calcolo del generico percentile • L’indice del k-esimo percentile è dato da: Ik = (N+1)×k /100 • Dall’indice si ricava quindi il valore esatto con un’interpolazione lineare tra i due dati (con indici pari all’intero prima e dopo di Ik ) • Esempio N=14 dati. Calcoliamo il 23-esimo precentile – I23 = (14+1)×23 /100 = 3.45 – Il valore del 23-esimo percentile sarà compreso tra il 3° ed il 4° dato (x3 e x4) – Numericamente vale x3 + (x4 – x3) × 0.45 (interpolazione lineare) • Alcuni programmi di calcolo si limitano ad effettuare la media tra i due dati adiacenti che comprendono il percentile considerato (Matlab). Anche Excel segue una sua logica personale... – Con parecchi dati l'approssimazione introdotta è trascurabile 05FTM.43 QPsw Esempio numerico Dati i seguenti N=10 valori 7 7 10 15 23 27 29 35 47 99 calcolare il primo quartile, la mediana ed il terzo quartile. • L’indice del primo quartile Q1 vale: I25 = (10+1)×25 /100 = 2.75 --> Q1 cade tra il secondo ed il terzo valore Quindi Q1= x2 + (x3 – x2) × 0.75 = 7+(10-7) × 0.75 =9.25 • La mediana Me (o Q2) è pari a (23+27)/2=25 • L’indice del terzo quartile Q3 vale: I75 = (10+1)×75 /100 = 8.25 -> Q3 cade tra l'ottavo ed il nono valore Quindi Q1= x8 + (x9 – x8) × 0.25 = 35+(47-35) × 0.25 =38 QPsw 05FTM.44 Quartili e percentili con Excel QPsw 05FTM.45 Rappresentazione grafica delle grandezze calcolate: Boxplot QPsw 05FTM.46 Boxplot con Excel (occorre una macro) 05FTM.47 QPsw Distribuzione con Excel QPsw 05FTM.48 Un esempio interessante • .... 05FTM.49 QPsw 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. – – QPsw 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. 05FTM.50 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). 05FTM.51 QPsw Affidabilità e validità di una misura Affidabile ma non valida QPsw Valida ma non affidabile Affidabile e Valida 05FTM.52 Errori di misura (1) • l risultato di un’operazione di misura è un numero reale M che dovrebbe catturare il valore vero T del fenomeno in esame • L’esperienza indica che, se si eseguono più misurazioni di una stessa quantità, raramente le misure coincidono – I valori misurati (M) sono in genere diversi dal vero valore T • La differenza tra il valore misurato e quello vero è detta errore totale (ET) M = T + ET misura valore vero errore totale 05FTM.53 QPsw Errori di misura (2) • La misurazione non consente di determinare con certezza il vero valore della quantità misurata, ma produce stime la cui capacità di approssimare il vero valore (attendibilità) dipende dal metodo analitico e da come è stato eseguito il procedimento analitico. – È necessario considerare la natura degli errori di misura ET = Egrossolani + Esistematici + Ecasuali Si prevengono con un’accorta organizzazione dell’analisi QPsw Costituiscono oggetto tipico della metodologia statistica Esistematici Influenzano la validità Ecasuali Influenzano l’affidabilità 05FTM.54 Errori di misura (3) • Gli errori sistematici influenzano la validità e, come dice il nome, 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= T + 1kg + variazione casuale ovvero M= T + Es + Ec • la misura non è valida – se assumiamo che il termine Es non sia presente, ovvero che ci siano solo errori casuali la formula vale: – M= T + Ec – se il termine Ec è relativo ad un fenomeno veramente casuale il suo contributo medio è nullo (valore atteso E(Ec)=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 05FTM.55 QPsw Errori di misura(4) • Qual'è l'effetto di un errore casuale e sull' affidabilità? Intuitivamente più e è piccolo meno influisce. In formule: M = T + Ec e quindi var(M)= var(T) + var(Ec) • si definisce formalmente l'affidabilità di una misura come il rapporto tra la varianza della quantità misurata e la varianza della misura: ρm=var(T)/var(M) = [var(M)-var(Ec)]/var(M)= 1- [var(Ec)/var(M)] • Utilizzando questa definizione, l'affidabilità oscilla tra 1 e 0 • Riassumendo – Gli errori sistematici influenzano la validità – Gli errori casuali influenzano l'affidabilità QPsw 05FTM.56 Valutare l'affidabilità • Ci sono vari modi per valutare l'affidabilità definita come var(T)/var(M) • Uno dei metodi più adatti al contesto del sw è quello del doppio test • L'idea è quella di effettuare più volte una doppia misura M1 = T + Ec1 M2 = T + Ec2 • e poi di effettuare la correlazione tra le varie misure ottenendo proprio l'affidabilità • ρm = Correlazione(M1,M2)=var(T)/var(M) • Ovviamente le attività di misura automatiche hanno affidabilità pari ad 1 ed il metodo del doppio test ha senso su attività manuali tipo ispezioni. • Ad esempio è possibile fare eseguire la stesse attività di ispezione a due persone, e.g., contare le deviazioni dallo standard della stessa classe Java. Se questa attività viene ripetuta più volte è possibile calcolare l'affidabilità del processo ispettivo. 05FTM.57 QPsw Correlazione • Indica l'esistenza o meno di una relazione tra due variabili • La più nota è la correlazione di Pearson che varia da -1 (correlazione negativa) a +1 (correlazione postiva) • Valida solo per relazioni lineari QPsw 05FTM.58 Esempi M2 M2 M2 M1 +1 M1 -1 M1 0 05FTM.59 QPsw Correlazione con Excel QPsw 05FTM.60 Statistica inferenziale 05FTM.61 QPsw Grandezze di interesse • Si vuole analizzare una popolazione di M elementi (M non è noto) tramite un campione di N elementi {x1,...,xn}, e si definiscono i seguenti parametri: • media (campionaria) m = (x1+ x2+... +xN)/N • varianza (campionaria) var=[(x1-m)2+ (x2-m)2 +...(xN-m)2]/(N-1) • deviazione standard (campionaria) σ=var1/2 • percentili / mediana / moda / • i parametri in questione sono variabili casuali, il cui valore dipende dalla casualità del campionamento • tipicamente (auspicabilmente) gli elementi del campione si distribuiscono secondo una distribuzione normale (o gaussiana) e questo permette di effettuare delle stime – o, se così non è, si assume che lo sia.... – analisi Montecarlo... QPsw 05FTM.62 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? • La statistica inferenziale permette di stimare (probabilisticamente) l'errore commesso 05FTM.63 QPsw 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 deviazione standard del campione ed inversamente proporzionale al numero di campioni N1/2 • Un parametro di riferimento tipico è il 95% e le formule 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" (Unica implementata da Excel) • N.B. Per dimezzare l'intervallo di confidenza occorre quadriplicare il numero dei campioni QPsw 05FTM.64 Intervallo di confidenza 95% dei dati m-1.96 σ m m+1.96 σ 1.96*σ/N1/2 per N "grande" Possiamo diminuire od aumentare la probabilità di errore (usando formule con parametri diversi) L'intervallo di confidenza varia in modo inverso: probabilità di errore più bassa: intervallo di confidenza più grande 05FTM.65 QPsw Esempio • Raccolgo 10 voti 26, 21, 29, 26, 21, 28, 27, 26, 29, 27 • m= 26 • σ= 2.87 • 2.26*σ/101/2 =2.05 • quindi la media vera (26.29), al 95%, cade nell'intervallo [26-2.05, 26+2.05] = [23.95, 28.05] • • • • • QPsw Se prendo 20 voti m= 26.75 σ= 3.02 2.26*σ/201/2 =1.41 quindi la media vera (26.29), al 95%, cade nell'intervallo [26.75-1.41, 26.75+1.41] = [25.34, 28.16] 05FTM.66 Verifica d'ipotesi 05FTM.67 QPsw Verifica d’ipotesi(1) • Molto spesso nell’ambito della ricerca sperimentale è necessario confrontare tra loro serie di misure ripetute (es. confronto di risultati di due o più metodi) – Il confronto può essere condotto mediante appropriati test statistici – I test statistici consistono nel mettere alla prova l’ipotesi che certi parametri delle popolazioni (es. medie ) siano uguali – l'ipotesi che le medie "vere" siano tutte uguali (e quindi che le differenze osservate siano casuali) è detta ipotesi nulla – Il test viene condotto fissando a priori la probabilità di errore che potenzialmente può essere commesso (α) QPsw 05FTM.68 Verifica d’ipotesi(2) • Un’ipotesi statistica è una asserzione o supposizione sulla distribuzione di una o più variabili casuali e si indica con la lettera H • Il test può essere ricondotto alla seguente domanda: – presi due campioni della stessa misura , Ca e Cb, con che probabilità posso affermare che appartengono alla stessa popolazione ? • Generalmente si mettono a confronto due ipotesi, contrarie tra loro: – Ipotesi H0 (IPOTESI NULLA). Costituisce l’oggetto della verifica: specifica i valori dei parametri della popolazione da cui si suppone provenga il campione in esame H 0 : Θa = Θ b • Dove Θ indica il parametro di interesse (generalmente la media) – Ipotesi H1 (IPOTESI ALTERNATIVA). Contraria alla precedente H1: Θa != Θb • Il tutto sempre condizionato ad una certa probabilità di errore (α) • Il tipico valore di soglia è α=0.05: – α > 0.05 -> scegliamo H0 – α <=0.05 -> scegliamo H1 05FTM.69 QPsw Esempio (1) • Supponiamo di aver sviluppato due interfacce per la stessa applicazione e vogliamo capire quale delle due riscuota la maggiore soddisfazione da parte degli utenti • Intervistiamo 7 utenti che hanno utilizzato il prototipo Pa e 7 utenti che hanno usato il prototipo Pb • Analizziamo in quest’esempio le risposte alla domanda che indaga la soddisfazione del cliente – le risposte ammissibili sono valori da 1 a 6 dove 1 indica un basso grado di soddisfazione e sei un alto grado di soddisfazione (N.B. NON è una scala di Likert, ma è un voto: è almeno una scala a intervalli) • Nella tabella che segue sono riportate le risposte ottenute con le due indagini μ a . = (1 + 6 + 1 + 1 + 6 + 6 + 2 ) / 7 = 3, 286 μ b . = (5 + 3 + 1 + 6 + 2 + 4 + 1) / 7 = 3,143 QPsw 05FTM.70 Esempio(2) • La differenza osservata è reale ? { H0: (ipotesi nulla): μa=μb H1: (altra ipotesi): μa≠μb SE È VERA H0 SE È VERA H1 ... e in base al campione decido che è vera H0 decisione giusta protezione: (1-α) decisione sbagliata errore di tipo II: β ... e in base al campione decido che è vera H1 decisione sbagliata errore di tipo I: α decisione giusta potenza: (1-β) Protezione (1-α): probabilità di accettare H0 quando è vera H0 Potenza del test (1-β): probabilità di rifiutare H0 quando è vera una specifica H1 Rischio di errore di tipo I (α): probabilità di rifiutare H0 quando è vera H0 Rischio di errore di tipo II (β): probabilità di accettare H0 quando è vera una specifica H1 05FTM.71 QPsw Confronto tra due campioni • Se i campioni da confrontare sono due possiamo utilizzare l'intervallo di confidenza cm2 due medie QPsw cm1 cm1 cm1 cm2 due intervalli di confidenza che potenzialmente sottointendono una media comune cm2 due intervalli di confidenza che potenzialmente NON sottointendono una media comune 05FTM.72 t-test • La tecnica è nota con il nome di t-test, confrontando la differenza delle medie con la dispersione dei dati (espressa tramite la deviazione standard) | μa − μb | t= σa +σb 2 2 = 0 ,126 n • Il valore trovato si confronta con la distribuzione di t, tipicamente espressa tramite una tabella che indica la probabilità α che la differenza delle medie sia casuale 05FTM.73 QPsw Tabella t-test α 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 0.10 3.078 1.886 1.638 1.533 1.476 1.440 1.415 1.397 1.383 1.372 1.363 1.356 1.350 1.345 1.341 1.337 0.05 6.314 2.920 2.353 2.132 2.015 1.943 1.895 1.860 1.833 1.812 1.796 1.782 1.771 1.761 1.753 1.746 0.025 12.706 4.303 3.182 2.776 2.571 2.447 2.365 2.306 2.262 2.228 2.201 2.179 2.160 2.145 2.131 2.120 0.01 31.821 6.965 4.541 3.747 3.365 3.143 2.998 2.896 2.821 2.764 2.718 2.681 2.650 2.624 2.602 2.583 0.005 0.001 63.657 318.313 9.925 22.327 5.841 10.215 4.604 7.173 4.032 5.893 3.707 5.208 3.499 4.782 3.355 4.499 3.250 4.296 3.169 4.143 3.106 4.024 3.055 3.929 3.012 3.852 2.977 3.787 2.947 3.733 2.921 3.686 ... Distribuzione di t per 10 gradi di libertà Si distinguono i casi a due code (α/2) da i casi ad una coda (α) QPsw t 05FTM.74 Tabella t-test 0.10 μ a . = (1 + 6 + 1 + 1 + 6 + 6 + 2 ) / 7 = 3, 286 μ b . = (5 + 3 + 1 + 5 + 2 + 4 + 2 ) / 7 = 3,143 t= | μa − μb | σ a2 + σ b2 n = 0 ,126 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 3.078 1.886 1.638 1.533 1.476 1.440 1.415 1.397 1.383 1.372 1.363 1.356 1.350 1.345 1.341 1.337 0.05 6.314 2.920 2.353 2.132 2.015 1.943 1.895 1.860 1.833 1.812 1.796 1.782 1.771 1.761 1.753 1.746 0.025 12.706 4.303 3.182 2.776 2.571 2.447 2.365 2.306 2.262 2.228 2.201 2.179 2.160 2.145 2.131 2.120 0.01 31.821 6.965 4.541 3.747 3.365 3.143 2.998 2.896 2.821 2.764 2.718 2.681 2.650 2.624 2.602 2.583 0.005 0.001 63.657 318.313 9.925 22.327 5.841 10.215 4.604 7.173 4.032 5.893 3.707 5.208 3.499 4.782 3.355 4.499 3.250 4.296 3.169 4.143 3.106 4.024 3.055 3.929 3.012 3.852 2.977 3.787 2.947 3.733 2.921 3.686 • Si calcolano i gradi di libertà: 7+7-2=12 e si cerca nella riga corrispondente il valore corrispondente alla probabilità a che ci interessa (α/2 nel caso di due code), ovvero 0.025-->2.179 • Il t trovato, 0.126 NON è maggior di 2.179 quindi α è più grande di 0.05 e dobbiamo scegliere l'ipotesi nulla 05FTM.75 QPsw T-test con Excel QPsw 05FTM.76 Altro esempio μ a . = (3 + 4 + 4 + 4 + 4 + 4 + 3) / 7 = 3,714 μ b . = (3 + 3 + 3 + 3 + 3 + 4 + 3) / 7 = 3,143 t= | μa − μb | σa +σb 2 2 = 2 , 449 n 05FTM.77 QPsw Tabella t-test 0.10 0.05 0.025 0.01 0.005 0.001 μ a . = ( 3 + 4 + 4 + 4 + 4 + 4 + 3) / 7 = 3,714 μ b . = (3 + 3 + 3 + 3 + 3 + 4 + 3) / 7 = 3,143 t= | μa − μb | σ a2 + σ b2 n = 2 , 449 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 3.078 1.886 1.638 1.533 1.476 1.440 1.415 1.397 1.383 1.372 1.363 1.356 1.350 1.345 1.341 1.337 6.314 2.920 2.353 2.132 2.015 1.943 1.895 1.860 1.833 1.812 1.796 1.782 1.771 1.761 1.753 1.746 12.706 4.303 3.182 2.776 2.571 2.447 2.365 2.306 2.262 2.228 2.201 2.179 2.160 2.145 2.131 2.120 31.821 6.965 4.541 3.747 3.365 3.143 2.998 2.896 2.821 2.764 2.718 2.681 2.650 2.624 2.602 2.583 63.657 318.313 9.925 22.327 5.841 10.215 4.604 7.173 4.032 5.893 3.707 5.208 3.499 4.782 3.355 4.499 3.250 4.296 3.169 4.143 3.106 4.024 3.055 3.929 3.012 3.852 2.977 3.787 2.947 3.733 2.921 3.686 • Si calcolano i gradi di libertà: 7+7-2=12 e si cerca nella riga corrispondente il valore corrispondente alla probabilità a che ci interessa (α/2 nel caso di due code), ovvero 0.025-->2.179 • Il t trovato, 2.449 é maggior di 2.179 quindi α è più piccolo di 0.05 e possiamo scartare l'ipotesi nulla QPsw 05FTM.78 T-test con Excel 05FTM.79 QPsw Valori comuni di α (p-value) • Un α pari a 0.05 ci dice che c'è la possibilità del 5% che la differenza di media trovata • 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 QPsw 05FTM.80 Quindi • Se decido di scegliere H1 ho una probabilità di errore pari ad α • Se decido di scegliere H0 ho una probabilità di errore pari a (1-α) 05FTM.81 QPsw E se ho più di 2 campioni ? • se si effettuano tre n*(n-1)/2 t-test con α=0.05 la probabilità di trovare tre differenze è 0.95x0.95x0.95= 0.86 • con n=5 sono necessari 10 confronti.... • In generale per n>2 campioni su utilizza una tecnica di analisi della varianza (ANOVA) concettualmente simile al ttest ma che prende in considerazione tutte le medie insieme QPsw 05FTM.82 ANalysisOfVAriance • L’analisi della varianza (ANOVA) è un test statistico per la verifica d’ipotesi • L’ANOVA è un insieme di tecniche statistiche facenti parte della statistica inferenziale che permettono di confrontare due o più gruppi di dati confrontando la variabilità interna a questi gruppi con la variabilità tra gruppi • L’ipotesi nulla solitamente prevede che i dati di tutti i gruppi abbiano la stessa origine, ovvero la stessa distribuzione stocastica, e che le differenze osservate tra i gruppi siano dovute solo al caso • Il confronto si basa sull’idea che se la variabilità interna ai gruppi è relativamente elevata rispetto alla variabilità tra i gruppi, allora probabilmente la differenza tra questi gruppi è soltanto il risultato della variabilità interna. • Il più noto insieme di tecniche si basa sul confronto della varianza e usa variabili di test distribuite come la variabile casuale F di Snedecor • Nota Bene: t-test ed Anova su due gruppi sono perfettamente equivalenti QPsw Analisi statistica dei dati 05FTM.83 Come funziona • Qual è la logica dell’ANOVA? • quali ipotesi sono sottoposte a verifica e quale ragionamento porta all’accettazione o al rifiuto di esse? ¾ Nell’ANOVA le ipotesi sono: H0: μ1 = μ2 =…μK H1: almeno 2 delle medie sono differenti QPsw Analisi statistica dei dati 05FTM.84 Come funziona • Per confrontare i risultati dei diversi esperimenti (es. per controllare l’effetto dei diversi livelli di controllo del sw, ossia per testare la differenza tra le medie dei gruppi sottoposti ai diversi livelli di controllo), separiamo la variabilità complessiva della variabile dipendente in due fonti di variabilità: • Varianza Between (VarB): attribuibile alla varianza tra gruppi • Varianza Within (VarW): residua all’interno dei gruppi, varianza entro i gruppi ¾ Dal confronto delle due varianze possiamo decidere se le differenze osservate nei diversi esperimenti sono significative, ossia se rappresentano effettivamente due popolazioni differenti (es. i controlli diversi hanno avuto effetto oppure no) oppure sono una manifestazione casuale ¾ NB: lavoriamo sulla scomposizione della varianza, ma stiamo facendo inferenza sulle medie 05FTM.85 QPsw Come funziona • L’ANOVA, si applica nel caso si vogliano confrontare gli effetti medi di una variabile su I campioni distinti: {C1,…,CI }. • Ciascun campione è assunto avere lo stesso numero J di soggetti (ma non è obbligatorio) Yij è la j-esima osservazione sull’ i-esimo campione Dove: J − Media del campione i : μ i = ( ∑ Yij ) / J j =1 I − media generale: μ = (∑ μ i ) / I i =1 QPsw 05FTM.86 Come funziona IDENTITA’ PRINCIPALE DELL’ANOVA (somma dei quadrati) SS totale = SSW + SSB Ovvero: I J ∑ ∑ (Y i =1 Dove: − μ ) =∑ ij j =1 I 2 i =1 J ∑ (Y j =1 ij − μi ) + J ∑ (μi − μ )2 i =1 J I μ i = ( ∑ Yij ) / J SS B = J ∑ ( μ i − μ ) 2 j =1 I J i =1 j i =1 μ = ( ∑ ∑ Yij ) / IJ I SS W = ∑ i =1 I 2 I SS T = ∑ i =1 J ∑ (Y j =1 ij J ∑ (Y j =1 ij − μ )2 − μi )2 05FTM.87 QPsw Test di Fisher • Dalla teoria dei valori attesi si ricava: F = • SS B /( I − 1) SS W /[ I ( J − 1)] FI −1, ( I ( J −1)) È stato dimostrato che questo test ha una distribuzione campionaria F di Snedecor con (I-1) e (I(J-1)) gradi di libertà (F(I-1),(I(J-1)) ) • noti tali gradi di libertà (numeratore e denominatore) è possibile valutare la probabilità associata ai valori di F • per un valore α (p-value) prefissato, solitamente α=0.05, questo test ci dice quando l’ipotesi nulla è accettata ( F(I-1),(I(J-1)) ) QPsw ~ F<F(I-1),(I(J-1)) ) e quando viene rifiutata ( F> 05FTM.88 Test di Fisher • Criterio decisionale: ⎧⎪ accetto se F <= FI −1, I ( J −1) H0 = ⎨ ⎪⎩ rifiuto se F > FI −1, I ( J −1) 05FTM.89 QPsw Esempio QPsw 05FTM.90 Esempio (2 campioni per semplicità) μ a = (1 + 6 + 1 + 1 + 6 + 6 + 2 ) / 7 = 3, 28 μ b = (5 + 3 + 1 + 6 + 2 + 4 + 1) / 7 = 3,14 μ = (1 + 6 + 1 + 1 + 6 + 6 + 2 + 5 + 3 + 1 + 5 + 2 + 4 + 2 ) / 14 = 3, 21 SS B = 7[( 3, 28 − 3, 21) 2 + (3,14 − 3, 21) 2 ] = 0,0714 SS W = (1 − 3, 28 ) 2 + ( 6 − 3, 28 ) 2 + (1 − 3, 28 ) 2 + (1 − 3, 28 ) 2 + ( 6 − 3, 28 ) 2 + ( 6 − 3, 28 ) 2 + ( 2 − 3, 28 ) 2 + + (5 − 3,14 ) 2 + (3 − 3,14 ) 2 + (1 − 3,14 ) 2 + ( 6 − 3,14 ) 2 + ( 2 − 3,14 ) 2 + ( 4 − 3,14 ) 2 + (1 − 3,14 ) 2 = 62 , 29 F = 0,0714 /( 2 − 1) = 0,01376 62 , 29 /[ 2 ( 7 − 1)] F1,12 = 4 ,75 << Accetto Ho 05FTM.91 QPsw Esempio con Excel Analisi varianza: ad un fattore RIEPILOGO Gruppi Colonna 1 Colonna 2 Conteggio 7 7 Somma Media Varianza 23 3,285714 6,571429 22 3,142857 3,809524 ANALISI VARIANZA Origine della variazione Tra gruppi In gruppi SQ 0,071429 62,28571 Totale 62,35714 QPsw gdl MQ F Valore di significatività F crit 1 0,071429 0,013761 0,908555546 4,747225 12 5,190476 13 05FTM.92 Analisi della varianza ANOVA sulla relazione linee testate e andamento dei difetti • Quasi sempre il tentativo di dimostrare una ipotesi si concretizza nel 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) 05FTM.93 QPsw 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 QPsw 05FTM.94 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 Anova ci permette di valutare la probabilità che le medie siano differenti per caso QPsw 05FTM.95 Altamente Significativo QPsw 05FTM.96 Per nulla Significativo 05FTM.97 QPsw Post hoc test (1) • L'esperimento appena effettuato ci dice che i tre campioni non appartengono alla stessa popolazione (ovvero che la probabilità che i tre campioni appartengano alla stessa popolazione è α=0.000166) • Questo non implica che appartengono a tre popolazioni differenti! Ad esempio il gruppo al 70% ed il grupppo al 90% potrebbero avere la stessa media... • E' quindi necessario confrontare le singole coppie n*(n-1)/2=3 • Il problema è stato analizzato negli ultimi 50 anni ed ancora manca una soluzione definitiva QPsw 05FTM.98 Post hoc test : Fisher protected test • • E' il metodo più applicato e prevede di utilizzare i test a coppie solo dopo che anova ha confermato la significatività delle differenze Ad esempio 1. 50, 70 e 90 non hanno la stessa media (p=0.000166) Anova a 3 2. 50 e 70 hanno medie differenti (P1=0.012) Anova a 2 o t-test 3. 70 e 90 hanno medie differenti (P2=0.010) Anova a 2 o t-test 4. 50 e 90 hanno medie differenti (P3=0.00037) Anova a 2 o t-test • In questo caso possiamo anche affermare che 50, 70 e 90 hanno le medie tutte differenti : – (1-p1)(1-p2)(1-p3)=0.977 e – P123=1-0.977=0.022 50-70 70-90 50-90 05FTM.99 QPsw Esercitazione conclusiva su ANOVA QPsw 05FTM.100 Esperimento sul naming convenction • Il sistema qualità della sw house Acme sta studiando l'influenza della naming convenction sulla leggibilità del codice con particolare attenzione alla fase di integrazione. • In particolare, il sistema qualità ha messo a punto 3 differenti tecniche di naming convenction NC1, NC2, NC3 e vuole indagare se esista una relazione tra la tecnica adottata ed il numero di errori individuati in fase di test di integrazione • Progetto di un esperimento per validare questa ipotesi. 05FTM.101 QPsw Variabili dipendenti ed indipendenti Struttura dell'esperimento • Variabile indipendente: tipo di naming convenction adottata • Variabile dipendente: numero di errori trovati durante il test di integrazione per KLOC • Le differenti tecniche di naming convenction vengono impegate in tre progetti simili (si cerca di eliminare l'influenza di altri fattori), A, B, C. • I programmatori coinvolti nei progetti e la metodologia di gestione dei progetti sono simili. • Durante la fase di integrazione si analizzano 6 classi del progetto A, sei del progetto B e sei del progetto C, ottenendo i seguenti valori: – A (15, 14, 20, 22, 19, 20) media 18.3 var 9.9 – B (23, 25, 22, 28, 19, 20) media 22.8 var 11.0 – C (15, 16, 15, 18, 16, 22) media 17.0 var 7.2 QPsw 05FTM.102 3 Ipotesi per applicare ANOVA • 1 ) Indipendenza – k campioni presi in modo casuale da k popolazioni • 2) Distribuzione normale – i k campioni presentano una distribuzione normale – oppure la distribuzione di piccoli campioni è grossomodo simmetrica (boxplot) – oppure campione grande (n>30) : teorema del limite centrale – In alternativa: test non parametrici... • 3) Stessa varianza – i k campioni presentano la stessa varianza – Test di Levene (non in Excel!) – oppure test empirco (Excel) rapp massimo 2 05FTM.103 QPsw Distribuzione normale ? Ragionevolmente simmetriche rispetto alla media QPsw 05FTM.104 Altrimenti : Teorema del limite centrale • Si consideri una successione di variabili casuali indipendenti e identicamente distribuite, e in particolare tali che esistano, finiti, i loro momenti di ordine primo e secondo, e sia • definita allora la nuova variabile casuale: dove x è la media aritmetica degli xj, si ha che Sn converge a una variabile casuale normale avente valore atteso 0 e varianza 1 05FTM.105 QPsw Assumiamo le ipotesi soddisfatte: Anova single factor Ipotesi nulla Ho-> mediaA=mediaB=mediaC Possiamo rifiutare l'ipotesi nulla (P=0.00834) Qundi ALMENO una media è differente QPsw 05FTM.106 Post hoc test : Fisher protected test • A valle di un test ANOVA che ha rifiutato l'ipotesi nulla possiamo effettuare n(n-1) ttest B>A B>C media A = media B Quindi sicuramente possiamo scartare B Non siamo in grado di scegliere tra A e C QPsw 05FTM.107