library(report)
library(tidyverse)
theme_set(theme_minimal())1 GLM Grundlagen
Beispielanalyse
Hängt die Präferenz für Coca Cola oder Pepsi damit zusammen, ob Personen einen Film mit Produktplatzierung von Pepsi gesehen haben?
1.1 Pakete und Daten laden
Zunächst laden wir die Pakete report (für schönere Modell-Outputs) und tidyverse, die wir praktisch immer brauchen. Anschließend laden wir die Daten, die in Form einer SPSS-Datei vorliegen.
autylewis2004 <- haven::read_sav("data/Auty_Lewis_2004.sav")
autylewis2004# A tibble: 105 × 3
id pepsi_placement pepsi_chosen
<chr> <dbl> <dbl>
1 1 1 1
2 2 1 1
3 3 1 1
4 4 1 1
5 5 1 1
# ℹ 100 more rowsDer Datensatz enthält nur zwei relevante Spalten: die Experimentalbedingung pepsi_placement und die Outcome-Variable pepsi_chosen. Beide Variablen sind dichotom (0/1).
1.2 Deskriptive Statistiken
Zunächst berechnen wir die bivariaten Häufigkeiten bzw. die Gruppenmittelwerte, die bei 0/1-Variablen dem Anteil 1 entsprechen.
autylewis2004 |>
group_by(pepsi_placement) |>
count(pepsi_chosen)# A tibble: 4 × 3
# Groups: pepsi_placement [2]
pepsi_placement pepsi_chosen n
<dbl> <dbl> <int>
1 0 0 29
2 0 1 22
3 1 0 20
4 1 1 34autylewis2004 |>
group_by(pepsi_placement) |>
summarise(n = n(), m = mean(pepsi_chosen))# A tibble: 2 × 3
pepsi_placement n m
<dbl> <int> <dbl>
1 0 51 0.431
2 1 54 0.6301.3 Chi-Quadrat Test
Da beide Variablen dichotom sind, können wir eine 2x2 Kreuztabelle erstellen sowie einen Chi-Quadrat-Test durchführen (siehe Grundlagen zu Kreuztabellen).
table(autylewis2004$pepsi_placement, autylewis2004$pepsi_chosen) |>
chisq.test(correct = FALSE) |>
report::report_table()Pearson's Chi-squared test
Chi2(1) | p | Cramer's V (adj.) | Cramers_v_adjusted CI
------------------------------------------------------------
4.14 | 0.042 | 0.17 | [0.00, 1.00]Ergebnis: Die Produktwahl hängt statistisch signifikant damit zusammmen, ob man ein Product Placement gesehen hat (Chi^2 = 4.14, p<.05)
1.4 Bivariate Korrelation
Wir können auch die Korrelation nach Pearson berechnen (siehe Grundlagen Korrelation).
cor.test(autylewis2004$pepsi_placement, autylewis2004$pepsi_chosen) |>
report::report_table()Pearson's product-moment correlation
Parameter1 | Parameter2 | r | 95% CI | t(103) | p
-------------------------------------------------------------------------------------------------
autylewis2004$pepsi_placement | autylewis2004$pepsi_chosen | 0.20 | [0.01, 0.38] | 2.06 | 0.042
Alternative hypothesis: two.sidedErgebnis: Die Produktwahl hängt positiv und statistisch signifikant damit zusammmen, ob man ein Product Placement gesehen hat (r = .20, p<.05)
1.5 t-Test
Da es zwei Experimentalbedingungen gibt, können wir auch einen t-Test durchführen (siehe Grundlagen t-Test).
t.test(pepsi_chosen ~ pepsi_placement, data = autylewis2004, var.equal = TRUE) |>
report::report_table()Two Sample t-test
Parameter | Group | Mean_Group1 | Mean_Group2 | Difference | 95% CI | t(103) | p | d | d CI
----------------------------------------------------------------------------------------------------------------------------------
pepsi_chosen | pepsi_placement | 0.43 | 0.63 | -0.20 | [-0.39, -0.01] | -2.06 | 0.042 | -0.41 | [-0.79, -0.01]
Alternative hypothesis: two.sidedErgebnis: Die Produktwahl unterscheidet sich signifikant (T= -2.06, p<.05) zwischen Versuchspersonen, die ein Placement (M = .63) und kein Placement (M = .43) sahen.
1.6 Varianzanalyse (ANOVA)
Bei Experimentalstudien werden auch häufig Varianzanalysen durchgeführt, hier für ein einfaktorielles Design (siehe Grundlagen Varianzanalyse).
aov(pepsi_chosen ~ pepsi_placement, data = autylewis2004) |>
report::report_table()Parameter | Sum_Squares | df | Mean_Square | F | p | Eta2 | Eta2 95% CI
--------------------------------------------------------------------------------------
pepsi_placement | 1.03 | 1 | 1.03 | 4.23 | 0.042 | 0.04 | [0.00, 1.00]
Residuals | 25.10 | 103 | 0.24 | | | | Ergebnis: Das Product Placement hat einen statistisch signifikanten Einfluss (Haupteffekt) (F(1,103) = 4.23, p<.05) auf die Produktwahl.
1.7 GLM: Lineare Regression
Die einfachste Variante des GLM für unsere Hypothese ist ein lineares Regressionsmodell mit pepsi_chosen als abhängige Variable (Outcome) und pepsi_placement als unabhängige Variable (siehe Grundlagen Regression). Bei einem dichotomen 0/1 Outcome spricht man von einem linear probability model (LPM).
lm(pepsi_chosen ~ pepsi_placement, data = autylewis2004) |>
report::report_table()Parameter | Coefficient | 95% CI | t(103) | p | Std. Coef. | Std. Coef. 95% CI | Fit
--------------------------------------------------------------------------------------------------------
(Intercept) | 0.43 | [0.29, 0.57] | 6.24 | < .001 | 5.04e-16 | [-0.19, 0.19] |
pepsi placement | 0.20 | [0.01, 0.39] | 2.06 | 0.042 | 0.20 | [ 0.01, 0.39] |
| | | | | | |
AIC | | | | | | | 153.72
AICc | | | | | | | 153.96
BIC | | | | | | | 161.68
R2 | | | | | | | 0.04
R2 (adj.) | | | | | | | 0.03
Sigma | | | | | | | 0.49Ergebnis: Bei Probanden, die ein Placements sahen, war die Wahrscheinlichkeit, zu Pepsi zu greifen, statistisch signifikant um 0.2 höher (b = .20, p<.05).
1.8 GLM: Logistische Regression
Als Erweiterung des GLM werden wir die logistische Regression kennenlernen, die explizit für dichotome Outcomes geeignet ist (siehe Logistische Regression).
glm(pepsi_chosen ~ pepsi_placement, data = autylewis2004, family = "binomial") |>
report::report_table(exponentiate = T, include_effectsize = F)Parameter | Coefficient | 95% CI | z | p | Fit
---------------------------------------------------------------------
(Intercept) | 0.76 | [0.43, 1.32] | -0.98 | 0.329 |
pepsi placement | 2.24 | [1.03, 4.96] | 2.02 | 0.043 |
| | | | |
AIC | | | | | 144.93
AICc | | | | | 145.04
BIC | | | | | 150.23
Tjur's R2 | | | | | 0.04
Sigma | | | | | 1.00
Log_loss | | | | | 0.67Ergebnis: Bei Probanden, die ein Placements sahen, war die Chance, zu Pepsi zu greifen, 2.24 mal so hoch wie bei denjenigen, die kein Placement sahen. Der Effekt ist statistisch signifikant (p<.05).