Vizualizează predicțiile pentru închirierea bicicletelor
În exercițiul anterior, ai vizualizat predicțiile modelului pentru biciclete folosind graficul clasic „valori reale vs. predicții". Deoarece datele despre închirierea bicicletelor sunt date de tip serie de timp, poate fi util să urmărești cum se comportă modelul în funcție de timp. În acest exercițiu, vei compara predicțiile și închirierile reale pe bază orară, pentru primele 14 zile din august.
Pentru a crea graficul, vei folosi funcția tidyr::pivot_longer() (docs), care consolidează valorile prezise și cele reale din bikesAugust într-o singură coloană. pivot_longer() acceptă următoarele argumente:
- Cadrul de date „wide" care urmează să fie pivotat (implicit într-un pipe)
- Numele coloanelor care vor fi colectate într-o singură coloană (cuvântul cheie
cols). - Numele coloanei cheie care va fi creată – conține numele coloanelor colectate (cuvântul cheie
names_to). - Numele coloanei de valori care va fi creată – conține valorile din coloanele colectate (cuvântul cheie
values_to).
Vei folosi cadrul de date pivotat pentru a compara numărul real și cel prezis de închirieri în funcție de timp. Indexul de timp, instant, numără observațiile de la începutul colectării datelor. Codul exemplu convertește valorile instant în unități zilnice, pornind de la 0.
Cadrul de date bikesAugust, împreună cu predicțiile (bikesAugust$pred), a fost preîncărcat.
Acest exercițiu face parte din cursul
Învățare supervizată în R: Regresia
Instrucțiuni pentru exercițiu
- Completează spațiile libere pentru a reprezenta grafic predicțiile și numărul real de închirieri pe oră, pentru primele 14 zile din august.
- convertește
instantdin unități orare în unități zilnice - aplică
pivot_longer()pe coloanelecntșipredîntr-o coloană numităvalue, cu o cheie numităvaluetype. - folosește
filter()pentru primele două săptămâni din august - Reprezintă
valueîn funcție deinstant(zile).
- convertește
Reușește modelul să identifice tiparele generale de timp din datele despre închirierea bicicletelor?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")