Afsnit 3.9: Øvelse 3: IT

I denne uges øvelse skal I blive fortrolige med multinomialfordelte data og test af hypoteser om sandsynlighedsparametrene. Specielt skal I se metoden brugt til at lave goodness of fit test. Til sidst skal I sammenligne data fra flere multinomialfordelinger.
Opgaverne 3.1 til 3.5 skal forberedes hjemmefra og gennemgås ved tavlen til øvelserne. Efter øvelsen skal der afleveres en rapport over opgave 3.6.

Opgave 3.1: Goodness of fit test: Uniform fordeling

I denne opgave vender vi tilbage til fejlene ved brug af et mailsystem fordelt på 13 arbejdsområder som vist i opgave 1.1. Mailsystemet er sådan indrettet, at der bruges cirka lige meget tid i de 13 forskellige dele, og en relevant hypotese er derfor, at fejlene er spredt ligeligt ud på de 13 områder. Hvis data strider mod denne hypotese, viser dette, at der er områder, hvor der nemmere opstår fejl. I skal tænke på situationen på den måde, at vi har 73 fejl, der skal fordeles på de 13 områder.
  1. Opstil multinomialmodellen for data i tabel fra opgave 1.1 omkring fordelingen af 73 fejl i et mailsystem, hvor sandsynlighederne for at falde i de 13 kasser er vilkårlige.
  2. Opskriv, inden for den opstillede multinomialmodel, hypotesen om ligelig fordeling på de 13 områder. Udregn de forventede antal, og lav GG-testet for hypotesen. Hvad bliver konklusionen af testet?
Jeg vil nu samle de 13 områder i tre "hovedområder", nemlig de 4 første, de 4 næste og de 5 sidste. Dette giver følgende tabel med fejl i de tre hovedområder.
Hovedomra˚de1458913Antal delomra˚der445Antal Fejl262522 \begin{array}{lccc}\hline \text{Hovedområde} & 1-4 & 5-8 & 9-13 \\ \hline \text{Antal delområder} & 4 & 4 & 5 \\ \text{Antal Fejl} & 26 & 25 & 22 \\ \hline \end{array}
  1. Opstil multinomialmodellen for fejlene i de tre hovedområder, og opskriv hypotesen om en fordeling proportional med antallet af delområder, der indgår i hovedområderne. Lav GG-testet for denne hypotese. Overrasker resultatet dig i forhold til hvad du kom frem til i det foregående spørgsmål?
Generel bemærkning.\enspaceOvenfor lavede I to test. I nogle artikler kan der være langt flere test. I sådanne situationer er det vigtigt at huske, at selvom alle hypoteser, der testes, er sande, så vil omkring 5% af testene give en pp-værdi under 0.05, jævnfør omtalen af fejl af type 1 i afsnit 1.4.

Opgave 3.2: Goodness of fit, poissonfordeling

Via Twitters API (application programming interfaces) kan man få data om trafikken på Twitter. Data i denne opgave vedrører antallet af tweets per minut på en dag i perioden fra 12.27 til 15.52, som indeholder et af søgeordene #rstats, #datascience, #bigdata, #machinelearning, #dataviz eller #ml. Data er fundet på bloggen cartesianfaith.com under et indlæg af B.L.Y. Rowe. Data er vist som en tidsrække i figuren nedenfor, og de 205 målinger kan findes i filen TwitterData.txt.
  1. Indlæs de 205 tællinger med ordren nTweet=scan("TwitterData.txt").
    Lav et antalshistogram af data med intervalendepunkter endePkt=c(1:22)*2-0.5 (det første interval er fra 1.5 til 3.5, svarende til at den mindste værdi i nTweet er 3, og det sidste interval er fra 41.5 til 43.5, svarende til at den største værdi i nTweet er 43). Indsæt titler på akserne i figuren ved at benytte xlab og ylab i kaldet til hist. Placer antallet af observationer i hvert interval i en vektor antal. Vælg et af intervallerne ud, og eftervis antallet i antal ved en direkte optælling blandt de 205 dataværdier.
  2. Opskriv multinomialmodellen for den stokasitkse antalsvektor Antal, hvor sandsynligheden for at falde i de forskellige kasser er vilkårlig.
