ÎncepețiÎncepe gratuit

Modelarea venitului log-transformat

În acest exercițiu, vei exersa modelarea pe output monetar log-transformat, iar apoi vei transforma predicțiile „log-venit" înapoi în unități monetare. Datele încărcate înregistrează veniturile subiecților în 2005 (Income2005), precum și rezultatele mai multor teste de aptitudini susținute de aceștia în 1981:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (Percentilă la Testul de Calificare al Forțelor Armate)

Datele au fost deja împărțite în seturi de antrenament și de testare (income_train și income_test) și sunt preîncărcate. Vei construi un model pentru log(venit) pornind de la variabilele de intrare, după care vei converti log(venit) înapoi în venit.

Acest exercițiu face parte din cursul

Învățare supervizată în R: Regresia

Vezi cursul

Instrucțiuni pentru exercițiu

  • Aplică summary() pe income_train$Income2005 pentru a vedea statisticile sumare ale venitului din setul de antrenament.
  • Scrie o formulă care să exprime log(Income2005) ca funcție de cele cinci teste și salveaz-o în variabila fmla.log. Afișeaz-o.
  • Antrenează un model liniar pentru log(Income2005) pe datele income_train: model.log.
  • Folosește model.log pentru a face predicții pe setul de date income_test. Stochează rezultatele în coloana logpred.
    • Verifică summary() al logpred pentru a observa că valorile sunt foarte diferite față de cele ale Income2005.
  • Inversează transformarea logaritmică pentru a converti predicțiile în „unități monetare": exp(income_test$logpred).
    • Verifică summary() al pred.income și observă că valorile sunt acum similare cu cele ale Income2005.
  • Completează spațiile libere pentru a reprezenta grafic un scatter plot al venitului prezis față de venitul real din setul de testare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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")
Editează și rulează codul