ST1301 Bioberegninger. Jarle Tufto

Like dokumenter
ST1301 Bioberegninger - Introduksjon

ST Bioberegninger, introduksjon Om kurset

Notat 3 - ST februar 2005

Programmering i R - del 2

Læringsmål og pensum. v=nkiu9yen5nc

TMA4245 Statistikk Eksamen desember 2016

Øving 12, ST1301 A: B:

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

En innføring i MATLAB for STK1100

Notat 6 - ST februar 2005

ST0103 Brukerkurs i statistikk Forelesning 26, 18. november 2016 Kapittel 8: Sammenligning av grupper

STK Oppsummering

Eksamensoppgave i ST1201/ST6201 Statistiske metoder

Eksamensoppgave i TMA4240 Statistikk

TMA4240 Statistikk H2010

Utfordring. TMA4240 Statistikk H2010. Mette Langaas. Foreleses uke 40, 2010

Kort overblikk over kurset sålangt

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TMA4240 Statistikk Høst 2016

Programmering i R. 6. mars 2004

2.8 BACHELORGRADSPROGRAM I BIOMATEMATIKK

n n i=1 x2 i n x2 n i=1 Y i og x = 1 n i=1 (x i x)y i = 5942 og n T = i=1 (x i x) 2 t n 2

Forelesning 6: Punktestimering, usikkerhet i estimering. Jo Thori Lind

2.8 BACHELORGRADSPROGRAM I BIOMATEMATIKK

Bioberegninger - notat 4: Mer om sannsynlighetsmaksimering

Statistikk og dataanalyse

4.8 EMNEBESKRIVELSER I STATISTIKK

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

STK1100 våren Generell introduksjon. Omhandler delvis stoffet i avsnitt 1.1 i læreboka (resten av kapittel 1 blir gjennomgått ved behov)

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

Eksamensoppgave i ST0103 Brukerkurs i statistikk

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Punktestimator. STK Bootstrapping og simulering - Kap 7 og eget notat. Bootstrapping - eksempel Hovedide: Siden λ er ukjent, bruk ˆλ:

Informasjon om studieprogrammet Beregningsorientert informatikk

Bootstrapping og simulering Tilleggslitteratur for STK1100

Bred profil på statistikk?

Forkurs i informatikk Python. Andreas Færøvig Olsen

UNIVERSITETET I OSLO

TMA4245 Statistikk Eksamen desember 2016

TMA 4255 Forsøksplanlegging og anvendte statistiske metoder

TMA4240 Statistikk Høst 2015

Læreplan i Programmering og modellering - programfag i studiespesialiserende utdanningsprogram

Alternativ dag for teoriforelesning. Intro. Torsdag 12:15-14:00 R1

4.8 EMNEBESKRIVELSER I STATISTIKK

Andre sett med obligatoriske oppgaver i STK1110 høsten 2010

STK Oppsummering

10.1 Enkel lineær regresjon Multippel regresjon

Bioberegninger, ST november 2006 Kl. 913 Hjelpemidler: Alle trykte og skrevne hjelpemidler, lommeregner.

TMA4240 Statistikk H2017 [15]

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Notat 2, ST januar 2005

Kap. 6.1: Fordelingen til en observator og stok. simulering

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

UNIVERSITETET I OSLO

år i alder x i tid y i i=1 (x i x) 2 = 60, 9

Eksamensoppgåve i TMA4240 Statistikk

UNIVERSITETET I OSLO

Løsningsforslag øving 8, ST1301

Utvalgsfordelinger; utvalg, populasjon, grafiske metoder, X, S 2, t-fordeling, χ 2 -fordeling

Eksamensoppgave i Løsningsskisse TMA4240 Statistikk

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

Introduksjon til Generaliserte Lineære Modeller (GLM)

ST1101/ST6101 Sannsynlighetsregning og statistikk Vår 2019

EKSAMEN I FAG TMA4260 INDUSTRIELL STATISTIKK

Løsningsforslag øving 9, ST1301

UNIVERSITETET I OSLO

Minste kvadraters metode i MATLAB og LabVIEW

Utvalgsfordelinger (Kapittel 5)

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

ST0202 Statistikk for samfunnsvitere. Bo Lindqvist Institutt for matematiske fag

for x 0 F X (x) = 0 ellers Figur 1: Parallellsystem med to komponenter Figur 2: Seriesystem med n komponenter

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Bachelor i matematiske fag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Kapittel 4.4: Forventning og varians til stokastiske variable

Formelsamling i medisinsk statistikk

Eksamensoppgave i ST1201/ST6201 Statistiske metoder

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

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

