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:
ArithWordParagMathAFQT(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
Övningsinstruktioner
- Anropa
summary()påincome_train$Income2005fö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 variabelnfmla.log. Skriv ut den. - Anpassa en linjär modell av
log(Income2005)tillincome_train-data:model.log. - Använd
model.logför att prediktera inkomst på testdatamängdenincome_test. Lägg resultatet i kolumnenlogpred.- Kontrollera
summary()förlogpredoch notera att magnituderna skiljer sig avsevärt från dem iIncome2005.
- Kontrollera
- Återvänd log-transformationen för att sätta prediktionerna i "monetära enheter":
exp(income_test$logpred).- Kontrollera
summary()förpred.incomeoch notera att magnituderna nu liknar dem iIncome2005.
- Kontrollera
- 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")