LoslegenKostenlos starten

Visualisiere die Vorhersagen der Fahrradvermietung

In der vorherigen Übung hast du die Vorhersagen des Fahrradmodells mit dem klassischen Scatterplot „Ergebnis vs. Vorhersage“ visualisiert. Da es sich bei den Daten zur Fahrradvermietung um Zeitreihendaten handelt, ist es spannend zu sehen, wie sich das Modell über die Zeit schlägt. In dieser Übung vergleichst du die Vorhersagen und die tatsächlichen Vermietungen stündlich für die ersten 14 Tage im August.

Für die Grafik verwendest du die Funktion tidyr::pivot_longer() (Docs), um die vorhergesagten und tatsächlichen Werte aus bikesAugust in einer einzigen Spalte zu bündeln. pivot_longer() erhält als Argumente:

  • Den „breiten“ Data Frame, der umgeformt werden soll (implizit in einer Pipe)
  • Die Namen der Spalten, die in eine einzelne Spalte zusammengeführt werden sollen (Schlüsselwort „cols“)
  • Den Namen der zu erstellenden Schlüsselspalte – enthält die Namen der zusammengeführten Spalten (Schlüsselwort „names_to“)
  • Den Namen der zu erstellenden Wertespalte – enthält die Werte der zusammengeführten Spalten (Schlüsselwort „values_to“)

Du verwendest den umgeformten Data Frame, um die tatsächlichen und vorhergesagten Vermietungszahlen als Funktion der Zeit zu vergleichen. Der Zeitindex instant zählt die Anzahl der Beobachtungen seit Beginn der Datenerfassung. Der Beispielcode konvertiert die Instants in Tage, beginnend bei 0.

Der Data Frame bikesAugust mit den Vorhersagen (bikesAugust$pred) wurde bereits geladen.

Diese Übung ist Teil des Kurses

<Kurs>Überwachtes Lernen in R: Regression</Kurs>
Kurs ansehen

Übungsanweisungen

  • Fülle die Lücken aus, um die Vorhersagen und tatsächlichen Zählungen stündlich für die ersten 14 Augusttage zu plotten.
    • Wandle instant in Tage statt Stunden um
    • Führe mit pivot_longer() die Spalten cnt und pred in einer Spalte namens value zusammen, mit einem Schlüssel namens valuetype.
    • filter() auf die ersten zwei Augustwochen
    • Plotte value als Funktion von instant (Tag).

Erkennt das Modell die allgemeinen zeitlichen Muster bei den Fahrradvermietungen?

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Plot predictions and cnt by date/time
bikesAugust %>% 
  # set start to 0, convert unit to days
  mutate(instant = (instant - min(instant))/24) %>%  
  # collect cnt and pred into a value column
  pivot_longer(cols = c('cnt', 'pred'), names_to = '___', values_to = '___') %>%  
  filter(instant < 14) %>% # restric to first 14 days
  # plot value by instant
  ggplot(aes(x = ___, y = ___, color = valuetype, linetype = valuetype)) + 
  geom_point() + 
  geom_line() + 
  scale_x_continuous("Day", breaks = 0:14, labels = 0:14) + 
  scale_color_brewer(palette = "Dark2") + 
  ggtitle("Predicted August bike rentals, Quasipoisson model")
Code bearbeiten und ausführen