自転車レンタル数を予測するモデルを当てはめる
この演習では、天候、日の種類(祝日・平日・週末)、そして時間帯に基づいて、1時間あたりにレンタルされる自転車の台数を予測するモデルを作成します。モデルは7月のデータで学習します。
データフレームには次の列があります。
cnt: その時間にレンタルされた自転車の台数(目的変数)hr: 時(0–23、factor)holiday: TRUE/FALSEworkingday: 祝日でも週末でもなければ TRUE、それ以外は FALSEweathersit: カテゴリ型、"Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: 摂氏で正規化した気温atemp: 摂氏で正規化した体感気温hum: 正規化した湿度windspeed: 正規化した風速instant: 時間インデックス — データセット開始からの経過時間(時間数)(変数としては使用しません)mnthとyr: 月と年のインデックス(変数としては使用しません)
カウントデータのモデルを glm()(docs)で当てはめるときは、family = poisson または family = quasipoisson を必ず指定してください。
入力変数が多いため、ここでは便宜上、目的変数と説明変数名を変数で指定し、paste()(docs)を使ってモデルの式文字列を組み立てます。
bikesJuly データフレームが利用可能です。目的変数名と説明変数名は、それぞれ outcome と vars という変数に読み込まれています。
この演習はコースの一部です
R による Supervised Learning:回帰
演習の手順
cntを入力の関数として表す式fmlaを空欄補充で作成し、表示してください。bikesJuly$cntの平均(mean())と分散(var())を計算します。- poisson 回帰と quasipoisson 回帰のどちらを使うべきでしょうか?
glm()を使ってbikesJulyデータにモデルbike_modelを当てはめてください。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 <- ___)