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:
ArithWordParagMathAFQT(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
Pokyny k cvičení
- Zavolej
summary()naincome_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 datechincome_train:model.log. - Použij
model.logk predikci příjmů na datové saděincome_test. Výsledek ulož do sloupcelogpred.- Zkontroluj
summary()proměnnélogpred– hodnoty budou řádově jiné než hodnotyIncome2005.
- Zkontroluj
- 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ámIncome2005.
- Zkontroluj
- 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")