LoslegenKostenlos starten

Modellierung eines logarithmiert transformierten Geld-Outputs

In dieser Übung übst du, mit logarithmisch transformiertem Geld-Output zu modellieren und anschließend die „Log-Geld“-Vorhersagen zurück in Geldeinheiten umzuwandeln. Die geladenen Daten enthalten die Einkommen der Probanden im Jahr 2005 (Income2005) sowie die Ergebnisse mehrerer Eignungstests, die die Probanden 1981 abgelegt haben:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (Perzentil im Armed Forces Qualifying Test)

Die Daten wurden bereits in Trainings- und Testsatz (income_train bzw. income_test) aufgeteilt und vorab geladen. Du baust ein Modell von log(income) aus den Eingaben und wandelst anschließend log(income) wieder in income um.

Diese Übung ist Teil des Kurses

<Kurs>Überwachtes Lernen in R: Regression</Kurs>
Kurs ansehen

Übungsanweisungen

  • Rufe summary() auf income_train$Income2005 auf, um die zusammenfassenden Statistiken des Einkommens im Trainingssatz zu sehen.
  • Schreibe eine Formel, um log(Income2005) als Funktion der fünf Tests auszudrücken, als Variable fmla.log. Lass sie ausgeben.
  • Fitte ein lineares Modell von log(Income2005) auf die income_train-Daten: model.log.
  • Verwende model.log, um das Einkommen auf dem income_test-Datensatz vorherzusagen. Speichere es in der Spalte logpred.
    • Prüfe summary() von logpred, um zu sehen, dass die Größenordnungen sich stark von denen von Income2005 unterscheiden.
  • Hebe die Log-Transformation auf, um die Vorhersagen in „Geldeinheiten“ zu bringen: exp(income_test$logpred).
    • Prüfe summary() von pred.income und sieh, dass die Größenordnungen nun denen von Income2005 ähneln.
  • Ergänze die Lücken, um ein Streudiagramm von vorhergesagtem Einkommen vs. Einkommen im Testsatz zu zeichnen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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")
Code bearbeiten und ausführen