FØS8300 Data Science - fra data til konkurransefortrinn
Emneplan for studieåret 2024/2025
Innhold og oppbygning
Kurset vil lære studentene grunnleggende teknikker for å konvertere rådata til det som kalles et ryddig datasett («tidy dataset»). Et ryddig datasett vil være organisert slik at det er enkelt å benytte ulike statistiske, grafiske og tabbelariske rutiner for å analysere og sammenfatte dataene. Prosessen med å genere et ryddig datasett er utfordrende fordi rådata kan være ikke-ryddig på et utall ulike måter.
Kuret vil benytte programmeringsspråket R og et sett av utvidelsespakker kalt «tidyverse» for å konvertere rådata til ryddige data. Det vil bli lagt vekt på at dette skal gjøres reproduserbart. Koden vil bli skrevet i såkalte Quarto-dokument hvor man kan kombinere tekst, selve koden og rapportering av resultatene. Kjører man dokumentet skal rådata hentes inn, konverteres til et ryddig datasett og resultatene rapporteres, samtidig som dokumentet inneholder teksten i den ferdige rapporten. Innholdet i slike Quarto-dokumenter kan også styres vha. parametre, slik at f.eks. rapporter for ulike perioder kan genereres ved bare å endre et par parametre i starten av dokumentet.
Et Quarto-dokument inneholder bare ren tekst. Dette gjør at vi kan benytte versjonskontrollsystemer (VKS) for å holde kontroll på prosessen med å utvikle dokumentet. Vi vil i kurset benytte git/Github som VKS. Dette er et distribuert VKS og gjør at flere kan jobbe på samme Quarto-dokument uten å ødelegge for hverandre. Man vil også ha flere uavhengige kopier av dokumentet og har også muligheten for å gå tilbake til tidligere versjoner av dokumentet (til tidligere «commits»).
Mer i detalj vil kurset innholde hvordan man får rådata inn i R fra lokale filer, kommunikasjon med databaser og vha. api-er mot eksterne dataservere. Det vil videre inneholde et minikurs i klassisk R, men hovedvekten vil bli lagt på bruk av de moderne rutinene i «tidyverse». Deltakerne vil også bli oppfordret til å bruke såkalte «pipes» i sin kode. «Pipes» har nå blitt en del av standard R (tidligere var det støttet vha. tilleggspakker). I rapportering av resultater vil vi også i hovedsak benytte «tidyverse». Vi vil også dekke hvordan enkle lineære modeller kan benyttes i analyse av dataene.
Læringsutbytte
Kunnskap
Ved fullført kurs skal studentene ha:
- kjennskap til prinsippene rundt et «tidy»-datasett og hvordan man kommer fra et vilkårlig mindre strukturert datasett til et strukturert «tidy» datasett
- kjennskap til fordelene med en reproduserbar arbeidsflyt og farene hvis reproduserbarhet blir ignorerte
- kjennskap til prinsippene bak et versjonskontrollsystem
- kjennskap til det statistiske programmeringsspråket R
- kjennskap til grunnleggende prinsipp for informativ presentasjon av data og resultater vha. grafikk
Ferdigheter
- være fortrolig med IDE-en R Studio
- være i stand til å løse enkle programmeringsproblemer i R
- være i stand til å lese og forstå de viktigste feilmeldingene i R
- være i stand til å benytte Rs integrerte hjelpesystem
- være i stand til å skrive strukturerte dokumenter inneholdende R kode (Quarto dokumenter)
- være i stand til å frembringe ulike sluttformat fra R Markdown dokumenter (html, Microsoft Word og pdf (via LaTeX))
- være i stand til å skrive matematiske symboler og uttrykk i R Markdown (via LaTeX matematikk syntaks)
- være i stand til å bestemme synligheten av kode, tabeller, grafikk og resultater i et R Markdown dokument
- være i stand til å presentere resultatene fra regresjonsanalyse i dynamiske regresjonstabeller
- være i stand til å bruke verktøy fra «tidyverse» for å generere «tidy» dasett fra vilkårlige ustrukturerte datasett
- være i stand til å benytte «pipes» for å skrive klar og kompakt R kode
- være i stand til å frembringe grafiske representasjoner av data og resultater vha. R pakken ggplot2
- være i stand til å benytte versjonskontrollsystemet git
- være i stand til å kombinere git, Github og R Studio for å skrive artikler med medforfattere
- være i stand til å benytte siteringsverktøyene i R Studio (sammen med Zotero og tillegget Better BibTeX)
Generell kompetanse
Etter gjennomført kurs vil studenten kunne skrive strukturerte og reproduserbare R Markdown dokumenter som inneholder datarensking, analyse og presentasjon av resultater vha. tabeller og grafikk. Det hele vil være gjort mot et distribuert versjonskontrollsystem.
Krav til forkunnskaper
Generell studiekompetanse
Anbefalte forkunnskaper
Ingen
Undervisnings- og læringsformer
Undervisningen vil være en kombinasjon av forelesninger og oppgaveløsning vha. datamaskin. Studentene må skrive et knippe kortere innleveringer i R Markdown der konvertering av datasett til «tidy» format vil være et sentralt tema.
Obligatorisk læringsaktivitet
Ingen
Vurderingsform
Gjennom kurset vil studentene bygge en portefølje på Github av korte artikler og andre oppgaveløsninger. Porteføljen vil bli vurdert som bestått/ikke bestått.
Hjelpemidler ved eksamen
Alle hjelpemidler
Mer om hjelpemidler