Навчіть модель для прогнозування кількості оренд велосипедів
У цій вправі ви побудуєте модель, щоб передбачати кількість орендованих велосипедів за годину залежно від погоди, типу дня (свято, робочий день чи вихідний) та часу доби. Ви навчите модель на даних за липень.
Датафрейм має стовпці:
cnt: кількість орендованих велосипедів у цю годину (результат)hr: година доби (0–23, як фактор)holiday: TRUE/FALSEworkingday: TRUE, якщо це ні свято, ні вихідний; інакше FALSEweathersit: категоріальна, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: нормалізована температура за Цельсіємatemp: нормалізована "відчувана" температура за Цельсіємhum: нормалізована вологістьwindspeed: нормалізована швидкість вітруinstant: індекс часу — кількість годин від початку набору даних (не є змінною)mnthіyr: індекси місяця та року (не є змінними)
Пам'ятайте, що потрібно вказати family = poisson або family = quasipoisson, коли використовуєте glm() (docs) для побудови моделі підрахунків.
Оскільки вхідних змінних багато, для зручності ми задамо назви результату та входів у змінних і використаємо paste() (docs), щоб зібрати рядок, що представляє формулу моделі.
Датафрейм bikesJuly доступний для використання. Назви змінної-результату та вхідних змінних також завантажені у змінні outcome та vars відповідно.
Ця вправа є частиною курсу
Кероване навчання в R: регресія
Інструкції до вправи
- Заповніть пропуски, щоб створити формулу
fmla, яка виражаєcntяк функцію вхідних змінних. Виведіть її. - Обчисліть середнє (
mean()) і дисперсію (var()) дляbikesJuly$cnt.- Чи слід використовувати регресію poisson чи quasipoisson?
- Використайте
glm(), щоб навчити модель на данихbikesJuly:bike_model. - Скористайтеся
glance(), щоб переглянути статистики якості підгонки моделі. Результатglance()запишіть у зміннуperf. - Обчисліть псевдо-R-квадрат моделі.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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 <- ___)