SPIQ. Bruk av enkle statistiske metoder i prosessforbedring. Software Process Improvement for better Quality



Like dokumenter
Sentralverdi av dataverdi i et utvalg Vi tenker oss et utvalg med datapar. I vårt eksempel har vi 5 datapar.

Oppgave 1 (25 %) Resultater fra QM: a) Maximin = 0 ved ikke å lansere. b) Maximax = for produkt 2.

Kp. 13. Enveis ANOVA

Universitetet i Agder Fakultet for økonomi og samfunnsfag E K S A M E N

OPPGAVESETTET BESTÅR AV 3 OPPGAVER PÅ 6 SIDER MERKNADER: Alle deloppgaver vektlegges likt.

HØGSKOLEN I STAVANGER

Institutt for økonomi og administrasjon

Analyse av kontinuerlige data. Intro til hypotesetesting. 21. april Seksjon for medisinsk statistikk, UIO. Tron Anders Moger

MOT310 Statistiske metoder 1, høsten 2006 Løsninger til regneøving nr. 7 (s. 1) Oppgaver fra boka: n + (x 0 x) 2 σ2

Sammenlikninger av gjennomsnitt. SOS1120 Kvantitativ metode. Kan besvare to spørsmål: Sammenlikning av to gjennomsnitt

MOT310 Statistiske metoder 1, høsten 2011 Løsninger til regneøving nr. 7 (s. 1) Oppgaver fra boka: n + (x 0 x) 2 1. n + (x 0 x) 1 2 ) = 1 γ

MOT310 Statistiske metoder 1, høsten 2006 Løsninger til regneøving nr. 8 (s. 1) Oppgaver fra boka:

EKSAMENSOPPGAVER STAT100 Vår 2011

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Tillatte hjelpemidler: C3: alle typer kalkulator, alle andre hjelpemidler

EKSAMEN I FAG TMA4255 ANVENDT STATISTIKK

Datamatrisen: observasjoner, variabler og verdier. Variablers målenivå: Nominal Ordinal Intervall Forholdstall (ratio)

SOS1120 Kvantitativ metode. Regresjonsanalyse. Lineær sammenheng II. Lineær sammenheng I. Forelesningsnotater 11. forelesning høsten 2005

Eksamensoppgave i PSY2017/PSYPRO4317 Statistikk og kvantitative forskningsmetoder

63,4. $QDO\VHRJSUHVHQWDVMRQDYPnOHGDWD 6RIWZDUH 3URFHVV,PSURYHPHQW IRUEHWWHU4XDOLW\

Kort overblikk over kurset sålangt

3.A IKKE-STASJONARITET

Til bruk i metodeundervisningen ved Høyskolen i Oslo

Befolkning og velferd ECON 1730, H2016. Regresjonsanalyse

Oppgave 1. Det oppgis at dersom y ij er observasjon nummer j fra laboratorium i så er SSA = (y ij ȳ i ) 2 =

Eksamensoppgave i ST3001

MASTER I IDRETTSVITENSKAP 2014/2016. Utsatt individuell skriftlig eksamen. STA 400- Statistikk. Mandag 24. august 2015 kl

1 8-1: Oversikt : Grunnleggende hypotesetesting. 3 Section 8-3: Å teste påstander om andeler. 4 Section 8-5: Teste en påstand om gjennomsnittet

Inferens i regresjon

Eksamen i : STA-1002 Statistikk og. Eksamensdato : 26. september Sted : Administrasjonsbygget. Tillatte hjelpemidler : - Godkjent kalkulator

MASTER I IDRETTSVITENSKAP 2014/2016. Individuell skriftlig eksamen. STA 400- Statistikk. Fredag 13. mars 2015 kl

ST0202 Statistikk for samfunnsvitere Kapittel 9: Inferens om én populasjon

Oppgave 1. T = 9 Hypotesetest for å teste om kolesterolnivået har endret seg etter dietten: T observert =

Forelesning 13 Regresjonsanalyse

Tid: Torsdag 11.desember 9:00 12:30 (3.5 timer) Emneansvarlig: Solve Sæbø, Tlf

6.2 Signifikanstester

UNIVERSITETET I OSLO

MOT310 Statistiske metoder 1, høsten 2011

Høye skårer indikerer høye nivåer av selvkontroll.

Mer om hypotesetesting

Oppgave 1. X 1 B(n 1, p 1 ) X 2. Vi er interessert i forskjellen i andeler p 1 p 2, som vi estimerer med. p 1 p 2 = X 1. n 1 n 2.

UNIVERSITETET I OSLO

Forelesning 13 Analyser av gjennomsnittsverdier. Er inntektsfordelingen for kvinner og menn i EU-undersøkelsen lik?

UNIVERSITETET I OSLO

Statistikk, FO242N, AMMT, HiST 2. årskurs, 30. mai 2007 side 1 ( av 8) LØSNINGSFORSLAG HØGSKOLEN I SØR-TRØNDELAG

1 10-2: Korrelasjon : Regresjon

Sentralmål og spredningsmål

EKSAMEN I FAG TMA4260 INDUSTRIELL STATISTIKK

Redd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon

Statistikk 1. Nico Keilman. ECON 2130 Vår 2014

EKSAMEN I FAG TMA4255 FORSØKSPLANLEGGING OG ANVENDTE STATISTISKE METODER

+ S2 Y ) 2. = (avrundet nedover til nærmeste heltall) n Y 1

2. Hva er en sampelfordeling? Nevn tre eksempler på sampelfordelinger.

Multippel regresjon. Her utvider vi perspektivet for enkel lineær regresjon til også å omfatte flere forklaringsvariable x 1, x 2,, x p.

HØGSKOLEN I STAVANGER

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Hvordan analysere måledata vha statistisk prosesskontroll? Side 2

Tallinjen FRA A TIL Å

ST0202 Statistikk for samfunnsvitere Kapittel 13: Lineær regresjon og korrelasjon

Tillatte hjelpemidler: C3: alle typer kalkulator, alle andre hjelpemidler

I enkel lineær regresjon beskrev linja. μ y = β 0 + β 1 x

Statistikk og dataanalyse

OM EXTRANET OG KAMPANJENS MÅLINGER (innsatsområdene UVI og SVK) Side 2

MASTER I IDRETTSVITENSKAP 2018/2020. Individuell skriftlig eksamen. STA 400- Statistikk. Mandag 18. mars 2019 kl

UNIVERSITETET I OSLO

QED 1 7. Matematikk for grunnskolelærerutdanningen. Bind 2. Fasit kapittel 4 Statistikk og kvantitativ metode

UNIVERSITETET I OSLO

Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Ved sensuren teller alle delspørsmål likt.

Løsningsforslag til obligatorisk innlevering 3.

EKSAMEN I FAG TMA4275 LEVETIDSANALYSE Mandag 27. mai 2013 Tid: 09:00 13:00

UNIVERSITETET I OSLO

Lineære modeller i praksis

Løsningsforslag Til Statlab 5

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

Statistikk er begripelig

Page 1 EN DAG PÅ HELSESTASJONEN. Lises klassevenninnner. Formelen: Du har en hypotese om vanlig høyde

Løsningsforslag øving 9, ST1301

Telle i kor steg på 120 frå 120

Snøtetthet. Institutt for matematiske fag, NTNU 15. august Notat for TMA4240/TMA4245 Statistikk

ST0202 Statistikk for samfunnsvitere

Eksamen i. MAT110 Statistikk 1

Eksamensoppgave i TMA4255 Anvendt statistikk

Tid: 29. mai (3.5 timer) Ved alle hypotesetester skal både nullhypotese og alternativ hypotese skrives ned.

Supplement til power-point presentasjonen i medisinsk statistikk, forelesning 7 januar Skrevet av Stian Lydersen 16 januar 2013

Emnenavn: Eksamenstid: Faglærer: Bjørnar Karlsen Kivedal

Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Ved sensuren teller alle delspørsmål likt.

UNIVERSITETET I OSLO

MAT4010 PROSJEKTOPPGAVE: Statistikk i S2. Olai Sveine Johannessen, Vegar Klem Hafnor & Torstein Mellem

Fra krysstabell til regresjon

Oppgaver til Studentveiledning I MET 3431 Statistikk

Oppgave 1. og t α/2,n 1 = 2.262, så er et 95% konfidensintervall for µ D (se kap 9.9 i læreboka): = ( 0.12, 3.32).

