bike05

probability
Published

December 18, 2025

1 Aufgabe

Laden Sie die Daten day.csv aus dem Bike Sharing Datensatz.

Berechnen Sie folgendes Modell: cnt ~ workingday, data = day.

  1. Nennen Sie dann den Punktschätzer für \(\beta1\).
  2. Interpretieren Sie diesen Wert.
  3. Können wir die \(H_0\) für \(\beta_1\) ablehnen?
  4. Visualisieren Sie den Gruppenunterschied mit einem geeigneten Plot.

Hinweise:

  • Beachten Sie die üblichen Hinweise des Datenwerks.













2 Lösung

Pakete starten:

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

Daten importieren:

Achtung! Die herunter geladenen Daten müssen zuerst entzippt werden.

Bei mir liegen diese Daten hier:

day <- read_csv("C:/Users/sebastian.sauer/Downloads/bike+sharing+dataset/day.csv")

Bei Ihnen liegen die Daten in einem Ordner mit einem anderen Namen.

Falls der Datensatz im gleichen Ordner liegt wie Ihre Quarto-Datei, dann können Sie die Daten ohne Pfadangabe importieren:

day <- read_csv("day.csv")

Das ist auch eine gute Methode, um Daten zu importieren:

day <- read_csv(paste0(here::here(),"/data/bike+sharing+dataset/day.csv"))

3 Modell berechnen

m_cnt_workingday <-
  stan_glm(cnt ~ workingday, data = day)

SAMPLING FOR MODEL 'continuous' NOW (CHAIN 1).
Chain 1: 
Chain 1: Gradient evaluation took 1.8e-05 seconds
Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.18 seconds.
Chain 1: Adjust your expectations accordingly!
Chain 1: 
Chain 1: 
Chain 1: Iteration:    1 / 2000 [  0%]  (Warmup)
Chain 1: Iteration:  200 / 2000 [ 10%]  (Warmup)
Chain 1: Iteration:  400 / 2000 [ 20%]  (Warmup)
Chain 1: Iteration:  600 / 2000 [ 30%]  (Warmup)
Chain 1: Iteration:  800 / 2000 [ 40%]  (Warmup)
Chain 1: Iteration: 1000 / 2000 [ 50%]  (Warmup)
Chain 1: Iteration: 1001 / 2000 [ 50%]  (Sampling)
Chain 1: Iteration: 1200 / 2000 [ 60%]  (Sampling)
Chain 1: Iteration: 1400 / 2000 [ 70%]  (Sampling)
Chain 1: Iteration: 1600 / 2000 [ 80%]  (Sampling)
Chain 1: Iteration: 1800 / 2000 [ 90%]  (Sampling)
Chain 1: Iteration: 2000 / 2000 [100%]  (Sampling)
Chain 1: 
Chain 1:  Elapsed Time: 0.13 seconds (Warm-up)
Chain 1:                0.041 seconds (Sampling)
Chain 1:                0.171 seconds (Total)
Chain 1: 

SAMPLING FOR MODEL 'continuous' NOW (CHAIN 2).
Chain 2: 
Chain 2: Gradient evaluation took 7e-06 seconds
Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.07 seconds.
Chain 2: Adjust your expectations accordingly!
Chain 2: 
Chain 2: 
Chain 2: Iteration:    1 / 2000 [  0%]  (Warmup)
Chain 2: Iteration:  200 / 2000 [ 10%]  (Warmup)
Chain 2: Iteration:  400 / 2000 [ 20%]  (Warmup)
Chain 2: Iteration:  600 / 2000 [ 30%]  (Warmup)
Chain 2: Iteration:  800 / 2000 [ 40%]  (Warmup)
Chain 2: Iteration: 1000 / 2000 [ 50%]  (Warmup)
Chain 2: Iteration: 1001 / 2000 [ 50%]  (Sampling)
Chain 2: Iteration: 1200 / 2000 [ 60%]  (Sampling)
Chain 2: Iteration: 1400 / 2000 [ 70%]  (Sampling)
Chain 2: Iteration: 1600 / 2000 [ 80%]  (Sampling)
Chain 2: Iteration: 1800 / 2000 [ 90%]  (Sampling)
Chain 2: Iteration: 2000 / 2000 [100%]  (Sampling)
Chain 2: 
Chain 2:  Elapsed Time: 0.085 seconds (Warm-up)
Chain 2:                0.041 seconds (Sampling)
Chain 2:                0.126 seconds (Total)
Chain 2: 