I denne opgave skal I lave et goodness of fit test for at antallet af tweets per minut er poissonfordelt. Lad λ\lambda være rateparameteren i poissonfordelingen (enhed: antal per minut). Da den første "kasse" i multinomialmodellen indeholder tælletal mindre end eller lig med tre, vil hypotesen om en poissonfordeling betyde at sandsynligheden for at falde i den første kasse er j=03(λj/j!)eλ.\sum_{j=0}^3(\lambda^j/j!)e^{-\lambda}. Den anden kasse indeholder alle tælletal med værdien 4 eller 5, og sandsynligheden for at falde i den anden kasse er {(λ4/4!)+(λ5/5!)}eλ,\{(\lambda^4/4!)+(\lambda^5/5!)\}e^{-\lambda}, og så videre op til kasse 20. Sandsynligheden for at falde i den sidste kasse (kasse nummer 21) er 1 minus summen af sandsynlighederne for de første 20 kasser.
Som skøn over λ\lambda bruges gennemsnittet af de 205 observationer, se underafsnit 2.5.1.
  1. Opskriv, inden for din multinomialmodel, hypotesen om, at antallet af tweets per minut er poissonfordelt.
    Beregn de forventede antal under hypotesen. Hertil kan du benytte koden nedenfor. I R beregnes punktsandsynligheder i poissonfordelingen med dpois(x,lambda), og sandsynligheden for en værdi mindre end eller lig med xx beregnes med ppois(x,lambda). Forklar, at koden giver de forventede værdier.
    Indtegn de forventede antal i histogrammet fra spørgsmål (a) som en rød kurve med kommandoen lines(c(1:21)*2+0.5,forvent,col=2), hvor forvent er vektoren med de forventede antal.
  2. Lav GG-testet for hypotesen, at antal tweets per minut er poissonfordelt. Slå kasser sammen, hvis de forventede ikke er større end 5 (slå kasser sammen fra hver sin ende, indtil det forventede antal er større end 5).
    Hvad bliver konklusionen af dit goodness of fit test? Kan du give en forklaring på resultatet?

Forklaring

Konklusionen af ovenstående analyse er, at poissonfordelingen ikke er en særlig god beskrivelse af data. Man kan indse, at de 205 tællingerne viser større spredning, end hvad man forventer i en poissonfordeling. Fortolkningen af dette er, at tweets ikke er tilfældigt spredt ud over tidsperioden, nogle perioder har større intensitet af tweets end andre perioder (tweets klumper).

Opgave 3.3: Goodness of fit, normalfordeling

Data i denne opgave vedrører position af pointer, når denne flyttes fra et startpunkt og ind i et målområde, som vist i figuren i opgave 1.5. Data er simulerede baseret på informationen i figur 1 i artiklen An error model for pointing based on Fitts' Law. Der er 269 observationer målt relativt til midtpunkt af målområdet (enheden angives i figuren som "pixels"). Data ligger i filen Position.txt. Opgaven går ud på at lave et goodness of fit test for, at pointerpositionen kan beskrives med en normalfordeling.
  1. Indlæs de 269 positioner med kommandoen scan("Position.txt"), og placer disse i variablen pointer. Lav et tæthedshistogram af data med intervalinddelingen endePkt=c((-9):8)*2+0.5. Placer antallet af observationer i hvert af de 17 intervaller i en vektor antal.
    Hvis positionen af pointer skal beskrives med en normalfordeling, er det bedste valg af middelværdi μ^=0.1843,\hat\mu=0.1843, og det bedste valg af spredning er σ^=4.9938.\hat\sigma=4.9938. Indtegn normalfordelingstætheden i histogrammet med kommandoen
    curve(dnorm(x,0.1843,4.9938),from=-20,to=20,add=TRUE)
  2. Opskriv multinomialmodellen for den stokastiske vektor Antal, hvor sandsynlighederne for at falde i de forskellige intervaller er vilkårlige.
    Opskriv dernæst hypotesen, at sandsynlighederne for at falde i de 17 intervaller er givet ved sandsynlighederne for intervallerne i en normalfordeling med middelværdi μ\mu og spredning σ.\sigma. Husk at i denne sammenhæng skal det første interval opfattes som intervallet fra minus uendelig til -15.5, og det sidste interval skal opfattes som intervallet fra 14.5 til uendelig.
    Beregn de forventede antal under hypotesen. Hertil kan du benytte koden nedenfor. I R beregnes sandsynligheden for en værdi mindre end eller lig med xx i en normalfordeling med kommandoen pnorm(x,μ\mu,σ\sigma). Forklar, at koden giver de forventede værdier.
  3. Lav GG-testet for hypotesen, at pointerpositionenen er normalfordelt. Kan disse data beskrives med en normalfordeling?

Opgave 3.4: Homogenitetstest

