Pemodelan keluaran moneter yang ditransformasi log
Dalam latihan ini, Anda akan berlatih membuat model pada keluaran moneter yang ditransformasi log, lalu mengonversi kembali prediksi "log-uang" ke satuan moneter. Data yang dimuat merekam pendapatan subjek pada tahun 2005 (Income2005), serta hasil beberapa tes kemampuan yang diikuti subjek pada tahun 1981:
ArithWordParagMathAFQT(Persentil pada Armed Forces Qualifying Test)
Data sudah dipisah menjadi himpunan latih dan uji (income_train dan income_test) dan telah dimuat sebelumnya. Anda akan membangun model log(pendapatan) dari masukan tersebut, lalu mengonversi log(pendapatan) kembali menjadi pendapatan.
Latihan ini adalah bagian dari kursus
Supervised Learning di R: Regresi
Petunjuk latihan
- Panggil
summary()padaincome_train$Income2005untuk melihat statistik ringkas pendapatan di himpunan latih. - Tulis sebuah formula untuk mengekspresikan
log(Income2005)sebagai fungsi dari lima tes sebagai variabelfmla.log. Cetak variabel tersebut. - Sesuaikan model linear
log(Income2005)pada dataincome_train:model.log. - Gunakan
model.loguntuk memprediksi pendapatan pada himpunan dataincome_test. Simpan di kolomlogpred.- Periksa
summary()darilogpreduntuk melihat bahwa skala besarnya sangat berbeda dariIncome2005.
- Periksa
- Balikkan transformasi log agar prediksi menjadi dalam "satuan moneter":
exp(income_test$logpred).- Periksa
summary()daripred.incomedan lihat bahwa skalanya kini mirip dengan skalaIncome2005.
- Periksa
- Isi bagian yang kosong untuk membuat scatter plot pendapatan terprediksi vs. pendapatan pada himpunan uji.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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")