Anpassa en modell för att förutsäga antal cykeluthyrningar
I den här övningen bygger du en modell för att förutsäga antalet uthyrda cyklar per timme som en funktion av väder, dagtyp (helgdag, arbetsdag eller helg) och tid på dygnet. Du tränar modellen på data från juli månad.
Dataramen har följande kolumner:
cnt: antal uthyrda cyklar under den timmen (utfallsvariabeln)hr: timme på dygnet (0–23, som en faktor)holiday: TRUE/FALSEworkingday: TRUE om dagen varken är en helgdag eller helg, annars FALSEweathersit: kategorisk, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: normaliserad temperatur i Celsiusatemp: normaliserad "upplevd" temperatur i Celsiushum: normaliserad luftfuktighetwindspeed: normaliserad vindhastighetinstant: tidsindex – antal timmar sedan datamängdens start (inte en variabel)mnthochyr: index för månad och år (inte variabler)
Kom ihåg att du måste ange family = poisson eller family = quasipoisson när du använder glm() (docs) för att anpassa en räknemodell.
Eftersom det finns många indatavariabler anger vi utfallet och indata i variabler för enkelhetens skull, och använder paste() (docs) för att sätta ihop en sträng som representerar modellformeln.
Dataramen bikesJuly finns tillgänglig. Namnen på utfallsvariabeln och indatavariablerna har även laddats in som variablerna outcome respektive vars.
Den här övningen är en del av kursen
Övervakad inlärning i R: Regression
Övningsinstruktioner
- Fyll i blanktecknen för att skapa formeln
fmlasom uttryckercntsom en funktion av indatavariablerna. Skriv ut den. - Beräkna medelvärdet (
mean()) och variansen (var()) förbikesJuly$cnt.- Bör du använda poisson- eller quasipoisson-regression?
- Använd
glm()för att anpassa en modell tillbikesJuly-data:bike_model. - Använd
glance()för att granska modellens anpassningsstatistik. Tilldela utdata frånglance()till variabelnperf. - Beräkna modellens pseudo-R-kvadrat.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 <- ___)