Bắt đầu ngayBắt đầu miễn phí

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:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (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_trainincome_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

Xem khóa học

Hướng dẫn bài tập

  • Gọi summary() trên income_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ến fmla.log. In ra.
  • Khớp một mô hình tuyến tính của log(Income2005) với dữ liệu income_train: model.log.
  • Dùng model.log để dự đoán thu nhập trên tập dữ liệu income_test. Đặt vào cột logpred.
    • Kiểm tra summary() của logpred để thấy độ lớn khác rất nhiều so với Income2005.
  • Đả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ủa pred.income và thấy rằng độ lớn giờ đây tương tự với độ lớn của Income2005.
  • Đ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")
Chỉnh sửa và Chạy Mã