I bogen Human-Computer Interaction: An Empirical Research Perspective omtales kort et eksperiment, hvor kvinder og mænd observeres for at vurdere deres måde at scrolle i en tekst. Hver person klassificeres efter, om vedkommende bruger enten rullehjulet på musen til at scrolle i en tekst, bruger rullepanel på skærmen eller bruger tastaturtasterne. Der er 65 kvinder og 43 mænd i undersøgelsen. Fordelingen på de tre metoder for henholdsvis kvinder og mænd kan ses i tabellen nedenfor.
KønRullehjulRullepanelTastaturTotalKvinder37161265Mænd2016743 \begin{array}{lcccc } \hline \text{Køn} & \text{Rullehjul} & \text{Rullepanel} & \text{Tastatur} & \text{Total} \\ \hline \text{Kvinder} & 37 & 16 & 12 & 65 \\ \text{Mænd} & 20 & 16 & 7 & 43 \\ \hline \end{array}
Vi ønsker med data at se, om der er kønsspecifikke måder at arbejde med computeren på.
  1. Opstil den statistiske model, hvor tælletallene for hvert køn følger sin egen multinomialfordeling. Angiv inden for den opstillede model hypotesen, at der er samme sandsynlighedsvektor for kategorierne (Rullehjul, Rullepanel, Tastatur) for de to køn.
  2. Undersøg, om data er i overensstemmelse med hypotesen om samme sandsynlighedsvektor for kategorierne (Rullehjul, Rullepanel, Tastatur) for de to køn (benyt eventuelt R-koden fra eksempel 3.7.2).

Opgave 3.5: Poissonmodel med proportionale parametre

Lad os vende tilbage til data i opgave 2.4 med antallet af fejl i kodning for tre grupper af programmører. I opgaven her betragtes kun de to første grupper af programmører. Idet vi vil bruge data til at sammenligne de to grupper, skrives raterne i de to grupper som 12λ112\lambda_1 og 14λ2,14\lambda_2, idet enheden på λ\lambda så bliver det forventede antal per 100 linjer med kode. Spørgsmålet, om de to grupper laver det samme antal fejl, kan nu formuleres som hypotesen λ1=λ2.\lambda_1=\lambda_2.
  1. Opstil en poissonmodel til beskrivelse af eksperimentet, hvor rateparametrene λ1\lambda_1 og λ2\lambda_2 er som beskrevet ovenfor.
  2. Lav et test for hypotesen, at der ikke er forskel i raten af fejl mellem de to grupper (se Resultat 3.8.1).
    Hvad bliver konklusionen af dette test?
Bemærkning:\enspaceHvis data strider mod hypotesen λ1=λ2,\lambda_1=\lambda_2, vil vi være interesseret i at indføre en parameter θ,\theta, således at λ2=θλ1.\lambda_2=\theta\lambda_1. Parameteren θ\theta angiver, hvor mange gange større λ2\lambda_2 er i forhold til λ1.\lambda_1. Et konfidensinterval for forholdet θ\theta kan beregnes som angivet efter Resultat 3.8.1.
Hvis denne metode benyttes på data for første og tredje gruppe af programmører i opgave 2.4, får vi intervallet [0.68,3.99][0.68,\,3.99] for forholdet λ3/λ1\lambda_3/\lambda_1 mellem de to rater. Da værdien 1 ligger i konfidensintervallet, strider data ikke mod at sige, at der er samme rate af fejl per 100 linjer med kode i grupperne 1 og 3.

Opgave 3.6: Afleveringsopgave

I opgave 2.6 betragtes tre metoder SVM, KNN og RS til at identificere spammails. Data fra opgaven gengives i følgende tabel.
MetodeSpam fundetSpam ikke fundetTotalSVM78341824KNN80024824RS76064824 \begin{array}{lccc}\hline \text{Metode} & \text{Spam fundet} & \text{Spam ikke fundet} & \text{Total} \\ \hline \text{SVM} & 783 & 41 & 824 \\ \text{KNN} & 800 & 24 & 824 \\ \text{RS} & 760 & 64 & 824 \\ \hline \end{array}
  1. Opstil den statistiske model, hvor tælletallene for hver metode følger sin egen multinomialfordeling. Angiv inden for den opstillede model hypotesen, at der er samme sandsynlighedsvektor for kategorierne (Fundet, Ikke Fundet) for de tre metoder.
  2. Undersøg, om data er i overensstemmelse med hypotesen om samme sandsynlighedsvektor for kategorierne (Fundet, Ikke Fundet) for de tre metoder.
Når man skal vurdere en metode til at finde spammails, er det ikke nok blot at se på, hvor mange spammails der fanges, man må også se på hvor mange af de ønskede mails, der klassificeres som spam. For de tre metoder ovenfor er data som følger.
MetodeKlassificeret som ægteKlassificeret som spamTotalSVM139641400KNN1369311400RS1390101400 \begin{array}{lccc}\hline \text{Metode} & \text{Klassificeret som ægte} & \text{Klassificeret som spam} & \text{Total} \\ \hline \text{SVM} & 1396 & 4 & 1400 \\ \text{KNN} & 1369 & 31 & 1400 \\ \text{RS} & 1390 & 10 & 1400 \\ \hline \end{array}
  1. Undersøg, om de tre metoder er lige gode til at finde ønskede mails.
  2. Hvilken metode vil du vælge til dit eget spamfilter?

ForegåendeNæste