En kurs i Data Science

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

The Data Science Venn Diagram

Statistisk databehandling

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. 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 versionshantering): GitHub och Git

En mjukvara för versionshantering och en webbaserad lagringstjänst.

Tillgänglighet: GitHub

Versionshantering

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

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?

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 i april och eventuellt augusti.
  • När nästa kursomgång startar (HT period 2) nollställs alla delresultat.

E-tenta (1,5hp, A-F, 27/2)

  • Två delar: Flervalsfrågor och problemlösning i RStudio-miljö.
  • Hjälpmedel: Relevanta Cheatsheets från RStudio.

Projekt (3 hp, A-F, presentation och deadline 12/3)

  • 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.

Gästföreläsningar av "Data Scientists"

1/2: Sebastian Tengborg

19/2: Mehrdad Mamaghani