SAMPLING FOR MODEL 'continuous' NOW (CHAIN 3).
Chain 3: 
Chain 3: Gradient evaluation took 6e-06 seconds
Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.06 seconds.
Chain 3: Adjust your expectations accordingly!
Chain 3: 
Chain 3: 
Chain 3: Iteration:    1 / 2000 [  0%]  (Warmup)
Chain 3: Iteration:  200 / 2000 [ 10%]  (Warmup)
Chain 3: Iteration:  400 / 2000 [ 20%]  (Warmup)
Chain 3: Iteration:  600 / 2000 [ 30%]  (Warmup)
Chain 3: Iteration:  800 / 2000 [ 40%]  (Warmup)
Chain 3: Iteration: 1000 / 2000 [ 50%]  (Warmup)
Chain 3: Iteration: 1001 / 2000 [ 50%]  (Sampling)
Chain 3: Iteration: 1200 / 2000 [ 60%]  (Sampling)
Chain 3: Iteration: 1400 / 2000 [ 70%]  (Sampling)
Chain 3: Iteration: 1600 / 2000 [ 80%]  (Sampling)
Chain 3: Iteration: 1800 / 2000 [ 90%]  (Sampling)
Chain 3: Iteration: 2000 / 2000 [100%]  (Sampling)
Chain 3: 
Chain 3:  Elapsed Time: 0.126 seconds (Warm-up)
Chain 3:                0.04 seconds (Sampling)
Chain 3:                0.166 seconds (Total)
Chain 3: 

SAMPLING FOR MODEL 'continuous' NOW (CHAIN 4).
Chain 4: 
Chain 4: Gradient evaluation took 4e-06 seconds
Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0.04 seconds.
Chain 4: Adjust your expectations accordingly!
Chain 4: 
Chain 4: 
Chain 4: Iteration:    1 / 2000 [  0%]  (Warmup)
Chain 4: Iteration:  200 / 2000 [ 10%]  (Warmup)
Chain 4: Iteration:  400 / 2000 [ 20%]  (Warmup)
Chain 4: Iteration:  600 / 2000 [ 30%]  (Warmup)
Chain 4: Iteration:  800 / 2000 [ 40%]  (Warmup)
Chain 4: Iteration: 1000 / 2000 [ 50%]  (Warmup)
Chain 4: Iteration: 1001 / 2000 [ 50%]  (Sampling)
Chain 4: Iteration: 1200 / 2000 [ 60%]  (Sampling)
Chain 4: Iteration: 1400 / 2000 [ 70%]  (Sampling)
Chain 4: Iteration: 1600 / 2000 [ 80%]  (Sampling)
Chain 4: Iteration: 1800 / 2000 [ 90%]  (Sampling)
Chain 4: Iteration: 2000 / 2000 [100%]  (Sampling)
Chain 4: 
Chain 4:  Elapsed Time: 0.046 seconds (Warm-up)
Chain 4:                0.04 seconds (Sampling)
Chain 4:                0.086 seconds (Total)
Chain 4: 
parameters(m_cnt_workingday)
Parameter Median CI CI_low CI_high pd Rhat ESS_tail Prior_Distribution Prior_Location Prior_Scale
(Intercept) 4331.9401 0.95 4074.4574 4585.8089 1.00 0.9999662 1935 normal 4504.349 4843.029
workingday 248.3911 0.95 -47.2145 564.7314 0.95 0.9999054 2418 normal 0.000 10409.891
coef(m_cnt_workingday)[2]
workingday 
  248.3911 

4 Interpretation

Bei mir Werte zwischen 250 und 260 zusätzlich vermietete Fahrräder an Arbeitstagen im Vergleich zu Nicht-Arbeitstagen.

5 Nullhypothese

Wir können die \(H_0\) für \(\beta_1\) NICHT ablehnen: Die Null ist im Konfidenzintervall enthalten.

parameters(m_cnt_workingday) |> plot()

jklöjkjklöök