НачатьНачать бесплатно

Обучите модель для предсказания количества аренд велосипедов

В этом упражнении вы построите модель для предсказания количества велосипедов, арендованных за час, в зависимости от погоды, типа дня (праздник, рабочий день или выходной) и времени суток. Модель будет обучена на данных за июль.

Фрейм данных содержит следующие столбцы:

  • cnt: количество арендованных велосипедов за этот час (целевая переменная)
  • hr: час суток (0–23, как фактор)
  • holiday: TRUE/FALSE
  • workingday: TRUE, если день не является ни праздником, ни выходным, иначе FALSE
  • weathersit: категориальная переменная — "Clear to partly cloudy"/"Light Precipitation"/"Misty"
  • temp: нормализованная температура в Цельсиях
  • atemp: нормализованная «ощущаемая» температура в Цельсиях
  • hum: нормализованная влажность
  • windspeed: нормализованная скорость ветра
  • instant: временной индекс — количество часов с начала набора данных (не переменная модели)
  • mnth и yr: индексы месяца и года (не переменные модели)

Помните, что при использовании glm() (документация) для построения модели счётных данных необходимо указать family = poisson или family = quasipoisson.

Поскольку входных переменных много, для удобства мы сохраним название целевой переменной и входных переменных в отдельные переменные, а затем используем paste() (документация) для формирования строки с формулой модели.

Фрейм данных bikesJuly уже доступен для использования. Названия целевой переменной и входных переменных загружены в переменные outcome и vars соответственно.

Это упражнение является частью курса

Обучение с учителем в R: регрессия

Посмотреть курс

Инструкции к упражнению

  • Заполните пропуски, чтобы создать формулу fmla, выражающую cnt как функцию входных переменных. Выведите её на экран.
  • Вычислите среднее значение (mean()) и дисперсию (var()) для bikesJuly$cnt.
    • Какую регрессию следует использовать — пуассоновскую или квазипуассоновскую?
  • Используйте 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 <- ___)
Редактировать и запускать код