penguins-stan-05a

bayes
regression
Published

December 10, 2024

Aufgabe

Wir untersuchen Einflussfaktoren bzw. Prädiktoren auf das Körpergewicht von Pinguinen. In dieser Aufgabe untersuchen wir den Zusammenhang von Schnabellänge (als UV) und Körpergewicht (als AV).

Aufgabe: Wie breit ist das 95%-ETI, wenn Sie nur die Spezies Adelie untersuchen?

Hinweise:

  • Sie können den Datensatz z.B. hier beziehen oder über das R-Paket palmerpenguins.
  • Weitere Hinweise
  • Gehen Sie von einer Normalverteilung aus.

Nutzen Sie die folgende Analyse als Grundlage Ihrer Antwort.

Setup:

library(tidyverse)
library(easystats)
library(rstanarm)

data("penguins", package = "palmerpenguins")

Alternativ könnten Sie den Datensatz als CSV-Datei importieren:

d_path <- "https://vincentarelbundock.github.io/Rdatasets/csv/palmerpenguins/penguins.csv"

Ein Blick in die Daten zur Kontrolle, ob das Importieren richtig funktioniert hat:

penguins <- data_read(d_path)
penguins_adelie <- 
  penguins %>% 
  filter(species == "Adelie")

glimpse(penguins)
Rows: 344
Columns: 9
$ rownames          <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1…
$ species           <chr> "Adelie", "Adelie", "Adelie", "Adelie", "Adelie", "A…
$ island            <chr> "Torgersen", "Torgersen", "Torgersen", "Torgersen", …
$ 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               <chr> "male", "female", "female", "", "female", "male", "f…
$ year              <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…

Vertrauen ist gut, aber – was Golems betrifft – ist Kontrolle eindeutig besser ;-)

m1 <- stan_glm(body_mass_g ~  bill_length_mm,  # Regressionsgleichung
               data = penguins_adelie, #  Daten
               seed = 42,  # Repro.
               refresh = 0)  # nicht so viel Output
parameters(m1, ci = .95, ci_method = "eti")
Parameter Median CI CI_low CI_high pd Rhat ESS Prior_Distribution Prior_Location Prior_Scale
(Intercept) 42.35361 0.95 -833.54966 949.5900 0.53225 1.000643 3280.642 normal 3700.662 1146.4153
bill_length_mm 94.35349 0.95 71.29644 116.9591 1.00000 1.000570 3179.072 normal 0.000 430.4322











Lösung

Die Lösung lautet also, wie in der Ausgabe zu den Parametern ersichtlich, 45.66.