Statistik 1: Übung

Anleitung zu den Übungen

Zu erstellen sind:

  1. Ein quarto generiertes pdf-Dokument mit dem begründeten Lösungsweg (R-Code, R Output und dessen Interpretation)

  2. ein ausformulierter Methoden- und Ergebnisteil (für eine wiss.Arbeit)

Wichtige Hinweise zur Ausgestaltung:

  • Bitte erklärt und begründet die einzelnen Schritte, die ihr unternehmt, um zu eurem Ergebnis zu kommen. Dazu erstellt bitte ein mit Quarto generiertes pdf-Dokument, in dem ihr Schritt für Schritt den verwendeten R-Code, die dazu gehörigen Ausgaben von R, eure Interpretation derselben und die sich ergebenden Schlussfolgerungen für das weitere Vorgehen dokumentiert.
  • Dieser Ablauf sollte insbesondere beinhalten:
    • Überprüfen der Datenstruktur nach dem Einlesen, welches sind die abhängige(n) und welches die unabängige(n) Variablen etc.
    • Explorative Datenanalyse, um zu sehen, ob evtl. Dateneingabefehler vorliegen oder Datentransformationen vorgenommen werden sollten
    • Auswahl und Begründung eines statistischen Verfahrens
    • Bestimmung des vollständigen/maximalen Models
    • Selektion des/der besten Models/Modelle
    • Durchführen der Modelldiagnostik für dieses
    • Generieren aller Zahlen, Statistiken und Tabellen, die für eine wiss. Ergebnisdarstellung benötigt werden
  • Formuliert abschliessend einen Methoden- und Ergebnisteil (ggf. incl. adäquaten Abbildungen/Tabellen) zu dieser Untersuchung in der Form einer wissenschaftlichen Arbeit (je einen ausformulierten Absatz von ca. 60-100 Worten bzw. 3-8 Sätzen). Alle wichtigen Informationen sollten enthalten sein, unnötige Redundanz dagegen vermieden werden.

Stat1: Übung

Aufgabe 1.1: Assoziationstest

Führt einen Assoziationstest zweier kategorialer Variablen (mit je zwei Ausprägungen) durch. Dazu erhebt ihr selbst die Daten (wozu ihr euch auch in Teams zusammenschliessen könnt). Ihr könnt z.B. eine Datenerhebung unter Mitstudierenden durchführen (etwa Nutzung Mac/Windows vs. männlich/weiblich). Bitte formuliert vor der Datenerhebung eine Hypothese, d.h. eine Erwartungshaltung, ob und welche Assoziation vorliegt und wenn ja warum. Beachtet, dass ihr für diese Form des Assoziationstests genau zwei binäre Variablen benötigt. Wenn ihr also kategoriale Variablen mit mehr als zwei Ausprägungen habt, so könnt ihr entweder Ausprägungen sinnvoll zusammenfassen oder seltene Ausprägungen im Test unberücksichtigt lassen.

Aufgabe 1.2: t-Test

**T-Test mit Datensatz *Novanimal_Weeks.csv**

Im Forschungsprojekt NOVANIMAL wurde u.a. in der ZHAW-Mensa untersucht, was es braucht, damit Menschen freiwillig weniger tierische Produkte konsumieren. Dazu wurden in sogenannten Interventionswochen mehr vegane und vegetarische Gerichte (zu Lasten kleinerer Fleischgerichtsauswahl) angeboten. Eine erste grundsätzliche Frage war, ob die unterschiedliche Gerichtsauswahl zu unterschiedlichen Verkaufszahlen führten. Beantwortet dazu mit dem Datensatz und geeigneten Tests folgende Frage:

Wurden in den Basis- und Interventionswochen unterschiedlich viele Gerichte verkauft?

  • Schau die Daten an: Verstehen und ggf. plotten.
  • Definiere die Null- (\(H_0\)) und die Alternativhypothese (\(H_1\)).
  • Welche Form von t-Test musst Du anwenden: einseitig/zweiseitig resp. gepaart/ungepaart?
  • Führe einen t-Test durch.
  • Wie gut sind die Voraussetzungen für einen t-Test erfüllt (z.B. Normalverteilung der Residuen und Varianzhomogenität)?
  • Stelle deine Ergebnisse angemessen dar, d.h. Text mit Abbildung und/oder Tabelle
Statistik 1: Lösung

Demoscript herunterladen (.R)

Demoscript herunterladen (.qmd)

Vorebreitung R-Session

# lade Packages
library("ggplot2")
library("dplyr")
library("readr")

