Datengetriebene Vorhersage von Immobilienpreisen

Ziel dieses Projekts ist Vorhersage von Immobilienpreisen in Großbritannien, speziell in England und Wales. Da auf Basis des ursprünglichen Datensatzes keine gute Vorhersage der Immobilienpreise möglich ist, wurde dieser um sozioökonomische Daten ergänzt.

Hierzu zählen beispielsweise das BIP und Arbeitslosenquote pro Quartal und Jahr im UK. Ebenfalls wurde der Ländername ergänzt, um eine bessere Differenzierung zu erreichen.

Theorie

Für die Vorhersage wurden zwei Arten von Machine Learning Verfahren verwendet. Ein Random Forest Verfahren (XGBoost) für die Klassifikation und ein Suport Vector Machine (SVM) Verfahren für die Regression (Vorhersage). Das XGBoost Verfahren wurde im Artikel http://blog.five1.de/entscheidungsbaeume-vs-random-forest-vs-boosting/ beschrieben. An dieser Stelle geben wir einen Einblick in die SVM Verfahren, u.a. im etwas außergewöhnlichen Regressionskontext.

Bekannt ist das SVM Verfahren aus der Klassifikation. Dabei werden im einfachsten Fall zwei Klassen optimal getrennt. Im zweidimensionalen Fall wird eine Gerade so angepasst, dass die Klassen getrennt werden. Die Lösung ist aber nicht eindeutig, da es mehrere Lösungen für eine Gerade geben kann. Um die Lösung eindeutig zu machen, wird das Konzept der Margin eingeführt. Hierbei wird die Gerade so eingepasst, dass sie den maximalen Abstand zu den m nächsten Punkten hat. Da in der Realität nicht alle Klassen optimal zu trennen sind, wird das Konzept noch um einen Term erweitert, welcher die Ungenauigkeit der Trennung erlaubt.

An dieser Stelle soll noch das Konzept der Stützvektoren eingeführt werden. Diese erlauben die Anpassung der Funktionen ohne alle Datenpunkte anzupassen. Im Abbildung 1 sind die Stützvektoren markiert. Es sind Punkte die Entweder auf der Margin liegen oder auf der falschen Seite der Klassifikation.

Abbildung 1 Lineare SVM mit Margin und Stützvektoren (Umrandete Punkte)

Um auch nichtlineare Probleme zu lösen, können die Datenpunkte in einen höherdimensionalen Raum transformiert werden. Dies kann mittels verschiedener Basisfunktionen erfolgen. In Abbildung 2 sind exemplarisch die Ergebnisse der polynomialen und radialen Basisfunktion dargestellt. Im höherdimensionalen Raum ist die Trennung dann wieder durch eine Ebene möglich.

Abbildung 2 lineare, polynomiale und radiale Basisfunktion

Im Fall der Regression wird versucht, die Ebene so zu legen, dass die Datenpunkte in der Margin liegen. Der Bereich zwischen den Margingrenzen wird als „distance-insensitive tube“ bezeichnet.

Abbildung 3 SVM Regression mit radialer Basisfunktion (schwarz Datenpunkte, rot Vorhersage)

Vorverarbeitung

Für eine sinnvolle Modelkomplexität wird das Encodieren der kategorischen Variablen nicht über die Transformation in binäre Variablen durchgeführt, sondern über den arithmetischen Mittelwert pro Klasse. In diesem Fall wurden die Namen von Stadt, Distrikt und Land durch die jeweiligen Durchschnittspreise ersetzt.

Die Datenanreicherung erfolgt über die Zuordnung verschiedener sozioökonomischer Kenngrößen. Da diese nicht in beliebiger Granularität verfügbar waren

, wurden fehlende Verwaltungsebenen im Datensatz ergänzt. Im UK gibt es durch die unterschiedliche Herkunft der Namen der Verwaltungsbezirke das Problem, diese anhand des Namens zuzuordnen. Über ein geeignetes Fuzzy-Matching-Verfahren für Namen, ist eine teilautomatische Zuordnung der Richtigen Ebenen aber möglich.

Modellierung

Zur Modellierung wurde ein Ensemble Modell erstellt. Der Vorteil des Ensemble-Learning besteht darin, dass mehrere Algorithmen zum Berechnen verwendet werden. Dadurch ist es möglich bessere Vorhersagen treffen zu können, als mit nur einem Modell.

In diesem konkret Fall wurde im ersten Schritt eine Klassifikationsanalyse zur Gruppierung der Daten verwendet. Die Daten wurden je nach Hauspreis in vier Gruppen aufgeteilt.

Anschließend werden die vorgruppierten Datensätze in eine Regressionsanalyse geleitet, in der dann die Immobilienpreise berechnet werden. Durch die Aufteilung der Daten, welche eine sehr große Preisspanne abdecken, ist es möglich pro Kategorie bessere Ergebnisse zu erzielen. Dies basiert auf der Spezialisierung der einzelnen Regressionen auf jeweils einen speziellen Preisbereich (Abb. 1).

Abbildung 4 Ensemble Modell

Die Klassifikation wird mit allen Datensätzten der Trainingsdaten trainiert, da diese alle Kategorien vorhersagen soll. Das Training der Regression ist auf Daten der entsprechenden Kategorien beschränkt, da sie nur Daten aus ebendieser vorhersagen sollen. Dementsprechend gestaltet sich dann auch die Anwendung (Test) der Regressionsanalysen. Es werden nur Daten der jeweiligen vorhergesagten Kategorie je Regression verwendet.

Zusammenfassung

Basierend auf einem Datensatz für Immobilienpreise soll eine Verfahren für die Vorhersage von Immobilienpreise entwickelt werden. Dazu wurde der Datensatz mit sozioökonomischen Informationen angereichert.

Die Modellierung konnte durch die große Preisspanne von einem Pfund bis hin zu mehreren Millionen Pfund nicht durch ein einzelnes Regressionsmodell durchgeführt werden. Die Preisspanne wurde deshalb in vier Kategorien aufgeteilt. Auf dieser Basis wird im nächsten Schritt ein Klassifikationsalgorithmus trainiert – im speziellen ein Boosting-Verfahren – der dem Regressionsschritt vorgelagert ist. Somit können die Regressionsmodelle auf einem begrenzten Preisbereich trainiert werden. Für die Regression wurden SVM Modelle mit einem radialen Kernel genutzt.

Getagged mit: , , , , , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*