CommencerCommencez gratuitement

Visualiser les prédictions de location de vélos

Dans l’exercice précédent, vous avez visualisé les prédictions du modèle vélo avec un nuage de points classique « résultat vs. prédiction ». Comme les données de location de vélos sont une série temporelle, vous pouvez vous intéresser aux performances du modèle en fonction du temps. Dans cet exercice, vous comparerez les prédictions et les locations réelles heure par heure, pour les 14 premiers jours d’août.

Pour créer le graphique, vous utiliserez la fonction tidyr::pivot_longer() (docs) pour regrouper les valeurs prédites et réelles de bikesAugust dans une seule colonne. pivot_longer() prend comme arguments :

  • Le data frame « large » à pivoter (implicite dans un pipe)
  • Les noms des colonnes à rassembler dans une seule colonne (mot-clé « cols »).
  • Le nom de la colonne de clés à créer — contient les noms des colonnes rassemblées (mot-clé « names_to »).
  • Le nom de la colonne de valeurs à créer — contient les valeurs des colonnes rassemblées (mot-clé « values_to »).

Vous utiliserez le data frame pivoté pour comparer les comptes de locations réelles et prédites en fonction du temps. L’index temporel instant compte le nombre d’observations depuis le début de la collecte. Le code fourni convertit ces instants en unités journalières, à partir de 0.

Le data frame bikesAugust, avec les prédictions (bikesAugust$pred), a été préchargé.

Cet exercice fait partie du cours

<cours>Apprentissage supervisé en R : Régression</cours>
Voir le cours

Instructions de l’exercice

  • Complétez les zones vides pour tracer les prédictions et les comptes réels par heure pour les 14 premiers jours d’août.
    • convertissez instant en unités de jour plutôt qu’en heures
    • appliquez pivot_longer() aux colonnes cnt et pred pour créer une colonne value, avec une clé appelée valuetype.
    • utilisez filter() pour ne garder que les deux premières semaines d’août
    • tracez value en fonction de instant (jour).

Le modèle retrouve-t-il les tendances temporelles générales des locations de vélos ?

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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")
Modifier et exécuter le code