Statistik II

Daniel J. Stekhoven, stekhoven@nexus.ethz.ch

plot of chunk unnamed-chunk-1

401-0683-00L Statistik II - Herbstsemester 2018

Ziel der Vorlesung

  • Konzepte und Absicht einer breiteren Auswahl von relevanten Methoden kennenlernen
  • Anwendung dieser Methoden an praktischen Beispielen in der Software R erfahren
  • Statistik an realen Beispielen der Medizin infragestellen und überprüfen

Daniel J. Stekhoven

Übersicht Vorlesung (geplant)

  • 1: Einführung R
  • 2-6: Lineare Regression
    • Multiple Lineare Regression
    • Modellwahl
    • Logistische Regression
    • Mischeffektmodelle
    • Bayes Inferenz
  • 7: Workshop Publikationen
  • 8-10: Daten
    • Kategorielle Daten
    • Poweranalyse
    • Fehlende Werte
  • 11-12: Weitere Methoden
    • Unsupervised Learning
    • Survival Analysis
  • 13: Repetition
Daniel J. Stekhoven

Nützliches bevor es losgeht...

Daniel J. Stekhoven

Nützliches bevor es losgeht...

  • Literatur:
    • kein Skript
    • Buchempfehlungen
    • Referenzen aus Slides
Daniel J. Stekhoven

Nützliches bevor es losgeht...

  • Literatur:
    • kein Skript
    • Buchempfehlungen
    • Referenzen aus Slides
  • Quizze bestehen aus drei Teilen:
    • Theoriefrage
    • R Anwendung
    • Literaturbeispiel
    • Ideale Vorbereitung für Prüfung!
Daniel J. Stekhoven

Achtung

R ist sehr wichtig für diese Vorlesung

Nützliches bevor es losgeht...

  • Prüfung:
    • Multiple Choice
    • 120 min
    • am Computer
    • Prüfungsfragen sind sehr ähnlich zu Quizzen
    • 10-seitige (nicht Blätter) Zusammenfassung als Hilfsmittel
Daniel J. Stekhoven

Literatur

ISL (2013 Edition) https://link.springer.com/book/10.1007%2F978-1-4614-7138-7

An Introduction to Statistical Learning

with Applications in R

  • guter Einstiegstext
  • praktische Anwendung in R
  • Download via ETH Bibliothek

http://bit.ly/getISLeth

Daniel J. Stekhoven

Statistisches Lernen - eine Übersicht

ISL - 2.1.4 Supervised Versus Unsupervised Learning

Supervised Learning

Zu jedem \( X_i \) gibt es ein \( Y_i \).

  • falls \( Y \) kontinuierlich: Regression
    VL 2, 3, 5, 6, 12
  • falls \( Y \) kategoriell: Klassifikation
    VL 4, 8
Daniel J. Stekhoven

Statistisches Lernen - eine Übersicht

ISL - 2.1.4 Supervised Versus Unsupervised Learning

Supervised Learning

Zu jedem \( X_i \) gibt es ein \( Y_i \).

  • falls \( Y \) kontinuierlich: Regression
    VL 2, 3, 5, 6, 12
  • falls \( Y \) kategoriell: Klassifikation
    VL 4, 8

Unsupervised Learning

Es gibt nur \( X_i \).

  • zum Beispiel: Clustering
    VL 11
Daniel J. Stekhoven

Statistisches Lernen - eine Übersicht

ISL - 2.1.4 Supervised Versus Unsupervised Learning
Andere Themen: Publikationsworkshop (VL 7), Poweranalyse (VL 9),
Imputation (VL 10)

Supervised Learning

Zu jedem \( X_i \) gibt es ein \( Y_i \).

  • falls \( Y \) kontinuierlich: Regression
    VL 2, 3, 5, 6, 12
  • falls \( Y \) kategoriell: Klassifikation
    VL 4, 8

Unsupervised Learning

Es gibt nur \( X_i \).

  • zum Beispiel: Clustering
    VL 11
Daniel J. Stekhoven

Einführung in R und RStudio

  • Was ist R?
  • Vorteile und Nachteile von R
  • RStudio
  • Daten einlesen
  • Datentypen und Objekte
  • Grafiken
Daniel J. Stekhoven

Was ist R?

  • Eine Umgebung für statistisches Programmieren
  • Entwickelt in den 1990ern von Ross Ihaka & Robert Gentleman (wird nun durch das R-Core Team unterhalten)
  • Der beste Weg um Statistik zu tun, und das ist nicht alles…
Daniel J. Stekhoven

Hunderte, nein, tausende von Paketen

engl. packages

Die Basisinstallation von R kann erweitert werden:

  • tausende von contributed Paketen
  • von ganz generell bis zu sehr spezifisch
  • öffentlich verfügbar auf dem Internet (z.B. CRAN, bioconductor, GitHub)
Daniel J. Stekhoven

Vorteile von R

  • Gratis
  • Plattformunabhängig
  • Flexibilität
  • Konstante Weiterentwicklung
  • R wird bleiben: es lohnt sich zu lernen…
Daniel J. Stekhoven

Grafikgallerien

