Reverse Engineering the Walk Score Algorithm

, Author

Heatmap of Predicted Walk Scores throughout Seattle, WA

Seattle-ben élek és nemrég költöztem egy másik környékre. A Walk Score saját algoritmusai szerint a 9. legjobban gyalogolható Seattle-i környékről a 30. helyre költöztem. Még mindig könnyedén el tudok sétálni a helyi kávézóba és a fodrászhoz, de ennyi! Meg tudom mondani, hogy egy lényegesen kevésbé járható környékre költöztem, de nem világos, hogyan lehet számszerűsíteni a nagyságrendet, vagy hogy mi számít a járhatósági pontszámba.

Korábban a Walk Score API-t adatforrásként használtam az elektromos robogók helyének klaszterezésének előrejelzésére. A Walk Score egy olyan weboldal, amely egy címet vesz, és egy 0-100-ig terjedő skálán, saját algoritmusok és különböző adatfolyamok segítségével kiszámítja annak gyalogos megközelíthetőségét.

Mint olyan ember, aki szeret gyalogolni, hogy eljusson helyekre (és túrázni!), kíváncsi lettem arra, hogy mi táplálja ezeket a saját algoritmusokat, amelyek a gyalogossági pontszámot generálják. A következő kérdéseket tettem fel:

  1. Meg lehet-e fordítani a saját fejlesztésű Walk Score algoritmusokat?

2. Milyen jellemzők fontosak a járhatósági pontszám kialakításában?

Az említett kérdések megválaszolásához egyéni adathalmazt hoztam létre a Seattle városi adatok és a Walk Score API adatainak sokrétű gyűjtésével, hogy gépi tanulási modelleket képezzek a járhatósági pontszám előrejelzésére. Képes voltam egy olyan modellt képezni, amely 0,95 R² értéket ért el a tesztkészlet adatain. Az R-négyzet azt magyarázza, hogy a jellemzőkészlet szórása milyen mértékben magyarázza a Walk Score szórását.

Lényegében képes voltam visszafejteni a Walk Score módszertanát, és újraalkotni a Walk Score-t működtető saját algoritmusokat. A legfontosabb jellemzők egy helyszín járhatósága szempontjából az 1000 méteren belüli éttermek száma, a népsűrűség az adott népszámlálási körzetben, az 1000 méteren belüli szupermarketek száma és a legközelebbi kereskedelmi övezethez való távolság méterben kifejezve.

A teljes adatvezeték a Walk Score-módszer visszafejtéséhez

Adatok

A szélességi és hosszúsági koordináták véletlenszerű generálásával kezdtem a Greater Seattle területén. Miután felfegyverkeztem a ~7800 egyedi geolokáció listájával, kihasználtam a Walk Score API-t, amely minden egyes egyedi geolokációhoz visszaadta a járhatósági pontszámot. Ezután nekiláttam, hogy összegyűjtsem azokat az adatokat, amelyek tükrözik a helyszín környezetének járhatóságát.

Adatforrások:

  • OSMnx: Python csomag, amely lehetővé teszi a térbeli geometriák letöltését, valamint az OpenStreetMap API-iból származó utcahálózatok modellezését, kivetítését, vizualizálását és elemzését.
  • Walk Score API: Visszaad egy sétálhatósági pontszámot bármely helyhez.
  • LocationIQ API: Nearby Points of Interest (PoI) API visszaadja a megadott PoI-kat vagy helyeket egy adott koordináta körül.
  • Seattle City Zoning:
  • Seattle népszámlálási adatok: Népszámlálási körzetek és földrajzi azonosítók
  • U.S. Census Geocoder API: Az API egy adott földrajzi helyre vonatkozóan visszaadja a népszámlálási körzeteket és az egyedi földrajzi azonosítókat. Ez kulcsfontosságú volt a területrendezési és népszámlálási adatok helyes összevonásához.

Feature Engineering

