Mô hình hóa đầu ra tiền tệ đã log-transform
Trong bài tập này, bạn sẽ luyện tập mô hình hóa trên đầu ra tiền tệ đã được log-transform, sau đó chuyển đổi các dự đoán "log-money" về đơn vị tiền tệ. Dữ liệu đã nạp ghi nhận thu nhập năm 2005 của đối tượng (Income2005), cùng với kết quả của một số bài kiểm tra năng lực mà họ làm năm 1981:
ArithWordParagMathAFQT(Phần trăm bách phân trên Armed Forces Qualifying Test)
Dữ liệu đã được chia sẵn thành tập huấn luyện và tập kiểm tra (tương ứng là income_train và income_test) và đã được nạp sẵn. Bạn sẽ xây dựng một mô hình của log(income) từ các biến đầu vào, rồi chuyển log(income) trở lại thu nhập.
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
- Gọi
summary()trênincome_train$Income2005để xem các thống kê tóm tắt của thu nhập trong tập huấn luyện. - Viết một công thức để biểu diễn
log(Income2005)như một hàm của năm bài kiểm tra và gán vào biếnfmla.log. In ra. - Khớp một mô hình tuyến tính của
log(Income2005)với dữ liệuincome_train:model.log. - Dùng
model.logđể dự đoán thu nhập trên tập dữ liệuincome_test. Đặt vào cộtlogpred.- Kiểm tra
summary()củalogpredđể thấy độ lớn khác rất nhiều so vớiIncome2005.
- Kiểm tra
- Đảo ngược phép biến đổi log để đưa dự đoán về "đơn vị tiền tệ":
exp(income_test$logpred).- Kiểm tra
summary()củapred.incomevà thấy rằng độ lớn giờ đây tương tự với độ lớn củaIncome2005.
- Kiểm tra
- Điền vào chỗ trống để vẽ biểu đồ phân tán của thu nhập dự đoán so với thu nhập trên tập kiểm tra.
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.
# Examine Income2005 in the training set
___
# Write the formula for log income as a function of the tests and print it
(fmla.log <- ___)
# Fit the linear model
model.log <- ___
# Make predictions on income_test
income_test$logpred <- ___
summary(income_test$logpred)
# Convert the predictions to monetary units
income_test$pred.income <- ___
summary(income_test$pred.income)
# Plot predicted income (x axis) vs income
ggplot(___, aes(x = ___, y = ___)) +
geom_point() +
geom_abline(color = "blue")