ST0202 Statistikk for samfunnsvitere

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE STA «Tabeller og formler i statistikk» av Kvaløy og Tjelmeland. To A4-ark/ 4 sider med egne notater. Godkjent kalkulator. Rute.

Institutt for datavitenskap og informasjonsvitenskap Institutt for matematiske fag

11. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 5 (del 2) Ada Gjermundsen

Ridge regresjon og lasso notat til STK2120

Bootstrapping og simulering

Første sett med obligatoriske oppgaver i STK1110 høsten 2015

TMA4100 Matematikk 1, høst 2013

RAMMER FOR MUNTLIG EKSAMEN I MATEMATIKK ELEVER 2015

Pilkast og kjikvadrat fordelingen

ST0202 Statistikk for samfunnsvitere

TMA4240 Statistikk Høst 2009

Programmering i Java med eksempler

Observatorar og utvalsfordeling. Torstein Fjeldstad Institutt for matematiske fag, NTNU

TMA4100 Matematikk 1, høst 2013

Inferens. STK Repetisjon av relevant stoff fra STK1100. Eksempler. Punktestimering - "Fornuftig verdi"

NTNU KOMPiS Studieplan for MATEMATIKK 2 ( trinn) med hovedvekt på trinn Studieåret 2015/2016

Transkript:

ST1301 Bioberegninger Jarle Tufto 30. november 2003

2

Forord Jarle Tufto Trondheim, 30. november 2003 3

4

Innhold 1 Introduksjon 7 1.1 Om kurset............................. 7 1.2 Hvorfor R?............................ 8 1.3 Eksempel på en enkel R-sesjon.................. 8 1.4 Mer om brukergrensesnittet til R under unix.......... 13 1.5 Brukergrensesnittet til R under windows............ 13 2 Mere om R 15 2.1 Operasjoner på matriser og vektorer............... 15 2.2 Andre datatyper......................... 15 2.3 Funksjoner............................. 15 2.4 Løkker............................... 15 2.5 Kontrollflyt............................ 15 2.6 Grafiske muligheter........................ 15 3 Generering av stokastiske variable 17 3.1 Introduksjon............................ 17 3.2 Transformasjoner......................... 17 3.3 Inversjonsmetoden........................ 17 3.4 Forkastningsmetoden....................... 17 3.5 Innebygde funksjoner i R for generering av stokastiske variable 17 4 Noen standard statistiske metoder 19 4.1 t-test................................ 19 4.2 Regresjon............................. 19 4.3 Variansanalyse.......................... 19 4.4 χ 2 -test............................... 19 5 Bruk av sannsynlighetsmaksimering 21 5.1 Generellt om statistiske modeller................ 21 5.2 Numeriske metoder for sannsynlighetsmaksimering...... 21 5

6 INNHOLD 6 Bootstrapping 23 7 Leslie matriser og stabil alderstruktur 25 8 Simulering av biologiske stokastiske prosesser 27 8.1 Genetisk drift........................... 27 8.2 Miljø og demografisk stokastisitet................ 27 8.3 Stabilitet og kaos......................... 27

Kapittel 1 Introduksjon 1.1 Om kurset Innenfor en del retninger av statistikkfaget er behovet for programmeringsferdigheter relativt store. I forbindelse med analyse av data, vil man som biomatematiker og statistiker særlig ha behov for å utføre ulike typer numeriske beregninger og å implementere ulike typer algoritmer for å simulere fra til dels kompliserte sannsynlighetsfordelinger. Da bachelorprogrammet i biomatematikk ble satt sammen sto valget mellom å legge inn et av Institutt for informatikks standard grunnkurs i programmering i første studieår eller å lage vårt eget kurs. Vi har valgt det siste fordi dette i langt større grad gir oss muligheten til å fokusere på programmeringsteknikker som vi som statiskere rent faktisk vil ha behov for. Det gir oss også muligheten til å velge et høynivå programmeringsspråk som er mer tilpasset den type beregninger vi som statiskere møter. Samtidig er tanken at vi samtidig vil kunne styrke forståelsen av viktige deler av brukerkursene i sannsynlighetsregning, statistiske metoder og matematikk ved å gjøre deler av stoffet i disse kursenen mer konkret og håndgripelig. Et standard grunnkurs i programmering vil være nyttig særlig i et senere masterstudiet når en skal jobbe med mer avanserte statistiske teknikker, men slik vi ser det kan et slikt kurs tas først når behovet melder seg i forbindelse med mastergrad. Dette kurset vil også kunne være interessant for masterstudenter i biologi og andre interesserte som ønsker å lære seg programmeringsferdigheter tilpasset den type problem en som masterstudent vil kunne møte i forbindelse med analyse av innsamlede data. Øvingene vil i praksis være den viktigste delen av kurset. ******************* 7

