Začněte nyníZačněte zdarma

Modelování logaritmicky transformovaného finančního výstupu

V tomto cvičení si procvičíš modelování logaritmicky transformovaného finančního výstupu a následný převod predikovaných hodnot „log-příjmu" zpět na finanční jednotky. Načtená data obsahují příjmy respondentů v roce 2005 (Income2005) a také výsledky několika testů způsobilosti, které respondenti absolvovali v roce 1981:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (percentil v testu ozbrojených sil – Armed Forces Qualifying Test)

Data jsou již rozdělena na trénovací a testovací sadu (income_train a income_test) a předem načtena. Sestavíš model pro log(příjem) na základě vstupních proměnných a výsledek pak převedeš zpět na příjem.

Toto cvičení je součástí kurzu

Supervised Learning in R: Regression

Zobrazit kurz

Pokyny k cvičení

  • Zavolej summary() na income_train$Income2005, abys viděl/a souhrnné statistiky příjmů v trénovací sadě.
  • Napiš vzorec vyjadřující log(Income2005) jako funkci pěti testů a ulož ho do proměnné fmla.log. Vypiš ho.
  • Natrénuj lineární model pro log(Income2005) na datech income_train: model.log.
  • Použij model.log k predikci příjmů na datové sadě income_test. Výsledek ulož do sloupce logpred.
    • Zkontroluj summary() proměnné logpred – hodnoty budou řádově jiné než hodnoty Income2005.
  • Proveď zpětnou transformaci logaritmu, aby byly predikce vyjádřeny ve finančních jednotkách: exp(income_test$logpred).
    • Zkontroluj summary() proměnné pred.income – hodnoty by teď měly být řádově podobné hodnotám Income2005.
  • Doplň chybějící části kódu a vykresli bodový graf predikovaného příjmu vs. skutečného příjmu na testovací sadě.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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")
Upravit a spustit kód