Utfordringer knyttet til statistisk analyse av komposittdata

Denne uken: kap : Introduksjon til statistisk inferens. - Konfidensintervall - Hypotesetesting - P-verdier - Statistisk signifikans

Hva kan bidra til å styrke vår emosjonelle utvikling, psykiske helse og positive identitet?

ST0202 Statistikk for samfunnsvitere

ADDISJON FRA A TIL Å

GeoGebra-opplæring i Matematikk 2P

Statistisk behandling av kalibreringsresultatene Del 2. v/ Rune Øverland, Trainor Elsikkerhet AS

Kvikkbilde 8 6. Mål. Gjennomføring. Planleggingsdokument Kvikkbilde 8 6

Transkript:

SPIQ Software Process Improvement for better Quality SAMMENSTILL ANALYSER GJENNOMFØR KARAKTERISER SETT MÅL PLANLEGG Bruk av enkle statistiske metoder i prosessforbedring Versjon:...V1.0 Dato:...98-09-11 Status:...i arbeid Forfatter:...Tor Stålhane Tilgjengelighet:...SPIQ intern

1. Innledning Dette bruksnotatet inneholder en kort innføring i de statistiske metodene som vi i SPIQ har funnet ut at bedriftene oftest trenger. Dette er ikke en generell innføring i statistisk analyse, men en Hvordan gjøre det beskrivelse for de som trenger å gå fra tall til fakta mens man holder på med prosessforbedring. For å forenkle presentasjonen og bruken har vi bygd på det som er tilgjengelig i Microsoft Excel regneark. Dette verktøyet vil vi også bruke for å vise eksemplene. Notatet er disponert på følgende måte: Først forklarer vi tre sentrale begreper middelverdi, variasjon og signifikans. Uten å ha disse begrepene på plass blir statistikk en mystisk og uforståelig affære. Kort beskrivelse av de valgte teknikkene og hva slags problemer eller spørsmål de egner seg til å handtere. En kort beskrivelse av statistikkpakka til Excel. Beskrivelse av de valgte teknikkene, hvordan vi får tilgang til dem via Excel, hva slags data vi trenger for å bruke dem, hva slags forutsetninger som ligger til grunn og hvordan vi skal tolke resultatene. I tillegg vil vi vise et eksempel på bruk av hver av metodene hentet fra et SPIQ eller ESSI prosjekt. Et vedlegg der vi forklarer noen få, viktige begreper som f.eks. residualplott. Mange har latt være å bruke statistiske metoder i prosessforbedring. Hovedargumentet er at statistikk er vanskelig og at folk innen programvarebransjen ikke vil bruke det. Dette stemmer imidlertid ikke med vår erfaring. Mange utviklere både vil og kan bruke enkle statistiske metoder som en naturlig del av det å delta i et forbedringsprosjekt. Det er to forutsetninger som må være til stede: Alle må få en innføring i metodene hva, hvorfor og hvordan slik at de ser når statistikken kan hjelpe dem og hva den kan hjelpe dem med. Det må finnes støtte i form av lett tilgjengelige verktøy. Dette bruksnotatet leses mest effektivt ved å ha Excel oppe mens man leser. Prøv selv start med å legge inn de dataene som er brukt i notatet og bruk de metodene som er beskrevet. Fortsett med å legge inn dine egne data og prøv ut noen analyser av forhold du selv er interessert i. Dette er den enkleste framgangsmåten for å få litt følelse med hva statistisk analyse er. Selv om vi vet at det ikke hjelper, synes vi at det er vår plikt å komme med en siste advarsel: Det at to ting korrelerer statistisk er ikke en god nok grunn til å påstå at den ene forårsaker den andre. Et utsagn om at en sammenheng er statistisk bevist er meningsløst. 2. Tre sentrale begreper Tre av de mest sentrale begrepene i statistikk er middelverdi, variasjon og signifikans. Nesten alle statistiske metoder bruker disse tre begrepene når de brukes til å svare på det hovedspørsmålet ved bruk av statistiske metoder, nemlig: Er den forskjellen vi observerer virkelig eller er den bare et resultat av tilfeldigheter? Enkel statistisk analyse SPIQ Side 2

2.1. Middelverdi Middelverdien er enkel å beregne vi legger sammen alle verdiene og deler på antall verdier. Ofte har vi en ikke uttalt forventning om at det som er av feil eller usikkerhet forsvinner eller blir mindre når vi måler mange ganger og regner ut middelverdien. Dette går bra når variasjonen se neste underkapitel er tilfeldig, altså like ofte på begge sider av den egentlige, korrekte verdien. Spørsmålet om hvorvidt middelverdien er interessant, avhenger derfor av to forhold: 1. Er alle feil eller variasjoner fra den riktige verdien tilfeldige? 2. Er variasjonen så liten at middelverdien har interessant informasjon? Det er en god regel å alltid oppgi både middelverdi og variasjon, slik at de som ser dataene vet hvor langt fra middelverdien de kan risikere å finne måleresultatene. Det er lett å se hvor nyttig dette er ut fra eksemplet under, der middelverdien i alle tilfeller er 10, mens variasjonen i dette tilfellet standardavviket - er forskjellig. Det er lett å se i hvilke tilfeller vi kan bruke middelverdien til noe og når den er relativt verdiløs. Tilfelle 1: Middelverdi = 10.0, standardavviket = 0.1. Tilfelle 2: Middelverdi = 10.0, standardavviket = 1.0. Tilfelle 2: Middelverdi = 10.0, standardavviket = 8.0. I tilfelle 1 - og antakelig i tilfelle 2 - er det fornuftig å bruke middelverdien siden den har et lite standardavvik, mens middelverdien i tilfelle 3 i de fleste tilfeller er uinteressant. 2.2. Variasjon De fleste egenskapene vi måler i forbindelse med prosesser og produkter vil variere. Generelt er det to årsaker til variasjon som vi må passe på å holde fra hverandre: Systematisk variasjon f.eks. høyden til en person etter som han vokser Tilfeldig variasjon f.eks. hvor mye vi strammer målbåndet når vi måler og hvor nøyaktig vi leser av tallet. En måte å bli kvitt den tilfeldige variasjon på er å gjenta målingen mange ganger og ta middelverdien av målingene. Bak dette ligger det en mental modell som sier at det er tilfeldig om vi får et resultat som er for stort eller for lite. Dersom vi tror at vi måler for langt hver gang, blir målefeilen også en systematisk variasjon. Variasjon er også et greit mål for alle de effektene vi ikke kan eller har tid eller lov - til å måle. Dette er særlig relevant for industrielle forhold, både for produksjon og utvikling. Eksempler innenfor programvareindustrien er: Dagsformen for den individuelle utvikler. Forskjeller mellom personer som bygger på dyktighet, stå-på evne osv. Kulturelle forskjeller. Viss vi går ut fra at alle de tre ovenfor nevnte punktene påvirker produktiviteten vil det være naturlig å lage en modell som består av en normalproduktivitet pluss en variasjon. Denne normalproduktiviteten vil ikke være riktig for noen av personene. For et prosjekt der alle typer mennesker er involvert, vil imidlertid normalproduktiviteten gi et godt bilde av situasjonen. Enkel statistisk analyse SPIQ Side 3

