Kom igångKom igång gratis

Modellering av log-transformerade monetära utfall

I den här övningen tränar du på att modellera log-transformerade monetära utfall och sedan omvandla prediktionerna för "log-pengar" tillbaka till monetära enheter. De inlästa data registrerar försökspersonernas inkomster 2005 (Income2005), samt resultaten från flera anlagsprov som personerna genomförde 1981:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (percentil på Armed Forces Qualifying Test)

Data har redan delats upp i tränings- och testmängder (income_train respektive income_test) och är förhandsinlästa. Du ska bygga en modell av log(income) utifrån indata och sedan konvertera log(income) tillbaka till inkomst.

Den här övningen är en del av kursen

Övervakad inlärning i R: Regression

Visa kurs

Övningsinstruktioner

  • Anropa summary()income_train$Income2005 för att se sammanfattande statistik för inkomst i träningsdatan.
  • Skriv en formel som uttrycker log(Income2005) som en funktion av de fem proven och spara den i variabeln fmla.log. Skriv ut den.
  • Anpassa en linjär modell av log(Income2005) till income_train-data: model.log.
  • Använd model.log för att prediktera inkomst på testdatamängden income_test. Lägg resultatet i kolumnen logpred.
    • Kontrollera summary() för logpred och notera att magnituderna skiljer sig avsevärt från dem i Income2005.
  • Återvänd log-transformationen för att sätta prediktionerna i "monetära enheter": exp(income_test$logpred).
    • Kontrollera summary() för pred.income och notera att magnituderna nu liknar dem i Income2005.
  • Fyll i de tomma fälten för att rita ett punktdiagram över predikterad inkomst mot faktisk inkomst i testmängden.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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")
Redigera och kör kod