fofrage-regrformel2

bayes
regression
paper
Published

January 3, 2025

1 Aufgabe

Betrachten Sie folgende Forschungsformel:

Gibt es einen Interaktionseffekt zwischen Geschlecht und Schnabellänge auf das Gewicht eines Pinguins? Liegen auch Haupteffekte vor?

Auf Basis der folgenden Analyse ist folgende Frage zu untersuchen. Liegt ein Interaktionseffekt vor?

Hinweise:

  • Unter “Haupteffekt” versteht man den Effekt einer UV auf die AV (im Gegensatz zu einem Interaktionseffekt, der ja der gemeinsame Effekt mehrerer UV auf die AV ist).
  • Beachten Sie die üblichen Hinweise des Datenwerks.
  • Beziehen Sie sich auf den Datensatz penguins.
library(palmerpenguins)
data(penguins)

penguins <-
  penguins |> 
  filter(sex == "female" | sex == "male") |> 
  drop_na()
library(easystats)
library(tidyverse)
library(rstanarm)
glimpse(penguins)
Rows: 344
Columns: 8
$ species           <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
$ island            <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
$ bill_length_mm    <dbl> 39.1, 39.5, 40.3, NA, 36.7, 39.3, 38.9, 39.2, 34.1, …
$ bill_depth_mm     <dbl> 18.7, 17.4, 18.0, NA, 19.3, 20.6, 17.8, 19.6, 18.1, …
$ flipper_length_mm <int> 181, 186, 195, NA, 193, 190, 181, 195, 193, 190, 186…
$ body_mass_g       <int> 3750, 3800, 3250, NA, 3450, 3650, 3625, 4675, 3475, …
$ sex               <fct> male, female, female, NA, female, male, female, male…
$ year              <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…

Zur besseren Interpretierbarkeit sind die metrischen UV standardisiert:

penguins_z <- standardize(penguins, select = bill_length_mm, append = TRUE)

Es werden verschiedenen Modelle berechnet, die sich in ihrem Regressionsformel unterscheiden:

m1 <- stan_glm(body_mass_g ~ sex, data = penguins_z, 
               refresh = 0)
m2 <- stan_glm(body_mass_g ~ sex + bill_length_mm_z, data = penguins_z, 
               refresh = 0)
m3 <- stan_glm(body_mass_g ~ sex + bill_length_mm_z + sex:bill_length_mm_z, data = penguins_z, 
               refresh = 0)
m4 <- stan_glm(body_mass_g ~ sex:bill_length_mm_z, data = penguins_z, 
               refresh = 0)

Parameter m1:

Parameter Median 95% CI pd Rhat ESS Prior
(Intercept) 3861.44 (3746.15, 3976.46) 100% 0.999 3744.00 Normal (4207.06 +- 2013.04)
sexmale 685.48 (527.35, 839.91) 100% 1.000 3914.00 Normal (0.00 +- 4020.19)

Parameter m2:

Parameter Median 95% CI pd Rhat ESS Prior
(Intercept) 3997.87 (3902.86, 4100.09) 100% 1.000 4352.00 Normal (4207.06 +- 2013.04)
sexmale 404.20 (260.25, 547.75) 100% 0.999 4062.00 Normal (0.00 +- 4020.19)
bill_length_mm_z 405.02 (332.41, 474.78) 100% 0.999 3912.00 Normal (0.00 +- 2009.70)

Parameter m3:

Parameter Median 95% CI pd Rhat ESS Prior
(Intercept) 4007.58 (3901.18, 4109.34) 100% 1.001 3112.00 Normal (4207.06 +- 2013.04)
sexmale 403.51 (261.36, 550.59) 100% 0.999 3451.00 Normal (0.00 +- 4020.19)
bill_length_mm_z 431.34 (321.55, 539.94) 100% 0.999 2423.00 Normal (0.00 +- 2009.70)
sexmale:bill_length_mm_z -49.99 (-193.08, 96.77) 75.12% 1.000 2370.00 Normal (0.00 +- 2798.31)

Parameter m4:

Parameter Median 95% CI pd Rhat ESS Prior
(Intercept) 4211.78 (4134.77, 4286.61) 100% 1.000 4260.00 Normal (4207.06 +- 2013.04)
sexfemale:bill_length_mm_z 505.18 (398.87, 614.19) 100% 1.000 4807.00 Normal (0.00 +- 3082.48)
sexmale:bill_length_mm_z 448.19 (345.98, 543.46) 100% 1.000 4955.00 Normal (0.00 +- 2798.31)













2 Lösung

Die Regressionsformel lautet: body_mass_g ~ sex + bill_length_mm + sex:bill_length_mm.

Daher ist m3 korrekt.

Die Parameterwerte von m3 zeigen, dass ein Interaktionseffekt nicht bestätigt werden kann, bzw. dass die Null, also keine Interaktion, im Bereich plausibler Werte (d.h. innerhalb des Konfidenzintervalls) liegt.