Ajusta un modelo para predecir recuentos de alquiler de bicicletas
En este ejercicio, vas a crear un modelo para predecir el número de bicicletas alquiladas en una hora en función del tiempo, el tipo de día (festivo, laborable o fin de semana) y la hora del día. Entrenarás el modelo con datos del mes de julio.
El data frame tiene las columnas:
cnt: número de bicicletas alquiladas en esa hora (la variable objetivo)hr: la hora del día (0-23, como factor)holiday: TRUE/FALSEworkingday: TRUE si no es festivo ni fin de semana; en caso contrario, FALSEweathersit: categórica, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: temperatura normalizada en Celsiusatemp: temperatura «de sensación» normalizada en Celsiushum: humedad normalizadawindspeed: velocidad del viento normalizadainstant: índice temporal: número de horas desde el inicio del conjunto de datos (no es una variable)mnthyyr: índices de mes y año (no son variables)
Recuerda que debes especificar family = poisson o family = quasipoisson al usar glm() (docs) para ajustar un modelo de recuento.
Como hay muchas variables de entrada, por comodidad indicaremos la variable objetivo y las entradas en variables y usaremos paste() (docs) para construir una cadena que represente la fórmula del modelo.
El data frame bikesJuly está disponible para usar. Los nombres de la variable objetivo y de las variables de entrada también se han cargado en las variables outcome y vars, respectivamente.
Este ejercicio forma parte del curso
Aprendizaje supervisado en R: Regresión
Instrucciones del ejercicio
- Rellena los huecos para crear la fórmula
fmlaque expresecntcomo función de las variables de entrada. Imprímela. - Calcula la media (
mean()) y la varianza (var()) debikesJuly$cnt.- ¿Deberías usar regresión poisson o quasipoisson?
- Usa
glm()para ajustar un modelo a los datos debikesJuly:bike_model. - Usa
glance()para consultar las estadísticas de ajuste del modelo. Asigna la salida deglance()a la variableperf. - Calcula el pseudo R-cuadrado del modelo.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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 <- ___)