A LocationIQ API napi kérések korlátozásai miatt két héttel meghosszabbítottam az adatgyűjtési fázist. Ezáltal ~7800 egyedi geolokáció maradt, amelyeket aztán 27 jellemzőt terveztem, hogy gépi tanulási modelleket képezzek a gyalogos járhatóság előrejelzésére Seattle-szerte.

Teljes jellemzőkészlet

A jellemzők négy kategóriára oszlanak:

  1. Amenity-based:

2) Népszámlálásból származtatott: buszmegállók, parkok, éttermek, iskolák száma, összes szolgáltatás egy meghatározott sugarú körben (a legtöbb szolgáltatás esetében 1000 méteres sugarú kört használtak)

2) Népszámlálásból származtatott:

Geolocation Observations Grouped by Zoning Category

3) Distance Based: Közelség a legközelebbi autópályához, legközelebbi főút, legközelebbi mellékút, legközelebbi lakóút, legközelebbi ipari övezeti besorolás

4) Járási hálózat struktúrája: kereszteződések száma, átlagos körforgalom, átlagos utcahossz, átlagos utcák száma csomópontonként

Az OSMnx könyvtár tetején ábrázolt egyetlen geolokáció a Walk Network Structure jellemzőgeneráláshoz

Modellfejlesztés

Három gépi tanulási modellt képeztem ki: Egy random forest regressziót, egy gradiens boosting regressziót és egy extrém gradiens boosting regressziót. Mindegyik modellt az összegyűjtött adatok kétharmadán képeztem ki, a fennmaradó egyharmadot pedig tesztelésre tartottam fenn.

A szélsőséges gradiens boosting modell előrejelzései (R² 0.95) a Walk Score-nak az egyharmados tesztkészlethez képest.

Az extrém gradiens boosting regresszió nagyszerű munkát végzett a Walk Score előrejelzésében, 0,95 R² értéket ért el az egyharmados tesztkészleten (~2300 minta). Ennek a modellnek volt a legjobban teljesítő tesztkészlet pontossága (RMSE).

Mi van a fekete dobozban?

A Walk Score módszertan visszafejtésének célja az volt, hogy megérthessük az algoritmusaikban rejlő legfontosabb jellemzőket. Tudni akarjuk, hogy valójában mi tesz egy helyszínt járhatóvá, nem csak egy pontszám! Az extrém gradiens boosting modell jellemzőinek fontosságát vizsgálva az 1000 méteren belüli éttermek száma dominált, mint a legfontosabb jellemző. További fontos modelljellemzők voltak a népsűrűség egy adott népszámlálási körzetben, az összes szolgáltatás száma, az 1000 méteren belüli szupermarketek száma és a legközelebbi kereskedelmi övezethez való távolság méterben kifejezve.

Az 1000 méteren belüli éttermek, szupermarketek és összes szolgáltatás száma, a népsűrűség és a kereskedelmi övezethez való közelség a legfontosabb jellemzők egy helyszín Walk Score-jának előrejelzésében.

Következtetés

A Walk Score már most is hasznos döntéshozatali eszköz arra vonatkozóan, hogy a gyaloglási, kerékpáros és közlekedési preferenciák alapján hol érdemes lakni és ingatlanokat kialakítani. Most hasznos, ha megértjük a Walk Score módszertanát és azt, hogy milyen jellemzőkkel épülnek fel az algoritmusaik. Most már ismerjük azokat az inputokat, amelyek a Walk Score szerint járhatóvá tesznek egy helyszínt.

A jelenlegi modellt Seattle városának határain belül képezték ki, ahol a városi jellemzők hasonlóak. A Walk Score előrejelző erejének növelése érdekében további jellemzőket lehetne gyűjteni, például topográfiai méréseket és a legközelebbi szolgáltatás távolságának kiszámítását. A modell előrejelzései könnyen kiterjeszthetők más területekre is, mivel a Walk Score API és a jellemzők generálásához szükséges adatforrások (US Census, OSMnx, City Zoning, LocationIQ) széles körben elérhetők.

Kód

A projekt kódja megtalálható a GitHubon

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.