Reverse Engineering the Walk Score Algorithm

, Author

Heatmap of Predicted Walk Scores throughout Seattle, WA

Mieszkam w Seattle i ostatnio przeprowadziłem się do innej dzielnicy. Według zastrzeżonych algorytmów Walk Score, przeniosłem się z 9. najbardziej przyjaznej dla pieszych dzielnicy Seattle na 30. Nadal mogę z łatwością chodzić do lokalnej kawiarni i fryzjera, ale to wszystko! Mogę powiedzieć, że przeniosłem się do znacznie mniej chodliwej dzielnicy, ale nie jest jasne, jak określić wielkość lub co wchodzi w skład wyniku walkibility.

Wcześniej użyłem Walk Score API jako źródła danych do przewidywania grupowania lokalizacji skuterów elektrycznych. Walk Score to strona internetowa, która pobiera adres i oblicza miarę jego chodliwości w skali od 0-100, używając zastrzeżonych algorytmów i różnych strumieni danych.

Jako ktoś, kto lubi chodzić pieszo, aby dotrzeć do miejsc (i wędrować!), stałem się ciekawy, co napędza te zastrzeżone algorytmy, które generują wynik chodliwości. Postanowiłem zadać następujące pytania:

  1. Czy zastrzeżone algorytmy Walk Score można poddać inżynierii wstecznej?

2. Jakie cechy są ważne w tworzeniu wyniku walkibility?

Aby odpowiedzieć na te pytania, zbudowałem niestandardowy zestaw danych, zbierając zróżnicowany zestaw szczegółowych danych miejskich Seattle i danych Walk Score API, aby wytrenować modele uczenia maszynowego do przewidywania wyniku walkibility. Udało mi się wytrenować model, który osiągnął R² równe 0,95 na danych z zestawu testowego. R-squared wyjaśnia, w jakim stopniu wariancja zestawu cech wyjaśnia wariancję Walk Score.

W zasadzie, byłem w stanie odwrócić inżynierię metodologii Walk Score i odtworzyć zastrzeżone algorytmy, które zasilają ich Walk Score. Najważniejszymi cechami wpływającymi na możliwość chodzenia w danej lokalizacji są: liczba restauracji w promieniu 1000 metrów, gęstość zaludnienia w danym obwodzie spisowym, liczba supermarketów w promieniu 1000 metrów oraz odległość w metrach do najbliższej strefy komercyjnej.

The Full Data Pipeline for Reverse Engineering the Walk Score Methodology

Data

Zacząłem od losowego wygenerowania współrzędnych szerokości i długości geograficznej na obszarze Wielkiego Seattle. Po uzbrojeniu się w listę ~7800 unikalnych geolokalizacji wykorzystałem Walk Score API, które zwróciło wynik walkibility dla każdej unikalnej geolokalizacji. Następnie postanowiłem zebrać dane, które odzwierciedlały możliwość chodzenia w otoczeniu danej lokalizacji.

Źródła danych:

  • OSMnx: Pakiet Pythona umożliwiający pobieranie geometrii przestrzennej oraz modelowanie, projektowanie, wizualizację i analizę sieci ulic z interfejsów API OpenStreetMap.
  • Walk Score API: Zwraca wynik łatwości poruszania się dla dowolnej lokalizacji.
  • LocationIQ API: API Nearby Points of Interest (PoI) zwraca określone PoI lub miejsca wokół danej współrzędnej.
  • Seattle City Zoning: Okręgi strefowe określają kategorię użytkowania (np. mieszkalne jednorodzinne, mieszkalne wielorodzinne, handlowe, przemysłowe itd.)
  • Dane Spisu Powszechnego Seattle: Zapewnia populację i obszar w milach kwadratowych dla okręgów spisowych w ramach Census Tracts and Geographic Identifiers
  • U.S. Census Geocoder API: Dla danej geolokalizacji, API zwraca trakty spisu powszechnego i unikalne identyfikatory geograficzne. Było to kluczowe dla prawidłowego połączenia danych strefowych i danych spisu ludności.

Inżynieria funkcji

