STIN300 Statistisk programmering i R

Studiepoeng:5

Ansvarlig fakultet:Fakultet for kjemi, bioteknologi og matvitenskap

Emneansvarlig:Hilde Vinje

Campus / nettbasert:Undervises campus Ås

Undervisningens språk:Engelsk, norsk

Antall plasser:150

Frekvens:Årlig

Forventet arbeidsmengde:Forelesninger/øvinger 60 timer. Selvstudium 65 timer.

Undervisnings- og vurderingsperiode:Emnet starter i januarblokk. Emnet har undervisning/vurdering i januarblokk.

Om dette emnet

Dette er et intensivkurs der du bruker programmeringsspråket R til å anvende dine statistiske ferdigheter på vitenskapelige data. Har du ikke tidligere erfaring med programmering, må du være beredt til å legge inn mye innsats, se "anbefalte forkunnskaper".

Kursdeltakerne er vanligvis master- eller PhD-studenter som har valgt seg et forskningstema. Bruk dine egne data om du kan, eller be veileder om et lignende datasett. Har du ikke valgt et forskningstema, kan du låne noen andres data.

Du vil skrive en rapport i R markdown med følgende innhold:

  • Innledning: Beskriv det fenomenet fra virkeligheten som du studerer, og formuler forskningsspørsmålet ditt konsist. Beskriv kort opphavet til dataene og tydeliggjør hvordan tall og målinger gjenspeiler fenomenet du studerer.
  • Data-import: Bruk R til å få data fra fil(er) inn i datastrukturer i R. Oversett datatyper der det trengs, slik at tall ikke feilrepresenteres som tekst, kategoriske variabler blir korrekt kodet som "faktorer" i R, sann/usann-verdier representeres som logiske variabler, osv.
  • Skisser datastrukturen: Bruk R til å utforske og beskrive omfanget og størrelsen av dataene, f.eks. antall variabler, utvalgsstørrelse, hvilke verdier hver kategoriske variabel kan ha, osv.
  • Data-visualisering: Utform og gjennomfør minst én datagrafikk som gir et nyttig overblikk over dataene dine eller svarer på et forskningsspørsmål. Forklar i ord hva dataene viser, og tolk hva dette innebærer.
  • Statistisk analyse: Velg en passende statistisk modell eller prosedyre som klargjør et mønster eller en sammenheng som er relevant for forskningsspørsmålet ditt. Gjennomfør det ved bruk av R. Oversett resultatene tilbake til håndfaste begreper og størrelser. Diskuter hva resultatene innebærer om fenomenet du studerer.

Rapporten du lager, vil være fullt reproduserbar og inneholde kjørbar kode. Den vil være et nyttig utgangspunkt for ditt videre arbeid, og vil lette diskusjoner med f.eks. en veileder.

Fokuser på hvordan kursaktivitetene leder fram mot dette sluttoppdraget. Du kan lære fra frie lærebøker på nett, daglige øvingsdokumenter (mange med screencasts), og ved å stille effektive spørsmål i Diskusjoner i Canvas.

Dagsdokumentene omfatter en innføring i R-programmering, med fokus på pakker som ggplot2 og dplyr fra samlepakken tidyverse. Vi vektlegger visualisering, samt strukturering og manipulering av data i tabellformat. Vi kommer også til å ha fokus på operatorer, variabler, datatyper og grunnleggende datastrukturer, kontrollstrukturer som løkker og betingelser, fil- og tekstbehandling, og brukerdefinerte funksjoner.

Dette lærer du

Studentene skal ved fullføring av kurset beherske en programmeringsbasert tilnærming til statistisk dataanalyse i R. Studentene skal kunne visualisere og manipulere data og lage egne funksjoner som benytter/modifiserer tilgjengelige funksjoner for å løse spesielle problemer som ikke kan løses med standard kode. Studentene skal også kunne presentere sine analyseresultater i en oversiktlig og vitenskapelig form, ved hjelp av tekst og grafikk.

KUNNSKAPER: Studentene skal få

  • forståelse av hvordan programmering kan automatisere krevende statistiske beregninger.
  • kjennskap til begrepsapparat, syntaks og konvensjoner for å beskrive, tilpasse og tolke statistiske modeller i R.

FERDIGHETER: Studentene skal kunne

  • tolke output av R sine statistiske modelleringsfunksjoner, f.eks. lm() for lineær regresjon.
  • lese inn data i ulike filformater som Excel, kommaskilt tekst, FASTA.
  • lage egne funksjoner som benytter tilgjengelige funksjoner for å løse problemer som ikke kan løses med standard kode.
  • presentere resultater av statistisk analyse i en vitenskapelig, oversiktlig form gjennom reproduserbare, kjørbare rapporter som fletter sammen forklarende tekst, programkode og output som tabeller og grafikk.
  • feilsøke problemer ved å lokalisere feil, reprodusere feilen på en mindre delmengde av problemet, steppe gjennom kode linje for linje osv.
  • orientere seg i dokumentasjon og hjelpetekster for R-pakker som implementerer statistiske metoder som studenten har kjennskap til.