Tilsvarende betraktninger kan ofte brukes for kompleksitet og andre forhold viss vi for øyeblikket ikke er interessert i disse forholdene. Variasjonen i det vi måler vil derfor komme fra tre kilder: Forhold vi ikke kjenner til. Forhold vi ikke kan eller vil måle. Ofte er dette forhold som angår personer. Forhold vi bevisst velger å holde utenfor modellen. Ofte er dette forhold som vi tror vil endre seg lite fra prosjekt til prosjekt og som vil jevne seg ut over hvert enkelt prosjekt. Når vi f.eks. skal se etter om en endring har hatt effekt, vil variasjonen fungere som støy som gjør at informasjonen om forandringene drukner. Tagushi, som i mange år har arbeidet med eksperimenter i produksjon, har til og med innført begrepet signal - støyforhold som et mål for informasjonen i et datasett. Selv om vi vanligvis ikke sier det eksplisitt, ligger det en forutsetning bak all statistisk analyse om at det vi ikke er interessert i for øyeblikket vil jevne seg ut når vi har mange observasjoner. Dette er imidlertid bare noe vi tror og det kan være lurt å sjekke det senere, f.eks. ved hjelp av et residualplott se kapitel 6.1. 2.3. Signifikans Signifikans er nært knyttet til variasjon og til den effekten variasjon har på det vi måler eller observerer. Enkelt sagt angår signifikans følgende spørsmål: Hvor langt fra middelverdien må observasjonen være før vi vil være villig til å si at de er utenfor normal variasjon? Svaret vil være et nytt spørsmål, nemlig Hvor sikker må du være på at det du sier er sant? Jo mer sikker du har behov for å være, desto lenger fra middelverdien må du være. Mange moderne verktøy regner selv ut den signifikansen du har oppnådd. Det er da opp til hver enkelt å avgjøre om han synes signifikansen er god nok. De fleste verktøy oppgir signifikansen p som sannsynligheten for å ta en feil beslutning. Viss vi f.eks. sammenlikner to datasett for å se om de har samme middelverdi og får tilbake en p-verdi på 0.09 så betyr det at det er (100 9) = 91% sannsynlighet for at de ikke har samme middelverdi. Dette innebærer at du tar en 9% risiko. Hvorvidt du er villig til det avhenger av hva slags konsekvenser en feil beslutning får. Viss vi ønsker å teste flere forhold samtidig, blir det mer komplisert. Vi skal se på en enkel tilnærming som holder i de fleste tilfeller. Argumentasjonen er som følger: Når vi stiller spørsmålet Er det noen sammenheng mellom X og Y, kan vi få som svar at Ja, det er 95% sikkert at det er en sammenheng. Liknende svar kan vi få på flere, tilsvarende spørsmål. Under forutsetning av at svarene på spørsmålene er uavhengige av hverandre kan vi finne sannsynligheten for at alt er sant samtidig ved å multiplisere de enkelte sannsynlighetene. La oss tenke oss at vi har testet tre forhold og funnet at sannsynlighetene for at de tre sammenhengene ikke er tilfeldige er henholdsvis 95, 97 og 88%. Sannsynlighetene for at ingen av de tre sammenhengene ikke er tilfeldige er da 0.95*0.97*0.88 = 0.81, eller 81%. Denne måten å regne på hindrer oss i å trekke slutninger på basis av en rekke litt tvilsomme sammenhenger. Viss vi f.eks. var 80% sikre på tre sammenhenger, vil sannsynlighetene for at alle tre sammenhengene holder være 0.80*0.80*0.80 = 51%, altså ikke alt for mye å satse på. Enkel statistisk analyse SPIQ Side 4

3. Noen tips for Excel For å kunne utføre dataanalyse i Excel må du først ha installert denne muligheten. Dersom den ikke allerede er tilgjengelig, må du gjøre følgende: 1. Velg Tools. 2. Velg Add-Ins. Der finner du ei liste av tilgjengelige programpakker. 3. Velg Analysis ToolPak. Når den jobben du setter i gang på denne måten er ferdig, vil du ha Excels statistikkpakke tilgjengelig under Tools. Det finnes en grei oversikt over statistikkpakka i Excel i Microsoft Excel: User s Guide 2, side 17 51. De som skal utføre statistiske analyser i Excel bør skaffe seg denne manualen. For å bruke Excel til å plotte velger vi først Insert og deretter Chart. Deretter er det bare å følge vegledningene som dukker opp etter hvert. Gode råd for valg av plotteteknikk finner du i teknikknotatet Analyse og presentasjon av måledata. 4. Valgte teknikker Her beskriver vi kort hvilke teknikker vi har valgt og hva slags spørsmål de kan hjelpe oss til å finne svar på. 4.1. Når kan vi bruke statistisk analyse? Før vi kan ha noe nytte av en statistisk analyse må vi først bli enige med oss selv om hva vi vil finne ut. For å finne ut av det må vi først bestemme oss for hva vi tror henger sammen. Statistikere kaller dette en hypotese. Vi behøver imidlertid ikke å bruke den samme grad av nøyaktighet i formuleringen som det vi vanligvis finner i vitenskapelige artikler. Generelt gjelder følgende framgangsmåte: 1. Beskriv den sammenhengen vi er interessert i. 2. Beskriv hva vi bør observere viss den sammenhengen vi er interessert i virkelig eksisterer. 3. Samle inn data som gjør at vi kan observere sammenhengen viss den eksisterer. 4. Utfør den statistiske analysen. Følgende er et enkelt eksempel: Vi tror at granskinger blir mer effektive viss vi bruker sjekklister. For å bruke en statistisk analyse på dette problemet resonnerer vi som følger: 1. Først må vi definere effektivitet. Vi velger å måle effektivitet som antall anmerkninger dividert på antall dokumentsider. 2. Deretter må vi formulere hva vi tror om sjekklister og effektivitet. I dette tilfellet er hypotesen vår at vi vil finne flere anmerkninger pr. dokumentside i de granskingene der vi bruker sjekklister enn i de andre. Dersom vi bruker GQM har vi allerede gjort denne jobben når vi fylte ut den tredje kvadranten i arbeidsarket. Se teknikknotatet Etablering av måleplaner. 3. Samle inn de data vi trenger i vårt tilfelle blir dette antall sider, antall anmerkninger og om det ble brukt sjekklister eller ikke. 4. Bruk den valgte statistiske metoden til å se om det er noen forskjell som ikke er tilfeldig. Enkel statistisk analyse SPIQ Side 5

Dersom vi ikke kan formulere en hypotese altså hva vi kommer til å observere i eksperimentet, er det ingen nytte i å gjøre en statistisk analyse. 4.2. Valgte teknikker Bak mange av de metodene vi har valgt ligger det en forutsetning om at dataene eller avvikene er normalfordelt. Dette er - strengt tatt - vanligvis ikke oppfylt. Praktisk erfaring viser imidlertid at resultatene stort sett blir riktige likevel. Årsaken til dette er følgende: En sum av observasjoner vil være tilnærma normalfordelt, selv om hver enkelt observasjon ikke kommer fra en normalfordeling. Når vil vi så ha nytte av en statistisk analyse? Generelt kan en statistisk analyse svare på om den forskjellen vi ser er systematisk eller tilfeldig. Vi har valgt å beskrive følgende metoder: Lineær regresjon finnes det en lineær sammenheng mellom to eller flere parametre? T-testen er det grunnlag for å si at to gjennomsnittsverdier er forskjellige? ANOVA kan vi dele datasettet opp i grupper slik at det er mindre variasjon innenfor gruppene enn det er mellom gruppene? Chi kvadrat testen er det forskjell mellom datasett med hensyn til fordelingen over et sett av kriterier? Spearman-korrelasjon er det noen sammenheng mellom måten verdiene i to datasett varierer på? Felles for alle disse teknikkene er at de: Har vært brukt i ett eller flere pilotprosjekter i norske bedrifter og på den måten vist at de er nyttige. Blir understøttet av Microsoft Excel regneark Er enkle å forstå og å ta i bruk Det er imidlertid viktig å alltid starte med å plotte dataene. Dette kan f.eks. vise oss om det er en eller flere målinger som ser ut til å ikke passe inn i det generelle mønsteret. Se eksemplet i kapitel 5.1.5. Bruksnotatet Analyse og presentasjon av måledata gir en god oversikt over mulige plotteteknikker og hvordan man skal velge den som passer best ut fra de data og det behovet man har for informasjon. 4.3. Hva kan de valgte teknikkene hjelpe oss med? Som det går fram av det vi sa i kapitlet om signifikans, vil alle de metodene vi presenterer her kunne brukes til å besvare spørsmålet: Er det noen forskjell?. Dette spørsmålet kommer stadig igjen i alt forbedringsarbeid, riktig nok i litt forskjellig form avhengig av den konkrete situasjonen. Vi skal kort se på noen vanlige tilfeller. Er det noen trend i antall feil funnet ved granskning når vi øker tid brukt til forberedelse? Viss vi plotter samhørende datapar forberedelsestid og antall feil - i et spredningsdiagram kan vi få en viss ide om mulige sammenhenger. Ved å utføre en regresjonsanalyse vil vi kunne se om det er sannsynlig at det er en trend eller om det bare er tilfeldigheter. Finner man gjennomsnittlige flere feil ved granskning når man bruker sjekklister? Vi kan ta utgangspunkt i antall feil funnet pr. side, pr. timeverk brukt etc. Uansett vil antall feil i begge tilfeller kunne variere på grunn av faktorer som f.eks. kompleksitet, utviklernes kompetanse og interesse. Det vi kan finne ut ved å bruke en statistisk metode i dette Enkel statistisk analyse SPIQ Side 6