8 KAPITTEL 1. INTRODUKSJON 1.2 Hvorfor R? Når vi som statistikere skal trekke slutninger fra data, f.eks. fra en klinisk undersøkelse eller tidseriedata fra en populasjon ute i naturen, bygger vi slutningene på en statistisk modell. En slik modell representerer generellt et sett antakelser om de prosessene som har generert dataene. Hvilke antakelser vi finner rimelige varierer selvsagt fra situasjon til situasjon. I mange tilfeller vi modellantakelsene svare til standard statistiske modeller som variansanalyse, lineær regresjon, logistisk regresjon eller levetidsanalyse. I slike tilfeller kan vi benytte standard metoder for estimering og hypotesetesting under slike modeller. Slike standardmetoder finnes innebyggd i en rekke forskjellige statistiske programpakker som SPSS, SAS, Minitab, S-plus og i R som vi skal benytte i dette kurset. I andre tilfeller vil ikke de antakelsene vi finner rimelige svare til noen standard statistisk modell og metode. I slike tilfeller vil vi måtte analysere dataene ved hjelp av egenutviklede statistiske modeller som vi forsøker å skreddersy for den aktuelle situasjonen vi studerer. Programpakken R er velegnet til å utføre den type beregninger vi trenger å utføre i slike situasjoner. I biologi og medisin blir mye av teorien stadig mer matematisert og stokastiske, ikke-deterministiske modeller spiller en stadig viktigere rolle. For å oppnå innsikt i de dynamiske egenskapene til en modell vil vi ofte trenge å undersøke modellen ved hjelp av stokastisk simulering og numeriske beregninger på datamaskin fordi matematisk analyse av alle sider ved modellen blir for vanskelig. Også på dette området er R relativt egnet og vi har valgt å bruke R for begrense antall programpakker som studentene vil måtte sette seg inn i. R er også en fritt tilgjengelig programpakke med fritt modifiserbar kildekode som kan kjøres under alle vanlige operativsystemer som Unix, Linux, og ulike versjon av Microsoft Windows. Dette har gjort R til et attraktivt alternativ til tilsvarende kommersielle programpakker. Mye av nyere avanserte statistiske metoder utvikles og implementeres av ledende statistikere som tilleggspakker ( packages ) som kan kjøres under R. I bruk er R svært likt den kommersielle programpakken S-plus. R, ulike tilleggspakker, og mer informasjon om systemet er tilgjengelig fra http://www.r-project.org. Som student må du gjerne installere R på din hjemmemaskin. 1.3 Eksempel på en enkel R-sesjon Skriver vi R i unix-shellet blir vi møtt av av følgende: R : Copyright 2003, The R Development Core Team

1.3. EKSEMPEL PÅ EN ENKEL R-SESJON 9 Version 1.8.0 (2003-10-08) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type license() or licence() for distribution details. R is a collaborative project with many contributors. Type contributors() for more information. Type demo() for some demos, help() for on-line help, or help.start() for a HTML browser interface to help. Type q() to quit R. [Previously saved workspace restored] > Tegnet > (Rs kommandoprompt) vises når R venter på at vi skal gi en ny kommando. Det enkleste vi kan gjøre i R er å bruke programmet som en avansert kalkulator. Skriver vi > 10+10 returner R følgende: [1] 20 R kjenner alle grunnleggende regnearter som addisjon, subtraksjon, multiplikasjon, divisjon, potenser, o.s.v. Merk også at R bruker punktum og ikke komma som desimalskilletegn. > 10-5 [1] 5 > 6*5.1 [1] 30.6 > 100/3 [1] 33.33333 > 5^2 [1] 25 > sqrt(2) [1] 1.414214

10 KAPITTEL 1. INTRODUKSJON Objekter For å ta vare på resultatet av en beregning er det hensiktsmessig å lagre resultatet av beregningen på et eget navngitt sted i datamaskinens minne. Dette gjør vi ved å tilordne resultatet av uttrykket til et såkalt objekt. Hvis vi skriver > a <- 5+3 opprettes et objekt (en plass i datamaskinens minne) hvor verdien av uttrykket 5+3 lagres. Objektet får navn a. Operatoren <- kalles en tilordningsoperator. Vi kan så senere bruke resultatet av beregningen ved å inkludere a i nye uttrykk. F.eks. > a [1] 8 > a^2 [1] 64 Objekter av type vektor Uttrykk og objekter trenger ikke å være av typen enkle tall (skalarer) men kan også være av type vektor, matrise, o.l. For å opprette søylevektoren (5, 2, 1, 5, 6, 1) skriver vi: > x<-c(5,2,1,5,6,-1) Her tilordnes verdien av uttrykket c(5,2,1,5,6,-1) (en vektor) til objektet x. Ønsker vi å beregne summen av alle elementene i vektoren skriver vi: > sum(x) [1] 18 De fleste regneoperasjoner utføres elementvis for vektorer. Om vi oppretter en ny vektor y og legger denne til x får vi > y<-c(1,2,3,4,5,6) > z<-x+y > z [1] 6 4 4 9 11 5

