Inspiration
Wenn heutzutage die Mietpreise überall durch die Decke gehen, fragt man sich: Wie kommen die Mietpreise heute zustande? Welche Faktoren haben einen Einfluss auf die Mietpreise? Wie kann ich möglichst günstig Leben? Diese Fragen wollen wir mit den open-source Daten von der Stadt und dem Kanton von St. Gallen, mit Hilfe von statistical Machine Learning beantworten.
What it does
Wir haben verschiedensten Datensets ein statistical Machine-Learning Modell trainiert, welches einerseits Einsicht gibt, wovon Mietpreise beeinflusst werden, aber es auch ermöglicht mit verschiedenen Parametern den Mietpreis einer belliebigen Wohnung in St. Gallen vorauszusagen. Dieses Modell haben wir in ein Python Windowsprogramm eingebaut welches einzig mit der Angabe der Adresse und der Wohnungsfläche eine Mietpreisschätzung machen kann. Alle anderen Indikatoren werden über die Adresse aus den zusammengetragenen Geodaten abgefragt.
How we built it
Wir haben Datensets von mehreren Webseiten inklusive den Daten der Stadt St. Gallen, eigenen scrapes von Newhome.ch, der Firma Cividi und Daten von Openstreetmaps genutzt. Diese Daten wurden mit QGIS vorverarbeitet, indem jeder Wohnung, Strassenlärmwerte, Freiraumflächen, Einkaufmärkte, Distanzen zu Bushaltestellen und Bahnhöfen, Restaurants, Schulen, Kindergärten, Bars, etc zugeteilt wurden.
Abbildung 1: Distanzberechnung zu Bushaltestellen
Abbildung 2: Spacial Join der erreichbaren Freiräume
Mit diesen Daten haben wir dann in Python eine Multiple Lineare Regression durchgeführt und um einerseits bestehende Mietpreisdaten erklären zu können aber andererseits auch Mietpreise für ein beliebiges Mietobjekt bestimmen zu können Github
Hier sind unsere Schritte zu dem Machine-Learning Modell und die Auswertungen zu unseren Resultaten der Faktoren. Dieses trainierte Machine-Learning Modell haben wir dann in ein Programm eingebaut, das über die OpenStreetMap API eine Haus-Adresse in Koordinaten umwandelt (geocoding). Die Adresse sollte von in dem Kanton von St. Gallen stammen. Mit diesen Koordinaten und vorhanden Datensets, kann das Programm die Distanzen, zu nötigen Positionen bestimmen (Supermärkte, Bushaltestellen, Bahnhöfe, etc.), um diese in das Modell einzusetzen. Mit diesen Werten und der angegebenen Fläche der Wohnung, kann das Programm dann den Mietpreis der Wohnung bestimmen.
Abbildung 3: Ausgabezeile von Mietpreisprogramm
Challenges we ran into
Die verfügbaren Daten zu den Mietpreisen in der Stadt St.Gallen enthielten für unseren Anwendungsfall zu ähnliche Daten, die alle sehr dicht in einem Bereich gepackt waren. Dies hatte zur Folge, dass wir zu Beginn Mühe hatten, überhaupt einen relevanten Predictor zu finden, der eine aussagekräftige Auskunft über die Mietpreise verschiedener Objekte geben kann. Nach einem eigenen Web-Scraping, das uns noch einmal zusätzliche 400 Datensätze geliefert hatte, hat sich das Problem ein wenig gelegt. Dennoch waren auch die zusätzlich gewonnen Daten immer noch dicht gepackt, was dazu führte, dass das gefittete Model nur in einem beschränkten Bereich sinnvolle Aussagen liefern kann. Zudem hat das Aufbereiten und Verknüpfen der Geodaten mehr Zeit in Anspruch genommen als ursprünglich gedacht.
Accomplishments that we're proud of
Zum Schluss dieses Hackathons haben wir vier Predictors gefunden, die für unseren Anwendungsfall relevante Aussagen zum Mietpreis geben können. In dem eingeschränkten Bereich, in dem das gefittete Model sinnvolle Aussagen liefern kann, sind die Vorhersagen sehr plausibel und können Auskunft über den Mietpreis eines Objektes liefern. Die Applikation, die das gefittete Model verwendet, um den Mietpreis einer beliebigen Wohnung in St.Gallen vorherzusagen zählt zu den Haupterrungenschaften unserer zwei Tage Arbeit. Grundlegend für die dabei erzielten Resultate waren die ausführliche Datenaufbereitung sowie die Evaluierung diverser Predictor Variablen, die zum grundlegenden Model geführt haben.
What we learned
Dass wir uns auf die Stadt St. Gallen limitiert hatten, hat das Datenvolumen zwar überschaubar gemacht, aber für die statistische Analyse ist das problematisch. Die Stadt liefert zwar eine relativ grosse Anzahl Datenpunkte, diese spannen aber in ihren Werten einen zu kleinen Bereich ab, um ein vollständiges Bild zu zeichnen.
What's next for Mietpreise in St. Gallen
Eine ähnliche Analyse mit Daten aus dem ganzen Kanton könnte durch die grössere Datenvielfalt und kleinerer geographische Korrelation womöglich bessere Ergebnisse erzielen.
Built With
- api
- opendata
- openstreetmap
- osm
- postgis
- python
- qgis
- sql
Log in or sign up for Devpost to join the conversation.