Alle Research-Artikel

Customer Analytics

Hauspreis-Regression: was ein R² von 0,77 wirklich aussagt

Eine lineare Regression, diszipliniert gebaut: Log-Transformation, Multikollinearität per VIF entfernt, Signifikanz-Bereinigung, vier Annahmen-Checks und 10-fache Cross-Validation. Das Modell erklärt rund 77 % der Varianz - und die ehrliche Lesart der übrigen Kennzahlen ist wichtiger als die Zahl selbst.

Regression gilt als das langweilige Handwerk der Datenanalyse - genau deshalb eignet sie sich so gut, um zu zeigen, woran Modelle in der Praxis scheitern. Nicht am Algorithmus, sondern an dem, was davor und danach passiert: an schiefen Zielvariablen, an Merkmalen, die dasselbe messen, und an Kennzahlen, die besser klingen, als sie sind. Dieses Projekt baut ein klassisches OLS-Modell auf Immobiliendaten und nimmt jede dieser Stellen ernst.

Der Datensatz

Grundlage ist der bekannte Boston-Housing-Datensatz, ein öffentlicher Lehr-Datensatz aus dem MIT-Programm: Stadtteil-Merkmale wie Kriminalitätsrate (CRIM), Stickoxid-Belastung (NOX), durchschnittliche Zimmerzahl (RM), Schüler-Lehrer-Verhältnis (PTRATIO) und der Anteil einkommensschwacher Haushalte (LSTAT), dazu der Median-Hauspreis (MEDV) als Zielvariable.

Zwei Hinweise gehören an diese Stelle, nicht ans Ende. Erstens ist dieser Datensatz historisch umstritten - die Originalfassung enthält ein rassenbezogenes Merkmal, weshalb er aus scikit-learn entfernt wurde. Die hier verwendete Fassung enthält dieses Merkmal nicht; gearbeitet wird ausschließlich mit den oben genannten Struktur- und Umgebungsmerkmalen. Der Datensatz dient hier als methodisches Vehikel, nicht als Aussage über Immobilienmärkte. Zweitens ist die Zielvariable bei 50 (Tsd. $) gedeckelt - alle teureren Objekte sind auf denselben Wert gesetzt. Das sieht man in der Verteilung, und es begrenzt, was das Modell am oberen Ende überhaupt lernen kann.

Aufbereitung: die Zielvariable geradeziehen

Die Preisverteilung ist deutlich rechtsschief. Modelliert wurde deshalb nicht MEDV, sondern log(MEDV) - eine Standardtransformation, die die Verteilung symmetrischer macht und die Annahmen der linearen Regression überhaupt erst plausibel werden lässt.

Verteilung der Hauspreise vor und nach der Log-Transformation, mit sichtbarer Deckelung bei 50
Links die rechtsschiefe Originalverteilung, rechts nach Log-Transformation. Der Ausschlag ganz rechts ist die Deckelung bei 50 - sie bleibt auch nach der Transformation sichtbar.

Multikollinearität: welche Merkmale dasselbe erzählen

Vor dem Modellieren steht die Frage, ob sich die Merkmale gegenseitig doppeln. Die Korrelationsmatrix zeigt es deutlich: RAD und TAX korrelieren mit 0,91 - faktisch dieselbe Information. Auch NOX, INDUS und AGE hängen eng zusammen.

Korrelations-Heatmap der Boston-Housing-Merkmale, RAD und TAX mit 0,91 hoch korreliert
Korrelationen der Merkmale. RAD/TAX bei 0,91 ist der klare Kandidat für Multikollinearität; zur Zielvariablen korrelieren RM (0,70) und LSTAT (−0,74) am stärksten.

Bestätigt per Variance Inflation Factor (VIF) wurde TAX entfernt. Im zweiten Schritt fielen ZN, AGE und INDUS heraus, weil sie im Modell nicht signifikant waren. Das finale Modell arbeitet mit acht Merkmalen: CRIM, CHAS, NOX, RM, DIS, RAD, PTRATIO, LSTAT.

Ergebnisse

DatensatzAdj. R²RMSEMAEMAPE
Training0,76720,76180,19550,14374,98 %
Test0,77250,75810,19800,15135,26 %

RMSE, MAE und MAPE beziehen sich auf die log-transformierte Zielvariable, nicht auf Dollar-Beträge.

Tatsächliche gegen vorhergesagte log-Hauspreise für Trainings- und Testdaten
Tatsächlich gegen vorhergesagt, Training und Test. Die Punkte folgen der Diagonalen; am oberen Rand zeigt sich die gedeckelte Zielvariable als senkrechte Punktreihe.

Was die Analyse tatsächlich zeigt

  • Kein Overfitting. Test-R² (0,7725) liegt sogar minimal über dem Trainingswert - die acht Merkmale generalisieren.
  • Die 5 % MAPE sind kein 5-%-Preisfehler. Sie sind auf der Log-Skala gerechnet. Wer daraus „das Modell liegt bei Hauspreisen um 5 % daneben" macht, überträgt eine Kennzahl in eine Einheit, in der sie nie gemessen wurde. Die belastbare Aussage bleibt: rund 77 % der Varianz erklärt.
  • Die Cross-Validation ist weniger ruhig, als sie aussieht. Über 10 Folds ergibt sich ein mittleres R² von 0,7291 bei einer Streuung von ±0,2322. Der Mittelwert bestätigt das Modell; die Streuung sagt, dass einzelne Datenschnitte deutlich schlechter laufen - bei 506 Beobachtungen ist das erwartbar und gehört zum Ergebnis dazu.
  • Die Treiber sind plausibel, aber nicht kausal. Mehr Zimmer (RM) gehen mit höheren Preisen einher, ein höherer LSTAT-Anteil mit niedrigeren. Das sind Zusammenhänge in Stadtteildaten der 1970er Jahre - keine Wirkungsnachweise und erst recht keine Handlungsempfehlung.

Die Annahmen wurden geprüft, nicht vorausgesetzt

Eine lineare Regression ist nur so viel wert wie ihre Annahmen. Geprüft wurden alle vier: der Mittelwert der Residuen (praktisch null), Homoskedastizität (konstante Fehlerstreuung), die Linearität der Zusammenhänge über Residuen gegen Vorhersagen und die Normalverteilung der Fehler. Erst danach ist die Modellinterpretation zulässig - dieser Schritt wird in der Praxis am häufigsten übersprungen.

Reproduzierbarkeit & Verifikation

Der vollständige Code (EDA, Aufbereitung, VIF, beide Modelle, Annahmen-Checks, Cross-Validation) liegt im Companion-Repository: github.com/myBytesResearch/boston-house-price-prediction. Das Projekt entstand als Coursework im Applied AI and Data Science Program der MIT Professional Education (verifizierbares Zertifikat).