Frank Bengtson 2013 ÖÒºÒØ ÓÒÑкÓÑ Nogle anvendelser af programmel R, bl.a. til hypotesetest R er specielt egnet til statistik og simulering og kan frit installeres på egen pc. R udfører en programlinje ad gangen, viser resultatet straks og er derfor let at eksperimentere med. Man kan tilpasse og indsætte egne data i R programmer, de virker så som alle andre værktøjer. R leverer betydeligt pænere grafik end mange kommercielle produkter, et plot kan gemmes i flere formater f.eks. ***.eps og ***.ps, hvorfra der kan konverteres til andre formater. Simulering giver en rimelig begrundelse for χ 2 -fordelingers optræden i χ 2 -test. R burde derfor også være egnet til ungdomsuddannelserne. Der findes mange tilgængelige vejledninger på www, f.eks. MORTEN LARSEN og PETER SESTOFT Noter om R, men det er ganske få ting der skal til. Eks. 1. Sum af to terninger simulering ÖÔØ ÚÒÙ ÑÒÑÐÙÚ ¹ ÙÑ ØÓ ØÖÒÒÖ ¹ ÑÙÐÖÒ Ü½¹ ÑÔÐºÒØ Þ½¼¼¼ ÖÔÐÌÊ͵ ÐÓÖÐÒ ÒÖ ÒØ ܽ ÙÑÑÖÝ Ü½µ ܾ¹ ÑÔÐºÒØ Þ½¼¼¼ ÖÔÐÌÊ͵ ݹܽ ܾ Ý ÙÑÑÖÝ Ýµ ØÐ ݵ ÔÐÓØ ØÐ ݵµ ÔÐÓØ ݵµ Ê ÓÒ ÓÐ ÚÒÙ table(y) 0 0 0 10 ÙÑÑÖÝ Ü½µ ÅÒº ½ Ø ÉÙº ÅÒ ÅÒ Ö ÉÙº Åܺ ½º¼¼¼ ¾º¼¼¼ º¼¼¼ º º¼¼¼ º¼¼¼ 2 3 4 6 7 8 9 11 12 y ÙÑÑÖÝ Ýµ ÅÒº ½ Ø ÉÙº ÅÒ ÅÒ Ö ÉÙº Åܺ ¾º¼¼¼ º¼¼¼ º¼¼¼ º¼¾ º¼¼¼ ½¾º¼¼¼ ØÐ ݵ Ý ¾ ½¼ ½½ ½¾ ¾ ½¾¼ ½¾ ½ ½ ½¼ ¾ Programlinjerne indskrives i et script og gemmes i en fil ***.R i en mappe f.eks. R1. Programmet fortolker en linje ad gangen. Curseren anbringes på første linje og kommandoen udføres ved at taste ctrl og R. Resultatet vises i R Console, hvilket gør det let at kontrollere om det var det ønskede. ecdf(y) 2 4 6 8 12 Der kan eksperimenteres med f.eks. X X, X 1 X 2, X 1 X 2 X 3 X 4. Eks. 2. Sum af to terninger sandsynlighedsmodel
Ò ÝÒÐ ÑÓРܾ¹¾½¾ ܾ Ô¼¹½½½ Ô¼½½ ¹½ Ô¼¹Ô¼» Ô¼ ÔÐÓØ ܾ Ô¼ ÐÛ½¼ ÜÐÑÖÒ ½ ½ µ ØÝÔ ÓÐÐÙ ÑÒ ØÓÐÔ ÓÖ Ò ¼½µßÐÒ ¼º¼½µÐ ÔÐÓØ ܾ ÙÑ ÙÑ Ô¼µ ØÝÔ ÐÛ ÓÐÐÙ ÜÐÑÖÒ ½ ½ µµ ÓÖ Ò ¼½¼µßÐÒ ¼º½µÐ ÓÖ Ò ½½¾µßÐÒ ÚµÐ ÓÖ ÙÑ ØÓ ØÖÒÒÖµ stolpe for sum af to terninger p0 0.04 0.06 0.08 0. 0.12 0.14 0.16 cumsum(p0) 2 4 6 8 12 2 2 4 6 8 12 2 Teststørrelser og simulering Ved simulering antages hypotesen opfyldt og de indbyggede random funktioner giver passende variation i observationerne i overensstemmelse med forudsætningerne. F.eks. kan 600 terningkast simuleres med phyp = (p 1,..., p 6 ) = ( 1 6, 1 6, 1 6, 1 6, 1 6, 1 6 ) sample(6,600,replace=true,phyp) rmultinom(1,600,phyp)[1:6], rmultinom(n, size, phyp) 1 round(runif(600,0,6)0.)), ligefordeling, rykker lidt til højre, hvor obs. er normalfordelte om (1, 2, 3, 4,, 6). Med eks. nedenfor er lavet statisik på sand. for obs. 1. Ved at variere antal kast ses hvordan spredningen varierer. 1 R: A Language and Environment for Statistical Computing The rmultinom() algorithm draws binomials X j from Bin(n j ; P j ) sequentially, where n 1 = N (N := size), P 1 = π 1 (π is prob scaled to sum 1), and for j 2, recursively, n j = N ( j 1 k=1 X k and P j = π j / 1 ) j 1 k=1 π k. 2
ØØ Ø Ô ÙÐ Ó½¹ÖÔ ¼ ½¼¼¼µ ÔÝÔ¹ÖÔ ½» µ ÔÝÔ ÓÖ Ñ Ò ½½¼¼¼µß ܹØÐ ÑÔÐ ¼¼ ÖÔÐÌÊÍ ÔÝÔµµ Ó½Ñ ¹Ü½»¼¼Ð ÔÐÓØ Ó½µµ ÓÖ Ò ¼½¼µßÐÒ ¼º½µÐ ÓÖ Ò ½½¼µßÐÒ Ú¼º¼½ ¼º½¾µÐ ÙÑÑÖÝ Ó½µ ÚÖ Ó½µ Ó½µ ÙÑÑÖÝ Ó½µ ÅÒº ½ Ø ÉÙº ÅÒ ÅÒ Ö ÉÙº Åܺ ¼º½½¼ ¼º½¼ ¼º½ ¼º½ ¼º½ ¼º¾¾¼ ÚÖ Ó½µ ½ ¼º¼¼¼¾ ½¾½ Ó½µ ½ ¼º¼½¾¼ ecdf(o1) 0.12 0.14 0.16 0.18 0.20 0.22 Ved simulationen bør middelværdien for p 1 være 1/6 og eks. giver mean=0.1663, og ved n = 600 er den forventede varians på hypotesens p 1 p 1 (1 p 1 )/n = 6 1(1 6 1 )/600 = /36/600 = 0.00023 og spredningen σ = 0.00023 = 0.012 svarer til observeret sd(o1) = 0.012. χ 2 - teststørrelsen eller Pearsonteststørrelsen beregnes som K() = (obs. antal forv. antal) 2 forv. antal og testsandsynligheden = ( 1 np 1 ) 2 np 1 ( m np m ) 2 np m, ǫ() 1 F χ 2 df (K()). Små værdier af K() svarer til nær den forventede. Simulationen giver indtryk af tæthed og fordeling af K() under hypotesen. Eks. 3. En terning, tæthed og fordeling af K() Kastes 60 gange med en alm. terning er forventet np = (,,,,, ). Ved 60 kast observeres f.eks. = ( 1,..., 6 ) = (16, 12, 9, 9, 7, 7). I eks. her er K() = (16 )2 (12 )2 (9 )2 (9 )2 (7 )2 (7 )2 De grønne/kraftige grafer er tæthed fra histogram og ecdf (empirisk cumuleret tæthed) fra observationerne og de blå/tynde er tæthed og fordeling for χ 2 -fordelingen med frihedsgrader. Af nederste fig. aflæses, at de % der ligger længst fra den forventede har K() større end 11, og de 2.% der ligger længst fra har K() større end 13. som i eks. her er - kan aflæses af nederste graf ǫ((16, 12, 9, 9, 7, 7)) 1 F χ 2 (K((16, 12, 9, 9, 7, 7))) = 1 F χ 2 (6) = 0.31, Med = (6, 16, 7, 16, 6, 9) er ǫ() = ǫ((6, 16, 7, 16, 6, 9)) 1 F χ 2 (K((6, 16, 7, 16, 6, 9))) = 1 F χ 2 (11.4) = 0.044. = 6. 3
Man kan lave vilkårlige sandsynlighedsvektorer, f.eks. p = (1, 1, 1, 1, 1, 2) efterfulgt af normering p = (1, 1, 1, 1, 1, 2)/sum(p) og en mere skæv med p<-rep(1:6), p = (1, 2, 3, 4,, 6) efterfulgt af p<-p/sum(p). Det observeres at tæthed og fordeling for K() ikke ændres. Histogram of obsk ÔÝÔ¹ÖÔ ½» µ ÔÝÔ ÒØÐ Ø¹¼ ÓÖÚ¹ÒØÐ Ø ÔÝÔ ÓÖÚ ÙÑ ÓÖÚµ ùÙÒØÓÒ Üµß ÙÑ Ü¹ÓÖÚµ¾»ÓÖÚµÐ Ô ¹ÙÒØÓÒ Üµß½¹Ô Õ Ã Üµ µð ܽ ¹½Ü¾ ¹½¾Ü ¹Ü ¹Ü ¹Ü ¹ ܹØÐ ÑÔÐ ÒØÐ Ø ÖÔÐÌÊÍ ÔÝÔµµ ÚÖ ÝÔÔ ÓÖ ÐÐ ÓÖ Ñ Ò ½¾¼µß ܹØÐ ÑÔÐ ÒØÐ Ø ÖÔÐÌÊÍ ÔÝÔµµ ÝÔÔ Ü¹ÖÙÒ ÒØÐ Øµ ܹÖÓÙÒ ÒØÐ Ø Ü» ÙÑ Üµµ ܹØÐ ÖÓÙÒ ÖÙÒ ÒØÐ Ø ¼ µ ¼ºµµµ ܹÖÑÙÐØÒÓÑ ½ ÒØÐ Ø Ô½µ½ ÔÖÒØ ܵ ÔÖÒØ ÙÑ Üµµ ÔÖÒØ à ܵµÐ ÒØÐ ¹¼¼ Ó Ã¹ÖÔ ¼ ÒØÐ µ ÓÖ Ñ Ò ½ÒØÐ µ ß Ü¹ØÐ ÑÔÐ ÒØÐ Ø ÖÔÐÌÊÍ ÔÝÔµµ½ ܹÖÙÒ ÒØÐ Øµ ܹØÐ ÖÓÙÒ ÖÙÒ ÒØÐ Ø ¼ µ ¼ºµµ Ó ÃÑ ¹Ã ܵ Ð ÙÑÑÖÝ Ó Ãµ Ó Ã Ø Ó Ã ÖÕÄË Ö ¾¼ ÓÐÔÒµ ÐÒ Ò ØÝ Ó Ãµ ÐÛ ÓÐÖÒµ ܽ¹ Õ ¼ ¼ ݺ½µ ݽ¹ Õ Ü½ µ ØØ ÐÒ Ü½ ݽ ÐÛ ÓÐÐÙµ ÔÐÓØ Ó Ãµ ÓÐÖÒ ÐÛ½¼µ ÓÖ Ò ¼¾µßÐÒ ÚµÐ ÓÖ Ò ¼µßÐÒ Ú ÐÛ¾µÐ ÓÖ Ò ¼½¼µßÐÒ ¼º½µÐ ݽ¹Ô Õ Ü½ µ ÓÖÐÒ Ý½ ÐÒ Ü½ ݽ ÐÛ ÓÐÐÙµ ÐÒ ¼º ÓÐÖÓÛÒ ÐÛ¾µ ÐÒ ¼º ÓÐÖÓÛÒ ÐÛ¾µ ÐÒ Ú ÓÐÖÓÛÒ ÐÛ¾µ Density 0.00 0.0 0. 0.1 0 1 20 obsk ecdf(obsk) 0 1 20 2 Eks. 4. Antalstabel Et kendt eks. på en 22 tabel. Er der uafhængighed mellem tøjkøb pr. md. og køn? Hvis det antages, at forbruget er uafhængigt af køn, må sandsynligheden for søjlerne være p = (p 1, p 2 ) = ( 360 18, 202 360 ) = (0.44, 0.6), og de forventede antal kan beregnes og sammenlignes med de observerede antal. Indtastning af data og beregning af teststørrelse med de øverste fem linjer i R prog. nedenfor. Også her stemmer simulationer pænt med χ 2 -fordelingen med 1 frihedsgrad. De grønne/kraftige grafer er tæthed fra histogram og ecdf fra observationerne og de blå/tynde er tæthed og fordeling for χ 2 -fordelingen med 1 frihedsgrad. De % obs. med største K() værdier er større end 4. De opfylder også hypotesen, men anses for at være for ekstreme. Her beregnes K værdien med den mere overskuelige K1(data.table,forv.table) 4
observerede forventede tøjkøb kr. pr. md. mindre end 100 mere end 100 kvinder 98 2 200 mænd 60 0 160 18 202 360 18 kvinder 360 200 = 87.78 202 360 200 = 112.22 200 18 mænd 360 160 = 70.22 202 360 160 = 89.78 160 def. nedenfor. K kan beregnes som K(data.table) som det gøres i næste eks. Histogram of ok1 ecdf(ok1) Density 0.0 0.1 0.2 0.3 0.4 0. 0.6 0.7 0 1 ok1 0 1 [ ] 98 2 = data.table = 60 0 ([ ]) 98 2 K() = K 60 0 F χ 2 1 (4.8) kan aflæses af blå/tynde graf. = K1(data.table, forv.table) ([ ] [ ]) 98 2 87.78 112.22 = K1, = 4.8, 60 0 70.22 89.78 ([ ]) 98 2 ǫ() = ǫ 1 F 60 0 χ 2(4.8) = 0.029. 1 [ ] 83 117 = data.table = 82 78 ([ ]) 83 117 K() = K = 3.4, 82 78 ([ ]) 83 117 ǫ() = ǫ 1 F 82 78 χ 2(3.4) = 0.06. 1
ecdf(ok) Man kan undersøge svar der er næsten vilkårlige, her vælges kun obs. større end seks. I fig. er den grønne graf K() og den røde kvotientteststørrelse 2 log(q()). K() værdierne er ret store, men ca. 18% af de næsten tilfældige svar har K()<4. 0 0 200 300 R Script ÖÓÛ½¹ÖÔ ¼ ¾µ ÖÓÛ½¹ ½¼¾µ½¾ ÔÐÖ Ø ÚÖ ÚÖ ÖÖÓÖ Ô ÒÓÐ Ô ÖÓÛ¾¹ÖÔ ¼ ¾µ ÖÓÛ½½ ¹ ÖÓÛ½¾ ¹½¼¾ ÖÓÛ½ Ú Ö Ø Ö ÖÓÛ¾½ ¹¼ ÖÓÛ¾¾ ¹½¼¼ ÖÓÛ¾ Ú ÒÒ Ö ÖÒ ÖÓÛ½ ÖÓÛ¾µ¹ØºØÐ ØÐ Ñ ÐÐÖ ÑØÖÜ ØºØÐ Ú Ø ÒØ Ø ÑÓÐ Ñ Ò ØÒ ØÐÐ ÚÖ ÕºØ Ø ØºØÐµ ¹¹ÒÒ Ø Ø ØÖÖº ÖÓÛ½ ÑÒ Ø ÙÑ ¾¼¼ ÖÓÛ½½ ¹ ÑÔÐ ½ ½µ ÚÒØ ÓÖÐØ ÒÒ ÐÐÐ ÔÖÓÖÑ ØÙÑÔ ÐÚÖÖ Ö ÙÐØØØ ÑÒ Ø Ú Ö Ñ ÖÐ ÑØ Ò ÖÒÒ ÕºØ Ø Ñ ÓÖÚÒØØ ÖÓÛ½¾ ¹¾¼¼¹ÖÓÛ½½ ÓÊ½Ñ ¹ÖÓÛ½½ ØÐ ØØ ÓÊ¾Ñ ¹ÖÓÛ½¾ ØÐ ØØ Ô¹ ÖÓÛ½ ÖÓÛ¾µ» ÙÑ ØºØÐµ ÙÒÖ ÝÔÓØ ÖÓÛ¾ ÑÒ Ø ÙÑ ½¼ Ô ÖÓÛ¾½ ¹ ÑÔÐ ½ ½µ ÓÖÚ½¹ ÖÓÛ½ ÖÓÛ¾µ ÙÑ ÖÓÛ½µ» ÙÑ ØºØÐµ ÓÖÚÒØ ÖÓÛ¾¾ ¹½¼¹ÖÓÛ¾½ ÓÖÚ¾¹ ÖÓÛ½ ÖÓÛ¾µ ÙÑ ÖÓÛ¾µ» ÙÑ ØºØÐµ ÖÒ ÓÖÚ½ ÓÖÚ¾µ ¹ ÓÖÚºØÐ ÖÒ ÖÓÛ½ ÖÓÛ¾µ¹ØºØÐ ÓÖÚºØÐ ÒÓРغØÐµ ý¹ÙÒØÓÒ ØºØÐ ÓÖÚºØÐµß ÙÑ ØºØÐ¹ÓÖÚºØÐµ¾»ÓÖÚºØÐµÐ ý¹ÙÒØÓÒ Ü µß ÙÑ Ü¹µ¾»µÐ Ô ½¹ÙÒØÓÒ Üµß½¹Ô Õ Ü ½µÐ ý غØÐ ÓÖÚºØÐµ Ô ½ ý غØÐ ÓÖÚºØÐµµ ÑÙÐÖÒ ÙÒÖ ÝÔÓØ Ò Ô ÒØÐ½¼¼¼¼ Óý¹ÖÔ ¼ ÒØÐµ ÓÖ Ñ Ò ½ÒØÐµ ß ÖÓÛ½¹ÖÑÙÐØÒÓÑ ½ ¾¼¼ ÔÖÓÔµ½¾ ÖÓÛ¾¹ÖÑÙÐØÒÓÑ ½ ½¼ ÔÖÓÔµ½¾ ÖÒ ÖÓÛ½ ÖÓÛ¾µ ¹ غØÐ ÓÖÚ½¹ ÖÓÛ½ ÖÓÛ¾µ ÙÑ ÖÓÛ½µ» ÙÑ ØºØÐµ ÓÖÚ¾¹ ÖÓÛ½ ÖÓÛ¾µ ÙÑ ÖÓÛ¾µ» ÙÑ ØºØÐµ ÖÒ ÓÖÚ½ ÓÖÚ¾µ ¹ ÓÖÚºØÐ ÓÃ½Ñ ¹Ã½ غØÐ ÓÖÚºØÐµÐ Óý Ø Óý ÖÕÄË Ö ¾¼ ÓÐÔÒµ ÐÒ Ò ØÝ Óýµ ÐÛ¾ ÓÐÖÒµ ܽ¹ Õ ¼ ½¼ ݺ½µ ݽ¹ Õ Ü½ ½µ ØØ ÐÒ Ü½ ݽ ÐÛ¾ ÓÐÐÙµ ÔÐÓØ Óýµ ÓÐÖÒ ÐÛ½¼µ ݽ¹Ô Õ Ü½ ½µ ÓÖÐÒ ÐÒ Ü½ ݽ ÐÛ ÓÐÐÙµ ÓÖ Ò ¼½¼µßÐÒ ¼º½µÐ ÓÖ Ò ¼ ¼µßÐÒ ÚµÐ ÐÒ ¼º ÓÐÖÓÛÒ ÐÛ µ ÓÖÚÒØ ÒÖÓÛ ØºØÐµ ÖÒÒ Ã ØºØÐµ ùÙÒØÓÒ ØºØÐµß ÓÖÚºØÐ¹ØºØÐ ÔÝÔ¹ÓÐËÙÑ ØºØÐµ» ÙÑ ØºØÐµ ÓÖ Ñ Ò ½ÒÖÓÛ ØºØÐµµß ÓÖÚºØÐÑ ¹ÖÓÛËÙÑ ØºØÐµÑ ÔÝÔРù ÙÑ ØºØÐ¹ÓÖÚºØÐµ¾»ÓÖÚºØÐµ ÖØÙÖÒ ÃµÐ ÓÖÚÒØ ÖÓÛ Ã ØºØÐµ ÑÒ ÓÖÚºØÐµ ÑÒ Ø ÚÖ ÓÖÚÒØ Ð ÚÖ ØÖÖ Ò ÚÓØÒØØ Ø ØÖÖРɹÙÒØÓÒ ØºØÐµß ɹ½ ÓÖ Ñ Ò ½ÒÖÓÛ ØºØÐµµ ÖÖ ßÓÖ Ò Ò ½ÒÓРغØÐµµ ÐÖ ßÉ¹É ÖÓÛËÙÑ ØºØÐµÑ ÓÐËÙÑ ØºØÐµÒ» ÙÑ ØºØÐµ غØÐÑ Ò µµ غØÐÑ Ò µðð ÖØÙÖÒ ÉµÐ 6