Log-dönüşümlü parasal çıktıyı modelleme
Bu egzersizde, log-dönüşümlü parasal çıktı üzerinde modelleme yapmayı ve ardından "log-para" tahminlerini tekrar parasal birimlere dönüştürmeyi pratik edeceksin. Yüklenen veriler, katılımcıların 2005 yılındaki gelirlerini (Income2005) ve 1981'de girdikleri birkaç yetenek testinin sonuçlarını içerir:
ArithWordParagMathAFQT(Armed Forces Qualifying Test yüzdelik dilimi)
Veriler halihazırda eğitim ve test kümelerine ayrılmıştır (sırasıyla income_train ve income_test) ve önceden yüklenmiştir. Girdilerden log(gelir) için bir model kuracak ve sonra log(geliri) tekrar gelire dönüştüreceksin.
Bu egzersiz, kursun bir parçasıdır
R'de Supervised Learning: Regresyon
Egzersiz talimatları
- Eğitim setindeki gelirin özet istatistiklerini görmek için
income_train$Income2005üzerindesummary()çağır. log(Income2005)'i beş testin bir fonksiyonu olarak ifade eden bir formül yaz ve bunufmla.logdeğişkenine ata. Yazdır.log(Income2005)içinincome_trainverilerine bir doğrusal model uygula:model.log.model.log'u kullanarakincome_testveri kümesi üzerinde gelir tahmini yap. Sonuculogpredsütununa koy.- Büyüklüklerin
Income2005'inkilerden oldukça farklı olduğunu görmek içinlogpredüzerindesummary()'i kontrol et.
- Büyüklüklerin
- Tahminleri "parasal birimlere" geri döndürmek için log dönüşümünü tersine çevir:
exp(income_test$logpred).pred.incomeiçinsummary()'i kontrol et ve artık büyüklüklerinIncome2005büyüklüklerine benzer olduğunu gör.
- Test setinde tahmin edilen gelir ile gerçek geliri karşılaştıran bir dağılım grafiği çizmek için boşlukları doldur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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")