Khớp mô hình để dự đoán số lượt thuê xe đạp
Trong bài tập này, bạn sẽ xây dựng một mô hình để dự đoán số xe đạp được thuê trong một giờ dựa trên thời tiết, loại ngày (ngày lễ, ngày làm việc, hoặc cuối tuần), và thời điểm trong ngày. Bạn sẽ huấn luyện mô hình trên dữ liệu của tháng Bảy.
Data frame có các cột:
cnt: số xe đạp được thuê trong giờ đó (biến đầu ra)hr: giờ trong ngày (0-23, kiểu factor)holiday: TRUE/FALSEworkingday: TRUE nếu không phải ngày lễ cũng không phải cuối tuần, ngược lại FALSEweathersit: phân loại, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: nhiệt độ chuẩn hóa theo độ Catemp: nhiệt độ "cảm nhận" đã chuẩn hóa theo độ Chum: độ ẩm đã chuẩn hóawindspeed: tốc độ gió đã chuẩn hóainstant: chỉ số thời gian -- số giờ kể từ khi bắt đầu bộ dữ liệu (không phải biến)mnthvàyr: chỉ số tháng và năm (không phải biến)
Hãy nhớ rằng bạn phải chỉ định family = poisson hoặc family = quasipoisson khi dùng glm() (docs) để khớp mô hình đếm.
Vì có khá nhiều biến đầu vào, để tiện lợi chúng ta sẽ chỉ định biến đầu ra và biến đầu vào vào các biến,
và dùng paste() (docs) để ghép thành một chuỗi biểu diễn công thức mô hình.
Data frame bikesJuly đã sẵn sàng để dùng. Tên của biến đầu ra và các biến đầu vào cũng đã được nạp vào các biến outcome và vars tương ứng.
Bài tập này là một phần của khóa học
Học có giám sát với R: Hồi quy
Hướng dẫn bài tập
- Điền vào chỗ trống để tạo công thức
fmlabiểu diễncntnhư một hàm của các biến đầu vào. In ra. - Tính trung bình (
mean()) và phương sai (var()) củabikesJuly$cnt.- Bạn nên dùng hồi quy poisson hay quasipoisson?
- Dùng
glm()để khớp mô hình cho dữ liệubikesJuly:bike_model. - Dùng
glance()để xem các thống kê độ khớp của mô hình. Gán đầu ra củaglance()vào biếnperf. - Tính pseudo-R-squared của mô hình.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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 <- ___)