En kurs i “Data Science”

The Data Science Venn Diagram

Statistisk databehandling

Vi kommer inte beröra…

  • …speciella verktyg för saker som är för stora för datorns internminne (Big Data?)…
  • …verktyg för regression och prediktion (Machine learning, Deep learning, …)…
  • …men kanske Data mining??

Kursupplägg

Kursbok

Uppgifter på DataCamp

Ger grundläggande träning och förberedelse inför lektion. Inte betygsgrundande, men lektioner och handledning kommer förutsätta att de är gjorda.

Kursupplägg

  • Förberedelse: Uppgifter på DataCamp inför varje lektion.
  • Lektioner: Programmeringsuppgifter med handledning. Få antal “vanliga” lektioner!
  • Examination:
    • 6 inlämningsuppgifter. (Erik)
    • Digital tentamen. (Erik (+ Michael))
    • Projekt. (Michael)

Inlämningsuppgifter (3hp, U/G)

  • Sex uppgifter med deadlines följande sex söndagar.
  • Löses individuellt och självständigt (begränsad handledning).
  • Obligatorisk kamratgranskning + feedback från lärare.
  • Missad deadline/underkänd uppgift: Omexamination sker som tidigast i Feb.
  • När nästa kursomgång startar nollställs alla delresultat av delmomenten.

E-tenta (1,5hp, A-F)

  • Obs, tentan är på distans!
  • Problemlösning i RStudio. Vissa frågor kommer vara tagna från lektionsunderlag.
  • Hjälpmedel: Relevanta Cheatsheets från RStudio.
  • Examination i December, omtenta i Februari, se timeedit.

Projekt (3 hp, A-F, Michael)

  • Ett inlägg i en data-blogg. Grunden till din C-uppsats?
  • Belyser en frågeställning med hjälp av ett “unikt” datamaterial.
  • Handledningstillfällen, nätet/möjligt på plats. Tänk tidigt på ämne!
  • Kort (5 min!) muntlig presentation 2022-01-14, se timeedit.

Handledning

  • Största delen av kursen är arbete på egen hand, allting finns på nätet. Därför drar vi ned på timmar du behöver vara på plats/tillgänglig.
  • Du bestämmer tempot, alla 6 inlämningsuppgifter finns online.
  • Distans innebär att vi kör föreläsning/handledning forum och på zoom.

Reproducerbarhet

Klipp, klistra, klicka ladda in data och andra problem

  • Som statistiker/aktuarie/matematiker kommer du göra många anaylser.
  • Du kommer att skriva många rapporter.
  • Många frestas skapa tabeller och figurer genom att klippa, klistra, klicka i och mellan Excel-ark.

Problem

  • Hur behandlade du NA/“missing values”?
  • Vad använde du för model för att få fram dessa resultat, med vilka parameterar?
  • Snygg figur, men kan jag få en tabell istället?
  • Nästa år får en kollega (eller du själv) samma uppdrag och undrar hur du fick fram uppgifterna/datan.

Reproducerbar dataanalys

Reproducibility is the ability to get the same research results or inferences, based on the raw data and computer programs provided by researchers. (Wikipedia)

  • Jfr Replikerbarhet, förmågan att komma fram till samma slutsats baserat på oberoende data/analys.
  • Du kan aldrig garantera att du gjort “rätt”, men du kan i alla fall dokumentera vad du gjort.
  • Det kan också vara svårt att garantera att allt fungerar lika mellan OS.

Reproducerbar dataanalys

  • Allt skrivet i kod (inget klickande eller klippande/klistrande av resultat/tabeller/figurer)

  • Portabelt (koden skall vara körbar, inte bara på din dator idag)

  • Tillgängligt (andra skall enkelt kunna ta del av och reproducera din analys)

  • Automatiserat från rådata till rapport (en knapptyckning skall räcka för att generera slutprodukten)

Verktyg för reproducerbar dataanalys

Kod: R eller Python?

Kod: R eller Python!

Men varje sak kan göras på många, lite för många, sätt i R.

summary(mtcars$mpg)
summary(mtcars$"mpg")
summary(mtcars[, "mpg"])
summary(mtcars["mpg"])
summary(mtcars[["mpg"]])
summary(mtcars[1])
summary(mtcars[, 1])
summary(mtcars[[1]])
with(mtcars, summary(mpg))
attach(mtcars); summary(mpg)
summary(subset(mtcars, select=mpg))

Från http://r4stats.com/articles/why-r-is-hard-to-learn/

Kod: Hadleyverse Tidyverse

En serie R-paket från RStudio. Design filosofi: Snabba, konsistenta, ändamålsenliga funktioner. Fokus i denna kurs.

Icke-tidyverse-lösningar i de olika delmomenten

Automatisk rapportgenerering

Automatisk rapportgenerering: Markdown

Automatisk rapportgenerering: R Markdown

En utveckling av Markdown som inkluderar körbar kod.

knitr: .Rmd → .md

Tillgänglighet och god programmeringsstil

  • En viktig aspekt för att göra kod tillgänglig är att göra den läsbar

  • I den här kursen kommer vi att använda The tidyverse style guide av Hadley Wickham

  • styler-paketet har ett bekvämt Rstudio-Addin som hjälper dig transformera din kod enligt stilguiden

Tillgänglighet och versionshantering: Git och GitHub

  • En mjukvara för versionshantering
  • En webbaserad lagringstjänst för din historik

Versionshantering: Git

Tillgänglighet: GitHub

Allt väl integrerat genom R Studio.

Ger även .Rproj för ökad portabilitet.

Hur använder jag X för att Y? (1)

Hur använder jag X för att Y? (2)

Sammanfattning

  • Allt skrivet i kod: R

  • Portabelt: .Rproj (RStudio)

  • Tillgängligt: GitHub

  • Automatiserat: R Markdown

Gästföreläsningar av “Data Scientist”

2021-11-29: Benjamin Allévius - Senior Data scientist