Adatta un modello per prevedere i conteggi di noleggio bici
In questo esercizio costruirai un modello per prevedere il numero di bici noleggiate in un’ora in funzione del meteo, del tipo di giorno (festivo, lavorativo o weekend) e dell’ora del giorno. Addestrerai il modello sui dati del mese di luglio.
Il data frame contiene le colonne:
cnt: il numero di bici noleggiate in quell’ora (l’outcome)hr: l’ora del giorno (0-23, come fattore)holiday: TRUE/FALSEworkingday: TRUE se non è né un festivo né un weekend, altrimenti FALSEweathersit: categorica, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: temperatura normalizzata in gradi Celsiusatemp: temperatura "percepita" normalizzata in gradi Celsiushum: umidità normalizzatawindspeed: velocità del vento normalizzatainstant: l’indice temporale — numero di ore dall’inizio dell’insieme di dati (non una variabile)mntheyr: indici di mese e anno (non variabili)
Ricorda che devi specificare family = poisson o family = quasipoisson quando usi glm() (docs) per adattare un modello di conteggio.
Dato che ci sono molte variabili in input, per comodità specificheremo l’outcome e gli input in variabili e useremo paste() (docs) per assemblare una stringa che rappresenta la formula del modello.
Il data frame bikesJuly è disponibile. I nomi della variabile di outcome e delle variabili in input sono stati caricati anche nelle variabili outcome e vars, rispettivamente.
Questo esercizio fa parte del corso
Supervised Learning in R: Regression
Istruzioni dell'esercizio
- Compila gli spazi vuoti per creare la formula
fmlache esprimecntcome funzione degli input. Stampala. - Calcola la media (
mean()) e la varianza (var()) dibikesJuly$cnt.- Dovresti usare una regressione poisson o quasipoisson?
- Usa
glm()per adattare un modello ai datibikesJuly:bike_model. - Usa
glance()per esaminare le statistiche di adattamento del modello. Assegna l’output diglance()alla variabileperf. - Calcola il pseudo-R-quadrato del modello.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 <- ___)