Z powodu ograniczeń dziennych żądań LocationIQ API, przedłużyłem fazę zbierania danych o dwa tygodnie. Dzięki temu uzyskałem ~7800 unikalnych geolokalizacji, które następnie wykorzystałem do opracowania 27 cech, aby wytrenować modele uczenia maszynowego do przewidywania możliwości chodzenia po Seattle.

Pełny zestaw cech

Cechy dzielą się na cztery kategorie:

  1. Na podstawie miejscowości: liczba stacji autobusowych, parków, restauracji, szkół, całkowita liczba udogodnień w określonym promieniu (dla większości udogodnień zastosowano promień 1000 metrów)

2) Census Derived: zoning category and population density

Geolocation Observations Grouped by Zoning Category

3) Distance Based: bliskość najbliższej autostrady, najbliższej drogi podstawowej, najbliższej drogi drugorzędnej, najbliższej drogi mieszkalnej, najbliższej strefy przemysłowej

4) Struktura sieci pieszej: intersection count, average circuity, street length average, average streets per node

Pojedyncza geolokalizacja naniesiona na wierzch biblioteki OSMnx do generowania cech Walk Network Structure

Rozwój modelu

Wyszkoliłem trzy modele uczenia maszynowego: regresję random forest, regresję gradient boosting oraz regresję extreme gradient boosting. Wyszkoliłem każdy z tych modeli na dwóch trzecich zebranych danych i zarezerwowałem pozostałą jedną trzecią do testowania.

Prognozy modelu ekstremalnego wzmocnienia gradientowego (R² równe 0.95) dla Walk Score na zbiorze testowym jednej trzeciej.

Regresja ekstremalnego gradientu boostingu wykonała świetną pracę przy przewidywaniu Walk Score, osiągając R² równe 0,95 na zbiorze testowym jednej trzeciej (~2300 próbek). Model ten miał najlepszą dokładność zestawu testowego (RMSE).

Co jest w czarnej skrzynce?

Celem inżynierii wstecznej metodologii Walk Score było uzyskanie zrozumienia kluczowych cech, które wchodzą w skład ich algorytmów. Chcemy wiedzieć, co tak naprawdę sprawia, że dana lokalizacja nadaje się do chodzenia, a nie tylko jaki jest jej wynik! Badając ważność cech w modelu ekstremalnego gradientu boostingu, liczba restauracji w promieniu 1000 metrów dominowała jako najważniejsza cecha. Innymi ważnymi cechami modelu były gęstość zaludnienia w danym obwodzie, liczba wszystkich udogodnień, liczba supermarketów w promieniu 1000 metrów oraz bliskość w metrach do najbliższej strefy komercyjnej.

Liczba restauracji, supermarketów i wszystkich udogodnień w promieniu 1000 metrów, gęstość zaludnienia i bliskość strefy komercyjnej to najważniejsze cechy pozwalające przewidzieć Walk Score danej lokalizacji.

Wniosek

Wynik Walk Score jest już użytecznym narzędziem do podejmowania decyzji o miejscu zamieszkania i rozwoju nieruchomości w oparciu o preferencje dotyczące poruszania się pieszo, rowerem i tranzytem. Teraz pomocne jest zrozumienie metodologii Walk Score i jakie cechy wchodzą w skład ich algorytmów. Obecnie znamy dane wejściowe, które sprawiają, że dana lokalizacja nadaje się do chodzenia według Walk Score.

Obecny model jest szkolony w granicach miasta Seattle, gdzie cechy miejskie są podobne. Istnieją dodatkowe cechy, które mogłyby zostać zebrane w celu zwiększenia mocy predykcyjnej Walk Score, takie jak pomiary topograficzne i obliczenia odległości do najbliższego udogodnienia. Przewidywania modelu można łatwo rozszerzyć na inne obszary, ponieważ API Walk Score i podstawowe źródła danych do generowania cech (US Census, OSMnx, City Zoning, LocationIQ) są szeroko dostępne.

Kod

Kod tego projektu można znaleźć na moim GitHubie

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.