Using Machine Learning to Build a Walkability Score
Ich lebe in Seattle und bin kürzlich in ein anderes Viertel gezogen. Laut den firmeneigenen Algorithmen von Walk Score bin ich vom 9. der fußläufigsten Stadtteile Seattles in den 30. umgezogen. Ich kann immer noch leicht zu Fuß zu einem örtlichen Café und einem Friseur gehen, aber das war’s auch schon! Ich kann feststellen, dass ich in eine wesentlich weniger fußläufige Gegend umgezogen bin, aber es ist unklar, wie man das Ausmaß quantifizieren kann oder was in die Bewertung der Fußgängerfreundlichkeit einfließt.
Ich habe zuvor die Walk Score API als Datenquelle für die Vorhersage von Clustern von Elektroroller-Standorten verwendet. Walk Score ist eine Website, die aus einer Adresse ein Maß für die Begehbarkeit auf einer Skala von 0-100 berechnet, wobei proprietäre Algorithmen und verschiedene Datenströme verwendet werden.
Als jemand, der gerne zu Fuß geht, um an Orte zu gelangen (und zu wandern!), bin ich neugierig geworden, was diese proprietären Algorithmen antreibt, die eine Bewertung der Begehbarkeit generieren. Ich habe mir folgende Fragen gestellt:
- Können die proprietären Walk-Score-Algorithmen rückgängig gemacht werden?
2. Welche Merkmale sind bei der Erstellung einer Fußgängerfreundlichkeitsbewertung wichtig?
Um diese Fragen zu beantworten, habe ich einen benutzerdefinierten Datensatz erstellt, indem ich verschiedene granulare Daten der Stadt Seattle und Walk-Score-API-Daten gesammelt habe, um maschinelle Lernmodelle zur Vorhersage einer Fußgängerfreundlichkeitsbewertung zu trainieren. Ich konnte ein Modell trainieren, das bei den Testdaten ein R² von 0,95 erreichte. R-Quadrat erklärt das Ausmaß, in dem die Varianz der Merkmale die Varianz des Walk Score erklärt.
Im Wesentlichen konnte ich die Walk Score-Methodik zurückentwickeln und die proprietären Algorithmen nachbilden, die den Walk Score antreiben. Die wichtigsten Merkmale für die Begehbarkeit eines Ortes sind die Anzahl der Restaurants im Umkreis von 1.000 Metern, die Bevölkerungsdichte in diesem Gebiet, die Anzahl der Supermärkte im Umkreis von 1.000 Metern und die Entfernung in Metern zum nächsten Gewerbegebiet.
Daten
Ich begann mit der zufälligen Generierung von Breiten- und Längenkoordinaten im Großraum Seattle. Mit einer Liste von ca. 7800 eindeutigen Geostandorten nutzte ich die Walk Score API, die für jeden eindeutigen Geostandort eine Bewertung der Begehbarkeit lieferte. Dann machte ich mich daran, Daten zu sammeln, die die Begehbarkeit der Umgebung eines Ortes widerspiegeln.
Datenquellen:
- OSMnx: Python-Paket, mit dem Sie räumliche Geometrien herunterladen und Straßennetze aus den APIs von OpenStreetMap modellieren, projizieren, visualisieren und analysieren können.
- Walk Score API: Liefert eine Bewertung der Begehbarkeit für jeden Ort.
- LocationIQ API: Nearby Points of Interest (PoI) API: Gibt angegebene PoIs oder Orte um eine bestimmte Koordinate zurück.
- Seattle City Zoning: Zonierungsbezirke geben eine Nutzungskategorie an (z. B. Einfamilienhaus, Mehrfamilienhaus, Gewerbe, Industrie usw.)
- Seattle Census Data: Bietet Bevölkerung und Fläche in Quadratmeilen für Volkszählungsgebiete innerhalb von Census Tracts and Geographic Identifiers
- U.S. Census Geocoder API: Für einen bestimmten Standort liefert die API Volkszählungsgebiete und eindeutige geografische Bezeichnungen. Dies war entscheidend für die korrekte Zusammenführung von Zonierungs- und Volkszählungsdaten.
Feature Engineering
Aufgrund der Beschränkung der täglichen Anfragen an die LocationIQ API verlängerte ich die Datenerfassungsphase um zwei Wochen. Dadurch erhielt ich ~7800 eindeutige Geostandorte, aus denen ich 27 Merkmale entwickelte, um Modelle für maschinelles Lernen zu trainieren, die die Begehbarkeit in ganz Seattle vorhersagen.
Die Merkmale lassen sich in vier Kategorien unterteilen:
- Amenity-based: Anzahl der Bushaltestellen, Parks, Restaurants, Schulen, Gesamteinrichtungen innerhalb eines bestimmten Radius (für die meisten Einrichtungen wurde ein 1000-Meter-Radius verwendet)
2) Aus der Volkszählung abgeleitet: Zonenkategorie und Bevölkerungsdichte
3) Entfernungsbasiert: Nähe zu nächstgelegener Autobahn, nächstgelegener Hauptstraße, nächstgelegener Nebenstraße, nächstgelegener Wohnstraße, nächstgelegenem Industriegebiet
4) Fußwegenetzstruktur: Anzahl der Kreuzungen, durchschnittlicher Umkreis, durchschnittliche Straßenlänge, durchschnittliche Straßen pro Knoten
Modellentwicklung
Ich trainierte drei maschinelle Lernmodelle: eine Random-Forest-Regression, eine Gradient-Boosting-Regression und eine extreme Gradient-Boosting-Regression. Ich habe jedes dieser Modelle auf zwei Drittel der gesammelten Daten trainiert und das verbleibende Drittel für Tests reserviert.
Die extreme Gradient-Boosting-Regression leistete hervorragende Arbeit bei der Vorhersage des Walk-Scores und erreichte ein R² von 0,95 bei einem Drittel der Testmenge (~2300 Proben). Dieses Modell hatte die beste Genauigkeit im Testsatz (RMSE).
Was steckt in der Black Box?
Der Zweck des Reverse-Engineering der Walk Score-Methode war es, ein Verständnis für die Hauptmerkmale zu erlangen, die in ihre Algorithmen einfließen. Wir wollen wissen, was einen Ort wirklich begehbar macht, nicht nur eine Punktzahl! Bei der Untersuchung der Wichtigkeit der Merkmale des Extreme-Gradient-Boosting-Modells dominierte die Anzahl der Restaurants im Umkreis von 1000 Metern als wichtigstes Merkmal. Weitere wichtige Modellmerkmale waren die Bevölkerungsdichte in einem bestimmten Gebiet, die Anzahl der Einrichtungen insgesamt, die Anzahl der Supermärkte im Umkreis von 1000 Metern und die Entfernung in Metern zum nächsten Gewerbegebiet.
Schlussfolgerung
Der Walk Score ist bereits ein nützliches Entscheidungsinstrument für die Wahl des Wohnorts und die Entwicklung von Immobilien auf der Grundlage der Präferenzen für Fußgänger, Radfahrer und Verkehrsmittel. Jetzt ist es hilfreich, die Methodik des Walk Score zu verstehen und zu wissen, welche Merkmale in die Algorithmen einfließen. Wir kennen jetzt die Faktoren, die einen Ort laut Walk Score begehbar machen.
Das aktuelle Modell wurde innerhalb der Stadtgrenzen von Seattle trainiert, wo die städtischen Merkmale ähnlich sind. Es gibt zusätzliche Merkmale, die gesammelt werden könnten, um die Vorhersagekraft des Walk Score zu verbessern, wie topografische Messungen und Berechnungen der Entfernung zur nächsten Einrichtung. Die Vorhersagen des Modells könnten leicht auf andere Gebiete ausgeweitet werden, da die Walk Score API und die zugrunde liegenden Datenquellen für die Generierung von Merkmalen (US Census, OSMnx, City Zoning, LocationIQ) weithin verfügbar sind.
Code
Der Code für dieses Projekt kann auf meinem GitHub
gefunden werden