tilfelle t-testen er om det er forskjeller som ikke med stor sannsynlighet kan forklares ved hjelp av den naturlige variasjonen i de data vi har samlet inn. Er det forskjell på antall tilstander i beskrivelsene av moduler som utviklerne vurderer som enkle og de som blir vurdert som komplekse, eller varierer antall tilstander så mye innenfor begge kategorier at eventuelle systematiske forskjeller drukner i støy. En måte å besvare spørsmålet på er å dele hele datasettet inn etter som de kommer fra komplekse og enkle moduler og se hvor mye av variasjonen vi fjerner fra dataene på denne måten. Dette kalles variansanalyse eller ANOVA. Er fordelingen av antall feil over et sett av feilkategorier den samme for flere prosjekter? Viss vi samler data fra flere prosjekter, vil vi nesten sikkert ikke få de samme andelene av feil i hver kategori hver gang. Spørsmålet vi trenger statistikk til å besvare er hvor store forskjellene kan være viss vi skal kunne si at de forskjellene vi ser bare er tilfeldigheter. Til dette vil vi bruke en Chi kvadrat test. Vi vil se nærmere på disse tilfellene når vi går over til å beskrive hver enkelt teknikk i noe mer detaljer i de etterfølgende kapitlene. 4.4. Hvor robuste er resultatene? Før man bruker resultatene fra statistiske analyser er det viktig å sjekke hvor robuste resultatene er mot feil i enkeltdata. Under er det beskrevet en enkel måte å gjennomføre en slik test på. Det er viktig å huske at denne testen ikke må komme i steden for en sjekk på om data og resultater er rimelige den kommer i tillegg. Den enkleste måten å sjekke robustheten på er å gjennomføre følgende trinn: 1. Utfør den valgte statistiske analysen f.eks. regresjonstest og registrer resultatet. 2. Fjern systematisk en og en observasjon fra datasettet. Viss vi har N observasjoner vil dette gi oss N datasett med N-1 observasjoner i hvert sett. 3. Gjennomfør den valgte statistiske analysen om igjen med hvert av de N nye datasettene og registrer resultatet. 4. Sammenlign de N nye resultatene med det første resultatet. Registrer de tilfellene som gir et annet resultat enn det vi fant i trinn 1. Ved å følge den overstående algoritmen får vi oversikt over hvilke observasjoner som er kritiske nemlig de som fører til et annet resultat enn det vi får ved å bruke hele datasettet. Vi kan bruke resultatet av denne analysen på to måter: Vi kan telle antall ganger de reduserte datasettene gir et annet resultat enn det komplette datasettet. Viss de reduserte datasettene gir avvikende resultat n ganger kan vi si et vi er 100*(N-n)/N prosent sikre på at resultatet er riktig. Vi kan gå ekstra nøye gjennom de observasjonene som gir et avvikende resultat. Alle disse observasjonene er kritiske for resultatet. Det er derfor vel verdt det ekstra arbeidet å sjekke disse observasjonene en gang til. Uansett hvilken av de to framgangsmåtene man velger er det viktig å tenke gjennom problemstillingen: Hvor robust er konklusjonen min mot enkeltfeil? Enkel statistisk analyse SPIQ Side 7

5. Teknikkbeskrivelser 5.1. Lineær regresjon 5.1.1. Hvordan gjøre lineær regresjon i Excel For å utføre en lineær regresjonsanalyse i Excel går du fram som følger: 1. Velg Tools. 2. Velg Data Analysis. 3. Velg Regression. I det bildet som nå kommer fram kan du også velge om du vil ha f.eks. et residualplott. 5.1.2. Databehov og forutsetninger For å utføre en lineær regresjonsanalyse trenger vi et sett av samhørende x- og y-verdier. I Excel betyr dette to kolonner, en x-kolonne og en y-kolonne. Et eksempel fra et ESSI pilotprosjekt er vist i tabell 1 under. Kolonnene inneholder metrikker som er definert i måleplanen til prosjektet. Forberedelse (tv) Sider Anmerkninger Kalendertid Total tid brukt Anmerkninger dokument (tv) pr. side 1 42 0 0 1 0,00 1 24 4 0,2 1 0,17 4 25 16 1 4,5 0,64 2 64 27 0,4 4,5 0,42 2 15 10 0,5 6 0,67 0,67 20 3 0,1 1 0,15 0,5 18 9 0 2 0,50 0,67 18 7 0,1 2 0,39 0,75 12 5 0,2 1 0,42 0,33 17 5 0,05 1,2 0,29 0,8 28 6 0,1 1 0,21 0,25 21 11 1,5 1,5 0,52 0,5 16 6 0 2 0,38 2,5 14 6 5 4 0,43 Tabell 1 Data fra et ESSI-prosjekt Vi er interessert i å se om det er noen trend i antall anmerkninger pr. side i forhold til antall timeverk brukt til forberedelser til granskningen. Vi velger altså anmerkninger pr. side som y- verdi og antall timeverk brukt til forberedelser som x-verdi. I tillegg til inndata må vi også velge signifikansnivå. Viss vi ikke velger selv vil Excel velge et 5% signifikansnivå, altså en 5% sannsynlighet for å ta feil beslutning. For å se om det ser ut til å være noen sammenheng vil vi først plotte dataene i et spredningsdiagram. Se også teknikknotatet Analyse og presentasjon av måledata. Enkel statistisk analyse SPIQ Side 8

0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Bortsett 0 fra de fire datapunktene 1 2 som er ringet 3 inn ser det 4 ut til at det kan 5 være en 6 lineær 7 sammenheng mellom total tid brukt til granskning og antall feil funnet pr. side. Figur 1 Anmerkninger pr. side Vi vil antakelig aldri observere data der verdiene legger seg pent langs ei rett regresjonslinje. For at den etterfølgende analysen skal være fornuftig må imidlertid observasjonene være noenlunde jevnt fordelt på begge sider av regresjonslinjen. For å kontrollere at dette er oppfylt beregner vi forskjellene mellom observert og beregnet y-verdi for hver x-verdi. For å anskueliggjøre resultatet i et diagram bruker vi et residualplott. Se ellers figurene 6 og 7 i vedlegg kapitel 6. 5.1.3. Hvilke data kommer ut av analysen Det første vi vil se på er oppsummeringen av selve regresjonanalysen. Denne oppsummeringen ser ut som følger: Coefficient Standard t Stat P-value Lower 95% Upper 95% s Error Intercept 0,1805961 0,06396276 2,823458 0,01536108 0,04123326 0,319959018 39 X Variable 1 0 0812905 0 02249506 3 613708 0 00355536 0 03227806 0 130303116 Tabell 2 Excel resultat fra lineær regresjon De to verdiene Intercept og X Variable 1 er henholdsvis regresjonslinjens skjæring med y- aksen og stigningsforholdet til regresjonslinjen. Ved å dividere verdien til koeffisienten på standardfeilen (standard error) finner vi t-verdien se neste delkapitel. Neste kolonne (P-value) viser signifikansnivået, altså hvor stor er sannsynligheten for at koeffisienten er så stor som den vi har beregnet viss det bare er tilfeldigheter vi observerer. Et annet viktig datasett som kommer ut av analysen er en Regression statistics, som ser ut som følger: Enkel statistisk analyse SPIQ Side 9