1.3. EKSEMPEL PÅ EN ENKEL R-SESJON 11 Vi ser at resultat er en ny like lang vektor hvor elementene i vektoren z er gitt ved z i = x i + y i. Hvis vektorene er av forskjellig lengde vil den korteste resirkuleres. F.eks. vil vektoren c(2,3) i uttrykket nedenfor resirkuleres slik at annenhvert element opphøyes i henholdsvis 2 og 3: > x [1] 5 2 1 5 6-1 > x^c(2,3) [1] 25 8 1 125 36-1 Å beregne er 6 i=1 x 2 i er dermed enkelt: > sum(x^2) [1] 92 Her vil uttrykket xˆ 2 altså være en ny vektor med elementer lik kvadratet av elementene i vektoren x. Denne vektoren blir så argument til funksjonen sum. Beregning av enkle deskriptive observatorer som utvalgsgjennomsnitt og utvalgsvarians kan gjøres ved hjelp funskjonene sum og length: >sum(x)/length(x) [1] 3 > sum((x-sum(x)/length(x))^2)/(length(x)-1) [1] 7.6 Men R har selvsagt også innebyggde funksjoner for å utføre nettopp disse beregningene: > mean(x) [1] 3 > var(x) [1] 7.6 Mer informasjon om innebyggde funksjoner finnes ved først å starte hjelpesystemet med kommandoen > help.start() Hjelpesystemet vil da vises i nettleseren netscape eller mozilla. Hjelp om en bestemt funskjon finner en via oversikten i nettleser eller ved å skrive f.eks. > help(mean) i R-vinduet. Hjelpesiden for kommandoen mean vil da vises i nettleser (see fig. 1.1). Dersom R kjøres i ESS-mode under emacs, kan den være nødvendig å gi det ekstra argumentet html.help=t (h=t er tilstrekkelig).

12 KAPITTEL 1. INTRODUKSJON Figur 1.1: Hjelpesiden for kommandoen mean

1.4. MER OM BRUKERGRENSESNITTET TIL R UNDER UNIX 13 1.4 Mer om brukergrensesnittet til R under unix 1.5 Brukergrensesnittet til R under windows

14 KAPITTEL 1. INTRODUKSJON

Kapittel 2 Mere om R 2.1 Operasjoner på matriser og vektorer 2.2 Andre datatyper 2.3 Funksjoner 2.4 Løkker 2.5 Kontrollflyt 2.6 Grafiske muligheter 15

16 KAPITTEL 2. MERE OM R

Kapittel 3 Generering av stokastiske variable 3.1 Introduksjon Har vi en modell innebærer det at vi har gjort visse antakelser om hvordan dataene er fordelt. I en lineær regresjonsmodeller er f.eks. responsvariabelen Y i for den i te observasjonen normalfordelt med forventning a + bx i og varians σ 2. I denne modellen har estimatorene for de ulike parameterne kjente fordelinger. F.eks. er estimatoren for stigningstallet b, ˆb, student t-fordelt. I mer kompliserte modeller vil ulike estimatorer og observatorer ikke nødvendigvis ha fordelinger vi kjenner analytisk. 3.2 Transformasjoner 3.3 Inversjonsmetoden 3.4 Forkastningsmetoden 3.5 Innebygde funksjoner i R for generering av stokastiske variable 17

18 KAPITTEL 3. GENERERING AV STOKASTISKE VARIABLE

Kapittel 4 Noen standard statistiske metoder 4.1 t-test 4.2 Regresjon 4.3 Variansanalyse 4.4 χ 2 -test 19

20 KAPITTEL 4. NOEN STANDARD STATISTISKE METODER

Kapittel 5 Bruk av sannsynlighetsmaksimering 5.1 Generellt om statistiske modeller 5.2 Numeriske metoder for sannsynlighetsmaksimering 21

22 KAPITTEL 5. BRUK AV SANNSYNLIGHETSMAKSIMERING

Kapittel 6 Bootstrapping 23

24 KAPITTEL 6. BOOTSTRAPPING

Kapittel 7 Leslie matriser og stabil alderstruktur 25

26 KAPITTEL 7. LESLIE MATRISER OG STABIL ALDERSTRUKTUR

Kapittel 8 Simulering av biologiske stokastiske prosesser 8.1 Genetisk drift 8.2 Miljø og demografisk stokastisitet 8.3 Stabilitet og kaos 27