1 Übersicht

Hier noch ein zweites Beispiel zur Vertiefung. Anders als im ersten Beispiel sind die Prädiktorvariablen diesmal dichotom. Die Analyse sollen Sie zunächst selbständig machen. Die Lösung laden wir dann später hoch.

In einer Studie wurde untersucht, ob das Mögen von Fisch und/oder Austern das Verlangen nach Qualleneis vorhersagt (wenn Sie mehr Hintergrundinformation über Qualleneis möchten: https://www.stern.de/panorama/wissen/mensch/eiscreme-aus-quallenproteinen-leck-mich-zum-leuchten-3652390.html).

Personen wurden danach befragt, ob sie Fisch mögen (0=nein, 1=ja), ob sie Austern mögen (0=nein, 1=ja), und wie viel sie bereit wären für ein leuchtendes Qualleneis zu bezahlen (pro Kugel in Dollar).

Abb. 1 Qualleneis, das in der Dunkelheit leuchtet.

Abb. 1 Qualleneis, das in der Dunkelheit leuchtet.

Die Forscher haben folgende Hypothesen aufgestellt:

  1. Das Mögen von Fisch sagt eine höhere Zahlungsbereitschaft vorher.
  2. Das Mögen von Austern sagt eine höhere Zahlungsbereitschaft vorher.

Das Mögen von Fisch und das Mögen von Austern sind dichotome Variablen. Die Kriteriumsvariable Zahlungsbereitschaft ist eine kontinuierliche Variable.

Die Daten für dieses Beispiel finden Sie in der Datei “04b_JellyfishDaten.csv”.

1.1 Aufgaben

  1. Stellen Sie für die drei Hypothesen statistische Hypothesenpaare in Bezug auf die Regressionskoeffizienten auf.
  2. Berechnen Sie eine multiple Regressionsanalyse und standardisieren Sie die Regressionskoeffizienten. Interpretieren Sie das Ergebnis im Hinblick auf die Hypothesen.
  3. Bestimmen Sie, ob das Modell eine statistisch signifikante Vorhersage der Kriteriumsvariablen erlaubt.
  4. Berechnen Sie die Effekt- und Teststärke für das Modell.

Erweiterte Aufgaben zur Prüfungsvorbereitung:

  1. Prüfen Sie – wie in der Formelsammlung beschrieben – ob die Voraussetzungen für eine Regressionsanalyse auf Basis des Allgemeinen linearen Modells erfüllt sind (Normalverteilung der AV, Homoskedastizität, keine Multikollinearität, keine verzerrenden Ausreißer).
  2. Definieren Sie per Hand ein neues Regressionsmodell mit Interaktionsterm Reg.Model2 <- lm( AV ~ UV1 + UV2 + UV1:UV2). Berechnen Sie dieses Modell und interpretieren Sie das Ergebnis.
  3. Vergleichen Sie die Modelle mit und ohne Interaktionsterm anhand von R2adj und AIC. Welches ist das bessere Modell?

2 Hypothesen aufstellen

Formulieren Sie hier die Hypothesen:

Statistische Hypothesen über die drei erfassten Prädiktoren: H1,1: beta1 > 0, H0,1: beta1 <= 0 H1,2: beta2 > 0, H0,2: beta3 <= 0

3 Datenanalyse

Daten einlesen:

EisDaten <- read.csv("JellyfishDaten.csv", sep=";")

Ab hier können Sie jetzt eigenständig weiterarbeiten. Orientieren Sie sich an dem R-Markdown-Script, das es für das Beispiel “Prüfungsleistung” bereits gibt.

R-Commander öffnen:

library(Rcmdr)

3.1 Grafische Übersicht – Streudiagramm

Wie immer beginnen wir mit einer grafischen Analyse der Daten. Dazu erstellen wir eine Streudiagramm-Matrix (Scatterplot-Matrix), in der die Zusammenhänge der drei Prädiktoren mit dem Kriterium in einer Abbildung zusammengefasst werden. Eine Streudiagramm-Matrix erlaubt es uns, die folgenden Dinge optisch zu prüfen:

  • Ist das Kriterium (die AV) grob normalverteilt?
  • Scheinen lineare Zusammenhaenge zwischen Pr?diktoren und AV zu bestehen?
  • Gehen die Zusammenhaenge in Richtung der aufgestellten Hypothesen?

Ziel: Streudiagramm-Matrix erstellen

Vorgehen: R-Commander –> Grafiken –> Streudiagramm Matrix –> All vier Variablen markieren –> Optionen: Kleinst-Quadrat-Linie auswählen –> ok.

Hier auch der entsprechende Code:

scatterplotMatrix(~Austern+Fisch+Qualleneis, regLine=TRUE, smooth=FALSE, diagonal=list(method="density"), data=EisDaten)

Da wir uns für den Zusammenhang zwischen Qualleneis und den anderen zwei Variablen interessieren, reicht es, wenn man in die dritte Zeile dieser Matrix schaut. Die Kleinstquadratlinien zeigen, dass es tatsächlich positive Zusammenhänge zu geben scheint. Frage: Was glauben Sie? durch welche Punkte verlaufen die beiden Regressionslinien in der unteren Zeile?

3.2 Regressionsmodell definieren und Ergebnisse anzeigen lassen

Als nächstes passen wir ein multiples Regressionsmodell an, um die Daten statistisch zu analysieren und um über die statistsichen Hypothesen zu entscheiden.

Ziel: Multiples Regressionsmodell anpassen und interpretieren

Vorgehen: R-Commander –> Modell anpassen –> Lineare Regression –> Abhängige Variable und Prädiktoren auswählen (beide markieren); man kann auch, wenn man möchte, den Namen des Modells spezifizieren. Wir belassen es bei “RegModel.1”. –> ok.

Hier auch der Code:

RegModel.1 <- lm(Qualleneis~Austern+Fisch, data=EisDaten)
summary(RegModel.1)
## 
## Call:
## lm(formula = Qualleneis ~ Austern + Fisch, data = EisDaten)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -35.333 -10.215  -1.175   8.910  39.667 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   26.175      2.277  11.494  < 2e-16 ***
## Austern       22.500      3.719   6.050 2.71e-08 ***
## Fisch          8.658      3.479   2.489   0.0145 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.4 on 97 degrees of freedom
## Multiple R-squared:  0.4595, Adjusted R-squared:  0.4483 
## F-statistic: 41.23 on 2 and 97 DF,  p-value: 1.099e-13

Warum sind Fisch und Austern hier als numerische Variablen definiert und nicht als Faktoren? Es handelt sich doch um kategoriale Prädiktoren!

Das liegt pragmatisch erstmal daran, dass das Regressions-Menü, das wir bisher im Commander verwendet haben, nur numerische Variablen als Input nimmt.

Die inhaltliche Erklärung ist folgende: Wenn wir kategoriale Prädiktoren im Modell haben, muss R sie an irgendeiner Stelle sowieso wieder in etwas Numerisches übersetzen, um damit rechnen zu können. Das Programm nimmt im Hintergrund eine sogenannte Dummy-Kodierung vor, es weist den Levels der Faktoren also Nullen und Einsen zu. Wenn wir das selbst machen (also den Levels Nullen und Einsen zuweisen und die Variable als numerisch belassen), nehmen wir R diesen Arbeitsschritt quasi ab. Das müssen wir aber nicht zwingend machen.

Zur Demonstration werden unten (über Datenmanagement, Variablen bearbeiten, konvertiere numerische Variablen in Faktoren; dann bei “Neuer Variablenname oder Präfix…” einen neuen Variablennamen angeben, z.B. “Austern_Faktor”) zwei neue Variablen erstellt, die die beiden Prädiktoren als Faktoren mit Labels beinhalten:

EisDaten <- within(EisDaten, {
  Fisch_Faktor <- factor(Fisch, labels=c('ekelhaftig',
  'mega'))
})

EisDaten <- within(EisDaten, {
  Austern_Faktor <- factor(Austern, labels=c('ekelhaftig',
  'mega'))
})

Anschließend wird der lm-Code von oben kopiert, die Prädiktoren manuell durch die neuen Variablen ergänzt und das Modell erneut erstellt (mit einem neuen Namen für das Modell, damit das alte nicht überschrieben wird):

RegModel.2 <- lm(Qualleneis~Austern_Faktor+Fisch_Faktor, data=EisDaten)
summary(RegModel.2)
## 
## Call:
## lm(formula = Qualleneis ~ Austern_Faktor + Fisch_Faktor, data = EisDaten)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -35.333 -10.215  -1.175   8.910  39.667 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          26.175      2.277  11.494  < 2e-16 ***
## Austern_Faktormega   22.500      3.719   6.050 2.71e-08 ***
## Fisch_Faktormega      8.658      3.479   2.489   0.0145 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.4 on 97 degrees of freedom
## Multiple R-squared:  0.4595, Adjusted R-squared:  0.4483 
## F-statistic: 41.23 on 2 and 97 DF,  p-value: 1.099e-13

Man bekommt genau denselben Output. Der Text neben den Prädiktoren zeigt an, wie man die Estimates interpretieren muss: Wer Austern “mega” statt “ekelhaftig” findet, ist laut Modell bereit, 22.5 Dollar mehr für Qualleneis zu zahlen. Wer Fisch “mega” statt “ekelhaftig” findet, zahlt 8.658 Dollar mehr.

3.2.1 Entscheidung über Hypothesen

Sowohl “Fischmögen” als auch “Austernmögen” sind signifikante positive Prädiktoren für den Betrag, den Leute bereit sind, für eine Kugel Qualleneis zu bezahlen (beide p < .05). Auch das Gesamtmodell verbessert die Vorhersage im Vgl. zum Nullmodell (p-Wert des F-Tests < .05). Adjusted R-squared zeigt, dass das Modell fast 45% der Unterschiede in der Kriteriumsvariable erklärt.

3.3 Regressionskoeffizienten standardisieren

Wir haben eben angemerkt, dass die einzelnen Prädiktorwerte nicht direkt miteinander vergleichbar sind, weil jeder Prädiktor in seiner eigenen Einheit vorliegt. Dieses Problem kann man lösen (Sie ahnen es sicherlich schon), indem man die einzelnen Prädiktoren standardisiert. Das funktioniert leider nicht mit dem R-Commander. Wir brauchen dazu die “lm.beta()” Funktion aus dem “QuantPsych” Paket.

Ziel: Standardisierung der ermittelten Regressionskoeffizienten

Vorgehen: Via R-Code.

Achtung: Sie müssen das “QuantPsych” Paket ggf. installieren.

# install.packages("QuantPsyc", dependencies = TRUE) Sie müssen mit dieser Code-Zeile das Paket ggf. installieren 

library(QuantPsyc) # lädt das Paket

lm.beta(RegModel.1) # Funktion zur Standardisierung der Regressionskoeffizienten. In Klammern muss einfach der Name des Regressionsmodell eingetragen werden. in unserem Fall ist das "RegModel.1". 
##   Austern     Fisch 
## 0.5343847 0.2198375

Man sieht, dass Austernmögen der bessere Prädiktor ist.

3.4 Effektstärken für das Regressionsmodell

Zuletzt wollen wir noch Effektstärken berechnen. Zwei mögliche Effektstärken sind:

  • R-squared (siehe Output der Regressionanalyse)
  • Cohen’s f² (für Testplanung und Teststärkeberechnung in G-Power relevant).

Cohen’s f² aus R-squared berechnen und anzeigen lassen kann man so:

Cohensf_Reg.Model1 <- 0.4595/(1-0.4595) # Generiert ein Objekt "Cohensf_Reg.Model1" dessen Inhalt das Ergebnis des Bruchs rechts neben dem Pfeil ist. 

Cohensf_Reg.Model1 # Zeigt den Inhalt des Objekts an und somit das Ergebnis
## [1] 0.8501388

3.5 Teststärke für das Gesamtmodell

Wie hoch ist die Teststärke? Dazu benutzen wir das Programm G-Power, das Sie schon aus Quanti-I kennen.

Ziel: Teststärke für das Gesamtmodell mit G-Power berechnen

Vorgehen: G-Power öffnen (das Programm können Sie runterladen unter: https://www.psychologie.hhu.de/arbeitsgruppen/allgemeine-psychologie-und-arbeitspsychologie/gpower.html) –> F-Tests –> Linear multiple regression: Fixed model, R² deviation from zero –> dann Effekt-Size (0.8501388) eintragen, Total Sample Size angeben (100) und Anzahl der Prädiktoren eingeben (2).

Abbildung 2 zeigt einen Screenshot des Ergebnisses:

Abb. 2 Ergebnis Post-hoc Teststärkenanalyse

Abb. 2 Ergebnis Post-hoc Teststärkenanalyse

Die Teststärke beträgt (gerundet) 1.