Regression Statistics Multiple R 0,721891946 R Square 0,521127982 Adjusted R 0,48122198 Square Standard Error 0,136484311 Tabell 3 Regression Statistics Her finner vi en oppsummering av hvor mye av variasjonen i dataene som er forklart ved den lineære modellen. Uansett vil alltid en modell gi bedre tilpasning til observasjonene jo flere parametre du bruker. Det medfører at uansett hva slags parametre du legger til i modellen så vil R Square bli større. Det er derfor viktig å se på den justerte korrelasjonskoeffisienten Adjusted R Square der man har korrigert for antall parametre i modellen. For å kontrollere forutsetningen om at feilene avvik mellom observert og beregnet y-verdi er jevnt fordelt på begge sider av regresjonslinjen, bruker vi residualplottet. Dersom vi ønsker en bedre oversikt over residualene kan Excel også gi oss verdiene på tabellform. X Variable 1 Residual Plot Residuals 0,5 0-0,5 0 2 4 6 8 X Variable 1 Figur 2 Residualplott for data i tabell 1 og den lineære modellen i tabell 2 Bruk av residualplott er diskutert mer detaljert i vedlegg kapitel 6. 5.1.4. Hvordan tolker vi resultatene Koeffisientene i den lineære modellen finner vi i første kolonne i tabell 2. Vi ser at middelverdiene for de to koeffisientene er henholdsvis 0.18 og 0.08. Signifikansnivået Pvalue - er 1.5% for Intercept og 0.4% for stigningskoeffisienten. Viss vi hevder at det er en lineær sammenheng mellom antall anmerkninger pr. side og antall timeverk brukt til forberedelser, er det altså en (1 0.04) = 96% sannsynlighet for at det er riktig. I tillegg ser vi at stigningskoeffisienten (koeffisienten for X Variable 1) er så liten at vi trenger en svært stor øking i forberedelsestiden for å få noe særlig bedre utbytte av granskningen. I Regression statistics i tabell 3 finner vi Adjusted R Square lik 48%. Dette betyr at vi har tatt med eller forklart 48% av all variasjon i antall anmerkninger pr. side ved hjelp av antall timeverk brukt til forberedelser. Det vil derfor være rimelig å tolke dataene slik at det er andre forhold som også er viktige for utbyttet av en granskning i tillegg til forberedelsestiden. Ut fra residualplottet ser vi at de i alt 14 observasjonene fordeler seg med seks over, fire under og fire som ligger ganske nær eller på regresjonslinjen. Etter som punktene i plottet fordeler seg Enkel statistisk analyse SPIQ Side 10

relativt jevnt på begge sider av regresjonslinjen, er det ingen grunn til å forkaste den lineære modellen. 5.1.5. Populære fallgruver De mest vanlige metodiske feilene man gjør er: 1. La være å sjekke residualplottet. Dette vil avsløre om feilene er jevnt fordelt på begge sider av regresjonslinjen. 2. Sjekke p-verdien på koeffisienten X Variable 1 se tabell 2. Den forteller hvor sannsynlig det er at det virkelig er en sammenheng. Er denne p-verdien f.eks. 0.10 er det en 10% sannsynlighet for at det vi observerer - y-verdien ikke er avhengig av x-verdien i det hele tatt. 3. Ekstrapolering. Det vi får fra regresjonsmodellen er en lineær sammenheng. En slik sammenheng gjelder i mange tilfeller bare for et begrenset dataområde. Viss vi går tilbake til eksemplet med sammenhengen mellom antall feil funnet og tid brukt til forberedelser, vil det være klart for de fleste at man ikke kan finne så mange feil man vil bare man forbereder seg lenge nok det er jo tross alt et begrensa antall feil i dokumentet. I tillegg til metodiske feil finnes det også en populær felle å gå i når man skal tolke målingene. La oss tenke oss følgende situasjon: Vi har samlet inn en del målinger. Når vi plotter dataene ser det ut som om de fleste f.eks. alle utenom to ligger på ei rett linje. Da er det fristende å si at de to atypiske målingene er resultater av feil eller misforståelser og deretter ignorere dem. Denne måten å resonnere på er uheldig siden den ofte fører til tap av informasjon. Før man begynner å kaste ut data som ser atypiske ut bør man spørre seg selv Hva er det som gjør at data fra denne enheten ser annerledes ut enn resten?. Ofte ligger det interessant informasjon her. Et eksempel fra et prosjekt der man skulle se på tid brukt til forberedelse ved granskning av dokumenter viser dette. Når man prøvde å legge en rett regresjonslinje mellom antall sider dokumenter og antall timeverk brukt til forberedelser fikk man en god overensstemmelse, men bare dersom man ignorerte et lite antall målinger ca 10 stykker. Man hadde to muligheter kaste disse målingene eller finne ut om det er en årsak til at de er spesielle. Heldigvis valgte man det siste alternativet. Ved å snakke med de som hadde skaffet fram dataene fikk man vite at de dokumentene som ikke så ut til å passe sammen med resten kom fra enheter som ble ansett for å være vanskeligere å forstå enn de dokumentene man vanligvis hadde til granskning. Viss man behandlet disse dataene for seg, kunne man legge en regresjonslinje mellom dem, men den var forskjellig fra den man fikk for de enkle dataene. Når man bruk av lineær regresjon og har det ser ut som om noen datapunkter ikke passer, bør man generelt gå fram som følger: 1. Finn ut hva som kjennetegner det datapunktene som ikke passer inn. Dersom det ikke er mulig å finne noen slike kjennetegn er det mulig at observasjonene er feil og at de kna utelates, i hvert fall i første omgang. 2. Viss vi finner ett eller flere kjennetegn som gjør at vi kan dele inn datapunktene i to grupper så bør vi lage separate regresjonsmodeller for de to settene av datapunkter. 5.2. t-testen Enkel statistisk analyse SPIQ Side 11

5.2.1. Hvordan gjøre t-test i Excel For å utføre en t-test i Excel går du fram som følger: 1. Velg Tools. 2. Velg Data Analysis. 3. Velg t-test. Two-sample. Assuming Unequal Variances. I det bildet som nå kommer fram kan du også velge signifikansnivå. 5.2.2. Databehov og forutsetninger t-testen egner seg best til å svare på spørsmålet Har observasjonene i to datasettene samme middelverdi? Vi trenger altså to datasett eller en måte å dele et datasett i to på. Vi viser her et eksempel på det siste. Datasettet inneholder antall anmerkninger pr. side funnet under granskning med og uten bruk av sjekklister og er fra et ESSI prosjekt. Når vi skal utføre t-testen, vil resultatet avhenge av om vi tror (antar) at de to datasettene har samme eller forskjellig variasjon. Det tryggeste er å anta at variasjonen i de to datasettene er forskjellige og velge dette alternativet i Excel. Legg merke til at dette ikke har noe med valget av hypoteser om Mean Difference å gjøre, men bare angår variasjonen i datasettene. Dataene i tabell 4 er fra samme ESSI-prosjektet som vist tidligere. Kolonnen merket Brukt sjekkliste forteller om det er brukt sjekklister ved granskning eller ei markert med henholdsvis 1 eller 0. Legg merke til at det er få granskinger som er gjennomført ved hjelp av sjekklister bare tre stykker. Spørsmålet er altså i all enkelhet om det er noen grunn til å påstå at det er noen forskjell mellom antall anmerkninger pr. side med og uten bruk av sjekklister. Enkel statistisk analyse SPIQ Side 12

Anmerkninger Granskning foregikk med planlagt personell granskningen brukte sjekkliste Møtene var godt planlagt Tabell 4 Data fra ESSI-prosjekt Total kalendertid Anmerkninger pr. side 14 1 0 0 1 0,54 6 1 0 0 1 0,5 8 1 0 0 0,5 2 8 1 0 0 0,5 2 8 1 0 0 0,2 0,42 6 1 0 0 15 0,13 3 1 0 0 3 0,15 3 1 0 0 3 0,15 5 1 0 0 0,1 0,42 8 1 0 0 0,1 0,11 4 1 0 1 1 0,08 6 0 0 0 5 0,43 8 1 0 1 0 1 4 1 0 1 0 0,67 7 0 0 1 1 0,25 20 1 1 0 9 0,87 6 1 1 1 1 0,6 0 1 1 1 0 0 2 1 0 1 1 0,29 0 1 0 0 2 0 6 1 0 0 0 0,55 14 1 0 0 0,1 1 5 1 0 1 0 0,31 15 1 0-0,1 1,25 10 1 0 1 3 0,77 8 1 0 1 15 0,36 11 0 0 1 5 0,92 For å kunne analysere dette datasettet må vi sortere det med hensyn på Brukt sjekkliste. Dette har ingen ting med t-testen å gjøre, det er nødvendig for å kunne bruke statistikkpakka i Excel. Før vi bruker t-testen kan det være nyttig å se på et plott av dataene. Viss vi lar 0 representere Ingen sjekkliste brukt og 1 representere Brukt sjekklister, får vi følgende diagram: Enkel statistisk analyse SPIQ Side 13