ggplot(mtcars, aes(factor(cyl), mpg)) +
  geom_violin(aes(fill = factor(cyl)))

plot of chunk unnamed-chunk-2

R Nachteile

  • Kein GUI
  • Keine Klick-Menüs
  • Konterintuitives Code-Schreiben notwendig

Diese Punkte sind alle nur vorübergehend!

Daniel J. Stekhoven

R Nachteile

  • R Fertigkeiten \( \neq \) Statistische Fähigkeit
  • R entwickelt sich weiter \( \Rightarrow \) potentielle Gefahr das Code plötzlich nicht mehr funktioniert
  • Alternative Möglichkeiten dasselbe zu tun

Zum Nachschlagen: http://r4stats.com/articles/why-r-is-hard-to-learn/

Daniel J. Stekhoven

Rstudio - eine Entwicklungsumgebung für R

  • R ist eine Programmiersprache mit einem ziemlich hässlichen Interpreter.
  • Für effizientes Arbeiten, braucht es eine geeignete Umgebung.

Warum?

  • R hat eine Konsole in welcher Zeugs passiert
  • Die Eingabe ist jeweils eine einzelne Zeile mit Code (Kommando)
  • Diese Zeilen sollten in einer Datei gespeichert werden (R Skript)
  • Idealerweise wollen wir auch Plots und die Hilfe komfortabel anschauen
  • …und so weiter und so fort - lassen sie es mich zeigen!
Daniel J. Stekhoven

Die Oberfläche von RStudio

Installation von R und RStudio

R

RStudio

Daniel J. Stekhoven

Skript-Konsolen-Logik

  • das Skript sammelt die Kommandozeilen
  • in der Konsole werden die Kommandozeilen ausgeführt
  • in der Konsole werden auch die Resultate (engl. output) angezeigt
  • man schickt einzelne Zeilen, eine Selektion oder ein ganzes Skript an die Konsole

Pipe

  • oder noch einfacher per Tastenkombination: Cmd/Ctrl + Enter
Daniel J. Stekhoven

Daten einlesen

  • Funktionen, um Daten einzulesen:
    • read.table() - liest beliebige Textdateien ein
    • read.csv() und readr::read_csv() lesen kommaseparierte-Werte-Dateien ein (engl. comma-separated values)
    • readxl::read_excel() liest Excel Dateien ein
    • load() lädt gespeicherte R-Objekte
  • Kann sehr komfortabel über RStudio gemacht werden

data

Beachte beim Einlesen von Daten

  • R-Objekte sind nur für R
  • CSV können von anderen Programmen gelesen werden
  • Werte können auch durch Leerschläge, Tabulatoren oder ; separiert sein
  • Schaue dir die Daten nach dem Einlesen an, ob es das ist, was du willst!
Daniel J. Stekhoven

Datentypen

R unterscheidet zwischen vier verschiedenen Typen (engl. modes):

  • numeric (Dezimalzahlen)
  • character (Text (engl. strings) sind immer zwischen Anführungszeichen, e.g. “strings”)
  • logical (TRUE/FALSE)
  • factor (kategorielle Werte)

Es gäbe noch mehr Typen, aber die spielen vorerst keine Rolle.

Daniel J. Stekhoven

R Objekte

  • Vektor (engl. vector), 1-dimensionaler Array, alle Typen möglich
  • Matrix (engl. matrices), 2-dimensionaler Array, nur numeric
  • Array 3- und mehr-dimensionaler Array, nur numeric
  • Tabelle (engl. data.frame), rechteckige Liste, kann pro Spalte einen Datentyp haben
  • Liste, (engl. list), Liste mit beliebigen Objekten

Mit str() oder is() kann man herausfinden, um was es sich bei einem Objekt handelt.

Daniel J. Stekhoven

Weitere R Objekte

Funktionen und Packages

  • functions (Skripte, die was tun - meistens mit Input)
    z.B. read.csv() oder str()
  • packages (Pakete von Funktionen - meistens mit einem thematischen Zusammenhalt)
    z.B. readr oder readxl

Installieren von Packages

  • Klicke auf Tools und dann Install Packages...
  • gib den Namen des Pakets ein, z.B. ggplot2, und klicke auf Install
  • warte bis die Console aufhört komische Dinge zu tun … und fertig!
Daniel J. Stekhoven

Grafiken

  • Normale Ausgabe auf Bildschirm (Plots Panel in RStudio)
  • Ausgabe in Datei mittels spezifischem Code:
pdf(file = "MeineGrafik.pdf")
ggplot(mpg, aes(displ, hwy)) +
  geom_point() +
  geom_smooth() +
  labs(x="Hubraum [l]", y="Reichweite [ml/gal]")
dev.off()
  • verschiedene Dateiformate möglich: bmp(), jpeg(), tiff(), etc.
  • oder (wie immer) ganz einfach im RStudio

Zusammenfassung

  • R und RStudio sind ein unschlagbares Team
  • Lernen sie es jetzt und profitieren sie!
  • Lesen sie im ISL 2.3.1 - 2.3.4 und gehen sie in die Übung!

    Nächste Woche: Multiple Lineare Regression und ANOVA

Daniel J. Stekhoven