GENERELL KOMPETANSE: Studentene skal være rustet til å anvende statistiske metoder i R på datasett som kommer dem i hende gjennom senere studier og arbeidsliv. Dette innebærer å få dataene inn i R, tilrettelegge dem på den form analysefunksjonene krever, kjøre analyser med hensiktsmessige innstillinger, og tolke og presentere resultatene i en form som er nyttig for sluttbrukeren.

  • Læringsaktiviteter

    Lærere er tilgjengelige i sanntidsøkter første halvpart av hver dag, mens på ettermiddagen jobber dere på egen hånd eller i selvorganiserte grupper. Del oppmerksomheten mellom å planlegge rapporten om egne data, og å studere opplæringsdokumenter, lærebøker og R-dokumentasjon for å tilegne deg de nødvendige ferdighetene.

    De første to formiddagene vil være introduksjon og "live-kode" sammen, slik at alle kommer godt i gang i programmeringsverktøyet RStudio. Så blir arbeidsformen mer friere utover kurset, både med forelesninger og undervisningsfilmer.

    Du vil få veiledning i å formulere effektive spørsmål, som er en nøkkelferdighet fordi det 1) hjelper andre å hjelpe deg og 2) hjelper deg å hjelpe deg selv. Dette kommer vi tilbake til gjennom hele kurset.

  • Læringsstøtte

    Kurssidene i Canvas lenker til daglige øvingsdokumenter, ulike guider og frie lærebøker på nett.

    Bortimot alle R-funksjoner har utfyllende dokumentasjon med kjørbare kode-eksempler. Du vil lære å finne fram i hjelpesystemet i R, lede deg selv gjennom eksemplene, og overføre dem til dine egne utfordringer.

    Nettforum som Stack Overflow og diverse KI-verktøy tilbyr gratis ekspertstøtte. Du vil lære å søke blant eksisterende svar, og hvordan du kan beskrive problemer tydelig nok til at det blir mulig for andre å hjelpe.

    Still spørsmål i Diskusjoner i Canvas. De vil bli besvart; enten i Canvas eller i fellesdiskusjoner.

    Lærere er tilgjengelige hver dag fram til tolv.

  • Pensum

    Det er ikke noe fast pensum; det viktige er at du når læringsmålene fra ditt eget forskningsfelt. Om du lærer fra øvingsdokumenter, lærebøker eller selvstudium av hjelpetekster er opp til deg. Disse frie lærebøkene er nyttig referansestoff:

    Liker du å ha bøker på papir, kan du kjøpe dem på Amazon.

  • Forutsatte forkunnskaper

    Statistikk tilsvarende C i STAT100. Enkel lineær regresjon og variansanalyse bør være kjent.

    Du forventes å være kjent med filsystemet, tastaturet, nettleseren og datamaskinen din.

  • Anbefalte forkunnskaper

    Innføring i programmering, f.eks. STIN100 Biologisk data-analyse eller INF120 Programmering og databehandling.

    Statistikk utover grunnkurs. STIN300 underviser ikke primært statistikk, men veileder deg i å bruke statistiske metoder på egne data ved hjelp av R.

  • Vurderingsordning, hjelpemiddel og eksamen
    Bestått/ikke bestått basert på tester og rapporten med en analyse av et datasett fra ditt eget fagfelt. Alt må være godkjent. Godkjente tester gjelder bare i inneværende semester.

    Mappevurdering Karakterregel: Bestått/ Ikke bestått
  • Sensorordning
    Ekstern sensor godkjenner opplegg for vurdering.
  • Obligatorisk aktivitet
    Bestått/ikke bestått basert på tester og rapporten med en analyse av et datasett fra ditt eget fagfelt. Alt må være godkjent. Godkjente tester gjelder bare i inneværende semester.
  • Merknader

    Studentene må ha egen laptop med Windows 10, Linux eller macOS 11 eller høyere for å kjøre programmene vi bruker. (Se evt. oppdaterte systemkrav.) Chromebook kan ikke brukes fordi de ikke dekker systemkravene til programmene vi kjører.

    Retningslinjer for bruk av kunstig intelligens (KI)

    Du oppfordres til å bruke KI-verktøy for å støtte din læring—som å få ideer, forbedre språket ditt eller lage skisser av algoritmer—men alt arbeid du leverer inn må være et resultat av din egen forståelse og innsats. Å kopiere og lime inn innhold direkte fra KI uten betydelig personlig bidrag, redigering eller diskusjon er ikke tillatt. I samsvar med NMBUs retningslinjer må du inkludere en spesifikasjon om hvordan du har brukt KI i den avsluttende oppgaven. Du står fritt til å velge hvilket som helst KI-program; det er imidlertid ønskelig at du har et bevisst forhold til informasjonen du deler med programmer som ikke har en databehandlingsavtale med universitetet.

  • Undervisningstider
    4 timer kombinert forelesning/interaktiv programmering daglig i tre uker.
  • Fortrinnsrett
    M-BIAS
  • Opptakskrav
    Realfag