2,50 2,00 1,50 1,00 Series1 0,50 0,00 0 0,2 0,4 0,6 0,8 1 1,2 Figur 3 Antall anmerkninger pr. side uten (0) og med (1) bruk av sjekklister Fra diagrammet i figur 3 ser det ut til at uansett om vi bruker sjekklister eller ikke, så blir resultatet det samme 0 til 1 anmerkning pr. side dokument. Legg merke til at det ikke er noen av granskingene som er gjort med sjekkliste som gir bedre resultat enn 1.0 anmerkning pr. side. 5.2.3. Hvilke data kommer ut av analysen Når vi har kjørt analysen i Excel får vi en tabell som vist under i tabell 5. Dette er en komplett oppsummering av all informasjon som kommer ut av en t-test. t-test: Two-Sample Assuming Unequal Variances Variable 1 Variable 2 Mean 0,595833333 0,49 Variance 0,294121014 0,1983 Observations 24 3 Hypothesized Mean Difference 0 df 3 t Stat 0,378084611 P(T<=t) one-tail 0,365267344 t Critical one-tail 2,353363016 P(T<=t) two-tail 0,730534688 t Critical two-tail 3,182449291 Tabell 5 Oppsummering av resultatene i en t-test Først får vi middelverdiene, variansen og antall observasjoner i hver kategori uten og med sjekklister. Vi har latt som vi tror de er like Hypothesized Mean Difference lik 0. Ut fra dette beregner Excel en testverdi som kalles t-statistikken. Deretter følger to viktige sett av tall med hver sin bit viktig informasjon. P(T<= t) one-tail: Dette er sannsynligheten for å observere en så liten t som den vi har sett viss middelverdien til det ene datasettet virkelig var større. t Critical one-tail: Dette er den minste verdien t kan ha viss vi skal være 95% prosent sikre på at den ene middelverdiene virkelig er større enn den andre. Den informasjonen som er vist over gjelder ensidige intervaller, altså at den ene middelverdien er større enn den andre. Dersom vi ønsker tosidige intervaller - altså bare spør om de to Enkel statistisk analyse SPIQ Side 14

middelverdiene er forskjellige - får vi bare 2.5% på hver side av intervallet og den kritiske verdien til t-verdi øker. 5.2.4. Hvordan tolker vi resultatene Ut fra tabellen med resultater fra analysen tabell 5 - ser vi at den t-verdien vi har fått er alt for liten til å påstå at verdiene er forskjellige. Viss vi påstår at det er forskjell på antall feil funnet med og uten bruk av sjekklister har vi en sannsynlighet på 36% for å ta feil. En alternativ, mer intuitiv måte å komme fram til en beslutning på, er å se på standardavviket for middelverdiene. Vi finner standardavviket ved å ta kvadratroten av variansen i linja Variance i tabell 5. Vi finner at de to middelverdiene har tilhørende standardavvik på henholdsvis 0.54 og 0.44. Siden de to middelverdiene er henholdsvis 0.59 og 0.49 og avstanden mellom de to verdiene er mindre enn et standardavvik, er det lite sannsynlig at de er forskjellige. 5.2.5. Populære fallgruver Den største faren her kommer ikke fra selve analysen, men fra tolkingen av resultatet. Analysen forteller om det er forskjell på datasettene, mens vi er interessert i om den forandringen vi har gjort har hatt noen effekt. Det er derfor viktig å passe på at andre faktorer som kan påvirke resultatet blir holdt mest mulig like. Dette betyr at vi må velge en av følgende strategier: 1. Sørge for at andre faktorer som vi tror kan påvirke resultatene enten varierer lite eller er spredt slik at effekten nuller seg ut når vi bruker middelverdien. 2. Analysere effekten som en felles effekt av det vi har forandret med vilje og det som har forandret seg i tillegg fra prosjekt til prosjekt. 3. Fjerne eller redusere effekten av alle forandringer utenom den vi er interessert i. Dette er en siste, kostbar og desperat utvei. 5.3. ANOVA Analyse av Variasjon 5.3.1. Hvordan gjøre ANOVA i Excel For å utføre en ANOVA i Excel går du fram som følger: 1. Velg Tools. 2. Velg Data Analysis. 3. Velg ANOVA: Single Factor. I det bildet som nå kommer fram kan du også velge signifikansnivå. 5.3.2. Databehov og forutsetninger For å gjennomføre en enveis ANOVA trenger vi et datasett som inneholder: En parameter der vi ønsker å undersøke årsakene til variasjon i verdien En parameter som deler alle observasjonene av den første parameteren i to eller flere grupper. Tabell 6 er tatt fra et SISU-prosjekt. Dette firmaet bruker diagrammer i SDL (System Description Language) for å beskrive programvaremodulene. Utviklerne i firmaet mente at det var antall tilstander i SDL-diagrammet som avgjorde om en modul var kompleks eller ikke. For å få svar på om dette var riktig ble et sett av moduler vurdert av utviklerne selv og gitt kompleksitetsgraden Høy - H Middels M - eller Lav L. For at Excel skal kunne utføre analysen må vi lage en ny kolonne for hver kategori. Dette gjør vi enklest ved først å sortere hele tabellen på Kompleksitet. Deretter kopierer vi over alle data for henholdsvis høy, middels og lav kompleksitet til hver sin kolonne. Deretter kan vi utføre ANOVA. Enkel statistisk analyse SPIQ Side 15

ID Antall linjer Antall Antall Antall Endring Kompleks Oversikt SDL pr operatorer grensesnitt tilstander ACH 1932 10 6 29 L M M AFM 2223 26 4 25 L M M AH 624 5 7 1 L L H BH 1517 30 5 12 L l H CH 3308 52 7 10 H M M CHUI 3845 7 10 40 M M M CM 6786 9 7 9 H H L CMH 7385 25 6 89 H M M COFI 438 11 5 4 L M M COFIC 633 10 3 1 L M M DA 833 13 4 1 L L H DDH 4719 45 12 84 L H M EC 1652 12 4 7 L M H EH 4517 16 10 11 H M M EUS 2867 8 2 50 M M M HLM 2490 26 7 7 L M M HLMC 290 4 3 1 L L H IT 1791 57 4 14 L M M ITSA 2442 57 5 2 M M M LCH 735 4 6 11 L L H MAP_LT 5394 7 10 41 M M M MAP_PT 763 7 3 17 L M M OT 4362 89 4 6 L H M PH 3472 0 14 52 M H L RM 4004 13 11 21 H H M SC 774 31 1 1 L M M SDSI 3765 6 10 34 M M M SH 1301 5 3 8 L M M SLH 286 4 4 7 L L H SYNC 2085 24 6 8 L H M TA 438 11 5 4 L M M TDMI 3223 50 4 4 L H L TM 4989 3 6 23 H H M Tabell 6 Data fra SISU-prosjekt Som før vil vi begynne med å plotte dataene for å se om det er mulig å klare seg med bare plottet eller om det i det minste er lett å se hva vi skulle forvente av analysen. For å kunne plotte dataene i Excel må vi gjøre om kompleksitetsvurderingene til tall. Vi har valgt H = 3, M = 2 og L = 1. Et enkelt plott gir nå følgende resultat: Enkel statistisk analyse SPIQ Side 16

100 90 80 70 60 50 40 30 20 10 0 0 0,5 1 1,5 2 2,5 3 3,5 Series1 Figur 4 Antall tilstander i modulens SDL diagrammet som funksjon av modulens kompleksitet Lav = 1, Middels = 2 og Høy = 3 Ut fra plottet ser det ut til at det ikke er noen sterk sammenheng mellom antall tilstander i SDLdiagrammet og hvordan utviklerne vurderer kompleksiteten. Selv om det i første omgang kunne se ut som moduler med lav kompleksitet har færre tilstander så ser vi at det finnes flere moduler med et lite antall tilstander også for de to andre kompleksitetsklassene. 5.3.3. Hvilke data kommer ut av analysen? Når vi har kjørt ANOVA i Excel får vi følgende resultat: SUMMARY Groups Count Sum Average Variance Column 1 8 207 25,875 795,8393 Column 2 19 394 20,73684 503,3158 Column 3 6 33 5,5 27,1 ANOVA Source of Variation Between Groups Within Groups SS df MS F P-value F crit 1527,456 2 763,728 1,551656 0,228427 3,315833 14766,06 30 492,202 Total 16293,52 32 Tabell 7 Resultatet av ANOVA for SISU-datasettet 5.3.4. Hvordan tolker vi resultatene? Først i utskriften fra ANOVA som er vist i tabell 7 får vi en oppsummering av dataene vi har brukt. Dette inkluderer antall observasjoner Count middelverdien - Average - og variansen Variance. I oppsummeringen av selve ANOVA finner vi kvadratsummen SS antall frihetsgrader df - og midlere kvadratsum MS som er SS dividert på antall frihetsgrader. Enkel statistisk analyse SPIQ Side 17