# definiert mytheme für ggplot2 (verwendet dabei theme_classic())
mytheme <- 
  theme_classic() + 
  theme(axis.line = element_line(linewidth = 0.8, color = "black"), 
        axis.text = element_text(size = 12, color = "black"), 
        axis.title = element_text(size = 14, color = "black"), 
        axis.ticks = element_line(linewidth = 0.75, color = "black"), 
        axis.ticks.length = unit(0.2, "cm"),
        axis.title.y = element_text(vjust = 4),
             plot.margin = margin(t = 6, r = 6, b = 6, l = 10)
        )

Musterlösung Übung 1.1: Assoziationstest

In diesem Beispiel soll einem Klischee auf den Grund gegagen werden: Sind Aargauer überdurchschnittlich mit weissen Socken assoziiert? Die Datenerhebung basiert auf männlichen Studenten bei denen folgende beiden binären Variablen erhoben wurden:

  • Sockenfarbe: weiss, nicht-weiss
  • Selbstdeklarierte Kantonsangehörigkeit: AG, nicht-AG

Die Hypothese ist: Das Klischee trifft zu, weisse Socken sind überdurchschnittlich häufig mit Aargauer Studenten assoziiert.

Die Datenerhebung unter 35 Studenten ergab folgende Datengrundlage:

  • Weisssockige Aargauer: 4
  • Nicht-weisssockige Aargauer: 2
  • Weissockige nicht-Aargauer: 7
  • Nicht-weisssockige nicht-Aargauer: 22
# Matrix erstellen
Aargauer <- c(4, 2)
names(Aargauer) <- c("Weiss", "NotWeiss")
NotAargauer <- c(7, 22)
names(NotAargauer) <- c("Weiss", "NotWeiss")
AGsocks <- data.frame(Aargauer, NotAargauer)
AGsocks <- as.matrix(AGsocks)
AGsocks
         Aargauer NotAargauer
Weiss           4           7
NotWeiss        2          22
# Daten anschauen mit erstem Google-Ergebnis für "Assoziation Plot r"
# Interpretation des Plots mit dem Befehl ?assocplot
assocplot(AGsocks) 

Der Assoziationsplot zeigt, dass in den Daten weisse Socken bei den Aargauern überverterten und bei den Nicht-Aargauern untervertreten sind.

Für kleine Erwartungswerte in den Zellen (< 5) ist der Chi-Quadrat-Test nicht zuverlässig. Darum wird mit Fishers exaktem Test gearbeitet.

# Tests durchführen
fisher.test(AGsocks) # "Fisher's Exact Test for Count Data"

    Fisher's Exact Test for Count Data

data:  AGsocks
p-value = 0.06323
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
  0.6811227 78.4336189
sample estimates:
odds ratio 
  5.897263 

Musterlösung Übung 1.2: t-Test

Null- und Alternativhypothese

\(H_0\): Es gibt keinen Unterschied in den Verkaufszahlen zwischen den Basis- und den Interventionswochen.

\(H_1\): Es gibt einen Unterschied in den Verkaufszahlen zwischen den Basis- und den Interventionswochen.

# Daten laden
df <- read_delim("datasets/stat/Novanimal_Weeks.csv", delim = ";")
df # Daten anschauen
# A tibble: 12 × 3
    week condit       tot_sold
   <dbl> <chr>           <dbl>
 1    40 Basis            2188
 2    41 Intervention     2004
 3    42 Basis            2113
 4    43 Intervention     2160
 5    44 Basis            2290
 6    45 Intervention     2165
 7    46 Intervention     2272
 8    47 Basis            2198
 9    48 Intervention     2293
10    49 Basis            2343
11    50 Intervention     2228
12    51 Basis            2086
# Voraussetzungen für einen t-Test prüfen
ggplot(df, aes(x = condit, y = tot_sold)) + # achtung 0 Punkt fehlt
  geom_boxplot(color = "black", size = 1) +
  stat_summary(fun = mean, geom = "point") +
  labs(x = "\nBedingungen", y = "Durchschnittlich verkaufte Gerichte pro Woche\n") +
  mytheme

Auf den ersten Blick scheint es keine starken Abweichungen zu einer Normalverteilung zu geben resp. es sind keine extremen schiefen Verteilungen ersichtlich

# führt einen t-Tests durch;
# es wird angenommen, dass die Verkaufszahlen zwischen den Bedingungen
# unabhängig sind

t_test <- t.test(tot_sold ~ condit, data = df)
t_test

    Welch Two Sample t-test

data:  tot_sold by condit
t = 0.27168, df = 9.9707, p-value = 0.7914
alternative hypothesis: true difference in means between group Basis and group Intervention is not equal to 0
95 percent confidence interval:
 -115.2743  147.2743
sample estimates:
       mean in group Basis mean in group Intervention 
                      2203                       2187