Aan de slagGa gratis aan de slag

Pas een model toe om aantallen fietsverhuur te voorspellen

In deze oefening bouw je een model om het aantal fietsen dat per uur wordt verhuurd te voorspellen op basis van het weer, het type dag (feestdag, werkdag of weekend) en het tijdstip van de dag. Je traint het model op gegevens uit de maand juli.

Het data frame heeft de kolommen:

  • cnt: het aantal verhuurde fietsen in dat uur (de uitkomst)
  • hr: het uur van de dag (0–23, als factor)
  • holiday: TRUE/FALSE
  • workingday: TRUE als het geen feestdag en geen weekend is, anders FALSE
  • weathersit: categorisch, "Clear to partly cloudy"/"Light Precipitation"/"Misty"
  • temp: genormaliseerde temperatuur in graden Celsius
  • atemp: genormaliseerde gevoelstemperatuur in graden Celsius
  • hum: genormaliseerde luchtvochtigheid
  • windspeed: genormaliseerde windsnelheid
  • instant: de tijdindex — aantal uren sinds het begin van de gegevensset (geen variabele)
  • mnth en yr: maand- en jaarindices (geen variabelen)

Onthoud dat je family = poisson of family = quasipoisson moet opgeven wanneer je glm() (docs) gebruikt om een telmodel te fitten.

Omdat er veel invoervariabelen zijn, specificeren we voor het gemak de uitkomst en de inputs in variabelen, en gebruiken we paste() (docs) om een string samen te stellen die de modelformule vertegenwoordigt.

Het data frame bikesJuly is beschikbaar. De namen van de uitkomstvariabele en de invoervariabelen zijn ook geladen als de variabelen outcome en vars.

Deze oefening maakt deel uit van de cursus

Supervised Learning in R: Regressie

Cursus bekijken

Oefeninstructies

  • Vul de lege plekken in om de formule fmla te maken die cnt als functie van de inputs weergeeft. Print hem.
  • Bereken het gemiddelde (mean()) en de variantie (var()) van bikesJuly$cnt.
    • Moet je poisson- of quasipoisson-regressie gebruiken?
  • Gebruik glm() om een model te fitten op de bikesJuly-gegevens: bike_model.
  • Gebruik glance() om naar de fitstatistieken van het model te kijken. Ken de output van glance() toe aan de variabele perf.
  • Bereken de pseudo-R-kwadraat van het model.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# bikesJuly is available
str(bikesJuly)

# The outcome column
outcome 

# The inputs to use
vars 

# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))

# Calculate the mean and variance of the outcome
(mean_bikes <- ___)
(var_bikes <- ___)

# Fit the model
bike_model <- ___

# Call glance
(perf <- ___)

# Calculate pseudo-R-squared
(pseudoR2 <- ___)
Code bewerken en uitvoeren