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??

Reproducerbarhet

Klipp, klistra, klicka

  • Som statistiker/aktuarie/matematiker skriver du många rapporter.
  • Många frestas skapa tabeller och figurer genom att klippa, klistra, klicka i och mellan Excel-ark.
  • Exempel: Ta fram en figur över KPI 2017 https://www.google.se/search?q=kpi+scb

Problem

  • “Intressant med nedgången på slutet, men vad är månad 13?”
  • “Snyggt, 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.

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.

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 med stort inflytande från Hadley Wickham på RStudio. Design filosofi: Snabba, konsistenta och ändamålsenliga funktioner. Fokus i denna kurs.

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 och en webbaserad lagringstjänst.

Tillgänglighet: GitHub

Versionshantering

Bild från http://phdcomics.com/comics/archive.php?comicid=1531


  • Inte nödvändigt för reproducerbarhet, men ett måste för stora projekt som pågår under lång tid. Mest en bieffekt av att vi använder GitHub i denna kurs.

  • Versionshantering stöder arbetet med kodprojekt i team

Allt väl integrerat genom R Studio.

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

Sammanfattning

  • Allt skrivet i kod: R

  • Portabelt: .Rproj (RStudio)

  • Tillgängligt: GitHub

  • Automatiserat: R Markdown

Kursupplägg

Kursutvekling vt2018 - ht2018

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.

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

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

Kursupplägg

  • Förberedelse: Uppgifter på DataCamp inför varje lektion.
  • Lektioner: Huvudsakligen korta genomgångar följt av programmeringsuppgifter med handledning.
  • Examination:
    • 6 inlämningsuppgifter.
    • Digital tentamen.
    • Projekt.

Hemuppgifter (3hp, U/G)

  • Sex uppgifter med deadlines följande sex söndagar.
  • Löses individuellt och självständigt (begränsad handledning).
  • Kanratgranskning.
  • Missad deadline/underkänd uppgift: Omexamination
  • När nästa kursomgång startar nollställs alla delresultat.

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

  • Två delar: Flervalsfrågor och problemlösning i RStudio-miljö.
  • Hjälpmedel: Relevanta Cheatsheets från RStudio.
  • Examination i December, omtenta i Januari (TimeEdit)

Projekt (3 hp, A-F)

  • Ett inlägg i en data-blogg.
  • Belyser en frågeställning med hjälp av ett unikt datamaterial.
  • Handledningstilfällen kommer schemaläggas.
  • Kort (5 min) muntlig presentation (TimeEdit).

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

2019-11-27: Benjamin Allévius

2019-12-10: Magnus Gudmundson