penguins-stan-02a

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 groß ist der statistische Einfluss der UV auf die AV?

Geben Sie die Breite eines 90%-HDI an (zum Effekt)!

Hinweise:

  • Nutzen Sie den Datensatz zu den Palmer Penguins.
  • Sie können den Datensatz z.B. hier beziehen oder über das R-Paket palmerpenguins.
  • Weitere Hinweise
  • Nutzen Sie die folgende Analyse als Grundlage Ihrer Antwort.

Setup:

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

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

Es wird in dieser Aufgabe vorausgesetzt, dass Sie den Datensatz selbständig importieren können. Tipp: Kurzes Googeln hilft ggf., den Datensatz zu finden.

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

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

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

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…

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

m1 <- stan_glm(body_mass_g ~  bill_length_mm,  # Regressionsgleichung
               data = penguins, #  Daten
               seed = 42,  # Repro.
               refresh = 0)  # nicht so viel Output
parameters(m1, ci_method = "hdi", ci = .9, keep = "bill_length_mm")
Parameter Median CI CI_low CI_high pd Rhat ESS Prior_Distribution Prior_Location Prior_Scale
bill_length_mm 87.4472 0.9 76.99955 98.3694 1 1.000491 4123.761 normal 0 367.2233











Lösung

Die Lösung lautet also, wie aus der Ausgabe von parameters() ersichtlich, 21.37.

hdi(m1, ci = .9) |> plot()


Categories:

  • bayes
  • regression
  • exam-22