Det vi ønsker å vurdere er om variasjonen er like stor innefor en gruppe som den er mellom gruppene. Til å sjekke dette bruker vi midlere kvadratsum for de to tilfellene til å beregne F- statistikken, der F er MS mellom gruppene dividert på MS innenfor gruppene. Viss det ikke er noen forskjell burde dette tallet være nær en. Spørsmålet statistikken kan svare på er hvor langt F-verdien må være fra 1.0 for at vi skal føler oss trygge på at dette ikke beror på tilfeldigheter. Denne sannsynligheten finner vi i p-verdien. I eksemplet i tabell 7 ser vi at p-verdien er cirka 23% og det er derfor ikke noen grunn til å påstå at det er noen sammenheng mellom antall tilstander i SDL-beskrivelsen og utviklernes vurdering av kompleksitet. 5.4. Chi kvadrat testen 5.4.1. Hvordan gjøre Chi kvadrat testen i Excel? I motsetning til de testene vi har presentert tidligere er Chi kvadrattesten ikke direkte tilgjengelig fra analysepakka under Tools. For å utføre en Chi kvadrattest i Excel må du derfor gå fram som følger: 1. Velg et felt i regnearket der du vil lagre resultatet fra testen 2. Trykk på = -feltet i verktøylista øverst på arket. 3. Skriv chitest( i formelfeltet. Dette vil få fram dialogboksen til Chi kvadrattesten. Selv om parentesen til slutt i kommandoen ser litt malplassert ut, må den være med for å få aktivisert Chi kvadrattesten i Excel. 5.4.2. Databehov og forutsetninger Problemstillingen er som følger: En bedrift er i gang med å innføre objektorienterte metoder. En av de fordelene de ønsker å oppnå er færre alvorlige feil. For å se om de oppnår dette har de gjennomført et prosjekt med bruk av objektorienterte metoder og registrert fordelingen av feil over alvorlighetsgrad her angitt ved tallene 1 til 5. Før vi setter i gang med noen form for statistisk analyse vil vi plotte dataene for å få en oversikt over mulige sammenhenger. Serie 1 er data fra tradisjonell programvareutvikling, mens Serie 2 er fra objektorientert utvikling. 40 35 30 25 20 15 10 5 0 0 1 2 3 4 5 Series1 Series2 Figur 5 Antall feil pr. alvorlighetsgrad (kategori 1 5) for tradisjonell og objektorientert utvikling Ut fra plottet ser det ut som om det har blitt færre Kategori 1 feil med objektorientert utvikling, mens vi har fått langt flere Kategori 2 feil. Enkel statistisk analyse SPIQ Side 18

For å gjennomføre en Chi kvadrattest trenger vi to datasett, nemlig det originale og det forventede. Det originale datasettet er det vi allerede har. Testen bygger på en statistisk tilnærming som fungerer dårlig viss det er færre enn fem observasjoner i hvert enkelt tabellinnslag. I eksemplet under har vi to slike tilfeller og vi skal derfor være litt forsiktig med konklusjonene. Overgangen fra det originale til det forventede datasettet er kort beskrevet under ved hjelp av de samme dataene som er vist i plottet over. Feilkategori 1 er mest alvorlig Prosjekt 1 Tradisjonelt Prosjekt 2 O-O Sum Andel 1 11 1 12 0.078 2 3 36 39 0.255 3 30 31 61 0.399 4 22 19 41 0.268 Sum feil 66 87 153 1.000 Tabell 8 Originale data med tilhørende fordeling over feilkategori Vi kan nå lage tabellen med forventa verdier ved å ta det totale antallet feil rapportert for hvert prosjekt og fordele de over feilkategoriene i henhold til tallene i Andel i tabell 8. Den nye tabellen er som vist under i tabell 9. Tallene her kommer fram på følgende måte: 1. Multipliser tallene i kolonnen merket Andel i tabell 8 med antall feil i hver kategori for hvert prosjekt i nederste linje i samme tabellen. 2. Tallene vi får plasseres i tilhørende tabellinnslag i tabell 9. F.eks. vil antall feil i feilkategori 2 for Prosjekt 1 bli 66 totalt antall feil i dette prosjektet multiplisert med 0.255 andelen av kategori 2 feil i hele utvalget. Feilkategori Prosjekt 1 Tradisjonelt Prosjekt 2 O-O 1 5.15 6.79 2 16.83 22.19 3 26.33 34.71 4 17.69 23.31 Sum 66 87 Tabell 9 Tabell over forventet antall feil i hver kategori viss prosjektene var like. Vi har nå to tabeller over antall feil fordelt på de fire feilkategoriene. Den øverste tabell 8 viser hva vi observerte, mens tabell 9 viser hva vi burde ha observert viss det ikke var noen forskjell på de to prosjektene. Spørsmålet som Chi kvadrattesten kan svare på er om forskjellen mellom hva vi observerte og hva vi burde ha observert er så stor at den ikke er tilfeldig. For å få oppfylt kravet om minimum fem observasjoner i hver celle i tabellen kan vi slå sammen celler. I tabell 8 vil det være naturlig å slå samen feilkategoriene 1 og 2. Dette gir oss to nye tabeller som vist under tabell 10 og 11. Tabell 11 er laget ut fra tabell 10 på samme måte som vi laget tabell 9 ut fra tabell 8. Enkel statistisk analyse SPIQ Side 19

Feilkategori 1 er mest alvorlig Prosjekt 1 Tradisjonelt Prosjekt 2 O-O Sum Andel 1, 2 14 37 51 0.33 3 30 31 61 0.40 4 22 19 41 0.27 Sum feil 66 87 153 1.00 Tabell 10 Justert tabell alle celler har minst fem innslag Feilkategori Prosjekt 1 Tradisjonelt Prosjekt 2 O-O 1,2 22.00 29.00 3 26.31 34.69 4 17.69 23.31 Sum 66 87 Tabell 11 Justert tabell over forventede verdier 5.4.3. Hvilke data kommer ut av analysen? Når vi utfører Chi kvadrattesten som beskrevet i kapitel 5.4.1 får vi ut et enkelt tall som er kvartilen p-verdien - for Chi kvadrattesten. Dette tallet sier altså hvor sannsynlig det er å observere de dataene vi fikk viss forskjellene bare er tilfeldigheter. I vårt tilfelle finner vi at p- verdien er 1.75*10-7. Dette virker betryggende selv om vi skal være litt forsiktig siden vi har to celler med mindre enn fem innslag. For den justerte tabellen finner vi en p-verdi på 0.02. Det er altså bare en 2% sannsynlighet for at den forskjellen vi har observert er tilfeldig. Det er også interessant å observere hvordan konklusjonen forandrer seg. Uten justering av data tabellene 8 og 9. p = 1.75*10-7. Forskjellene mellom kategoriene er signifikant. Det er flere svært alvorlige feil i prosjektet med tradisjonell utvikling enn i prosjektet med objektorientert utvikling. Med justering av data - tabellene 10 og 11. p = 0.02. Forskjellene mellom kategoriene er igjen signifikant. Det er flere svært alvorlige og ganske alvorlige feil når vi bruker objektorientert utvikling enn når vi bruker tradisjonell utvikling. Når vi har slått sammen de to mest alvorlige feilkategoriene kan vi ikke lenger snakke om svært alvorlige feil som egen kategori denne kategorien er nå slått sammen med den nest alvorligste kategorien. Det er dette som forårsaker den endra konklusjonen når vi slår sammen kategorier. 5.4.4. Hvordan tolker vi resultatene? Siden testen bare gir oss en p-verdi er tolkingen rett fram. Viss p-verdien er liten vil vi påstå at det er grunnlag i observasjonene for å si at de to settene av antall feil er fordelt forskjellig. I vårt tilfelle er p-verdien så liten at vi med rimelig sikkerhet vil påstå at det blir færre alvorlige feil kategori 1 i det prosjektet som har brukt objektorienterte metoder. Enkel statistisk analyse SPIQ Side 20

5.4.5. Populære fallgruver Stort sett er Chi-kvadrat-testen svært robust. Det eneste man må passe på er forutsetningen om at hver celle i tabellen må inneholde minst fem observasjoner. Dersom vi ser bort fra dette kravet får vi resultater med heller tvilsom kvalitet. Vanligvis sørger vi for å få minst fem observasjoner i hver celle ved å slå sammen celler, som vist i forrige underkapitel. Da kan vi imidlertid risikere å miste viktig informasjon og få svar på andre spørsmål enn de vi egentlig ønsket. Et alternativ kan være å bruke Spearman-korrelasjon til å se på slike problemstillinger. Dette er vist som en del av kapitel 5.5.2. 5.5. Spearman-korrelasjon 5.5.1. Hvordan gjøre Spearman-korrelasjon i Excel Excel tilbyr dessverre ikke denne metoden direkte og heller ikke andre ikke-parametriske metoder. For å utføre en Spearman korrelasjonsanalyse i Excel må vi ty til et triks og gå fram som følger: 1. Velg Tools. 2. Velg Data Analysis. 3. Velg Rank and Percentile. Her rangerer du begge datasettene og kopierer over rangkolonnene til et nytt område. 4. Velg Tools og deretter Data Analysis på nytt. 5. Velg Correlation og sett inn det området du laget i punkt 3. 5.5.2. Databehov og forutsetninger For å kunne utføre en korrelasjonsanalyse trenger vi bare to datasett. Det vi er interessert i å finne ut er om det er noen form for systematisk sammenheng mellom de to datasettene. Et alternativ hadde vært å bruke lineær regresjon, men dette forutsetter at de tilfeldige målefeilene eller avvikene er normalfordelte. Spearman-korrelasjon er en ikke-parametriske metode og stiller derfor ingen krav til vår forkunnskap om dataene. Prisen vi må betale er at resultatene våre blir mer usikre. Grovt sett trenger vi 20% mer data for å bli like sikre i våre konklusjoner ved bruk av ikke-parametriske metode som vi trenger ellers. De 20% ekstra data er altså prisen vi må betale for å slippe unna forutsetningen om normalfordeling. Alternativt kan vi betrakte den ekstra informasjonen vi får ved å bruke regresjonstester som informasjon som kommer fra våre antagelser eller kunnskap om normalfordelte avvik og ikke fra dataene. Eksemplet fra Chi-kvadrat-testen kan omformes til et korrelasjonsproblem. Argumentet er at dersom fordelingen av feil med forskjellig alvorlighetsgrad er den samme for de to prosjektene så skulle de stort sett ha samme rang altså at det skulle være flest i samme gruppe i de to prosjektene, nest mest i neste gruppe osv. Under ser vi de to datasettene der vi har satt inn ranger for verdiene. Feilkategori 1 er mest Prosjekt 1 Tradisjonelt Prosjekt 2 O-O Sum antall feil Andel av feil i alvorlig Rang Ant. feil Rang Ant. feil hver kategori 1 2 11 1 1 12 0.08 2 1 3 4 36 39 0.25 3 4 30 3 31 61 0.40 4 3 22 2 19 41 0.27 Sum feil 66 87 153 1.00 Tabell 12 Datasettet utvidet med rangtabeller Enkel statistisk analyse SPIQ Side 21

5.5.3. Hvilke data kommer ut av analysen Ut fra trinn 5 i beskrivelsen i kapitel 5.5.1 får vi ei korrelasjonsmatrise. Det er opp til brukeren å tolke innholdet i matrisa. Når vi lar Excel utføre korrelasjonsanalyse på de to rangtabellene får vi følgende resultat. R trad R O-O Column 1 Column 2 2 1 Column 1 1 1 4 Column 2-0,2 1 4 3 3 2 Tabell 13 Resultat av korrelasjonsanalysen Kolonne 1 i tabellen gjelder tradisjonell programvareutvikling, mens kolonne 2 angår data fra objektorientert utvikling. Pila viser den tabellcella som inneholder korrelasjonen mellom de to datasettene - i dette tilfelle rangene. 5.5.4. Hvordan tolker vi resultatene Resultatet fra Excel sier at det er en korrelasjon samvariasjon på 0.2, noe som ikke er særlig mye. Som en tommelfingerregel kan vi si at korrelasjoner som har tallverdier mindre enn 0.7 trygt kan ignoreres. Konklusjonen er altså at feilene ikke er fordelt over alvorlighetsgradene på samme måte i de to prosjektene, eller for å være helt korrekt det er lite sannsynlig at vi hadde fått en så lav korrelasjon viss de hadde vært like. Legg merke til at det er alt vi kan si basert på statistikken - ytterlige konklusjoner må være vårt eget ansvar. F.eks. vil konklusjonen om at innføring av objektorientert utvikling har vært gunstig eller ikke, avhenge av hvor stor forskjell det er mellom alvorlighetsgrad 1 som det har blitt mindre av - og alvorlighetsgrad 2 som det har blitt mer av. 5.5.5. Populære fallgruver Hovedproblemet med Spearman-korrelasjon spesielt og med ikke-parametriske metoder generelt, er at det nettet de hjelper oss med å kaste ut for å fange sannheten er svært grovmasket. Vi ser dette lett av understående tabell. De to datasettene har samme ranger, men vi vil antakelig ikke si at det er noen grunn til å tro at det ene tallet varierer i takt med det andre. Det ville være mer rimelig å si at de to datasettene er uavhengige og at datasett 2 egentlig er flere usikre målinger av noe som egentlig er konstant. Datasett 1 Datasett 2 1 5.3 10 5.4 20 5.5 43 5.6 123 5.7 Tabell 14 Eksempel datasett Enkel statistisk analyse SPIQ Side 22

6. Vedlegg 6.1. Residualer og residualplott I understående figur figur 6 ser vi et plott av en samling med observasjoner og en regresjonslinje. Parameterene til regresjonslinjen er estimert ved hjelp av Excel. Avstanden mellom punktet på regresjonslinjen estimert verdi og pilspissen observert verdi er et mål for residualverdien. Y-akse Regresjonslinje X-akse Figur 6 Noen observasjoner med tilhørende regresjonslinje Viss vi lar regresjonslinjen være horisontal. men beholder avstandene mellom regresjonslinjen og observasjonene får vi et residualplott som vist i understående figur figur 7. Y-akse Residual 0 Figur 7 Residualplott Enkel statistisk analyse SPIQ Side 23

For at residualplottet skal gi oss tillit til resultatet av regresjonsanalysen bør cirka halvparten av punktene ligge på hver side av 0-linjen. Viss det er stor forskjell på antallet på over- og undersiden av plottet, tyder dette på at det ikke finnes noen lineær sammenheng mellom x- og y-verdiene i datasettet. 6.2. Eksempel på bruk av residualplott Vi tar utgangspunkt i to datasett, senere kalt datasett 1 og datasett 2 som er vist i tabellen under. De to datasettene er like, bortsett fra at y2 har andre verdier for x lik 5 og 6. x y1 y2 1 0,3 0,3 1 1,1 1,1 2 1 1 2 1,9 1,9 3 2 2 3 1,6 1,6 4 2 2 4 3,1 3,1 4 3 3 5 3,3 10 5 4,5 10 6 4 11 6 4,7 4,7 7 4,5 4,5 7 5,8 5,8 Datasett 1 (x og y1) gir følgende resultater: Tabell 15 Eksempel datasett SUMMARY OUTPUT Regression Statistics Multiple R 0,945535202 R Square 0,894036818 Adjusted R 0,885885804 Square Standard Error 0,54227931 Observations 15 ANOVA df SS MS F Significance Regression 1 32,25446429 32,25446 109,684122 1,04973E-07 Residual 13 3,822869048 0,294067 Total 14 36,07733333 Coefficients Standard Error t Stat P-value Lower 95% Upper 95% Intercept -0,18238095 0,32190613-0,56657 0,58065970-0,8778167 0,5130548 X Variable 1 0,758928571 0,072465121 10,47302 1,04973E-07 0,6023772 0,9154799 Tabell 16 Resultatene fra lineær regresjonsanalyse av Datasett 1. Enkel statistisk analyse SPIQ Side 24