Reverse Engineering the Walk Score Algorithm

, Author

Heatmap of Predicted Walk Scores throughout Seattle, WA

Asun Seattlessa, WA

Asun Seattlessa, ja olen hiljattain muuttanut toiseen kaupunginosaan. Walk Scoren omien algoritmien mukaan muutin Seattlen 9. käveltävimmästä kaupunginosasta 30. kaupunginosaan. Kävelen edelleen helposti paikalliseen kahvilaan ja parturiin, mutta siihen se sitten jääkin! Voin sanoa, että olen muuttanut huomattavasti huonommin käveltävään asuinalueeseen, mutta on epäselvää, miten kvantifioida suuruusluokkaa tai mitä käveltävyyspistemäärään kuuluu.

Olen aiemmin käyttänyt Walk Score API:ta tietolähteenä sähköskootterien sijaintien klusteroitumisen ennustamiseen. Walk Score on verkkosivusto, joka ottaa osoitteen ja laskee sen käveltävyyden mittarin asteikolla 0-100 käyttäen omia algoritmeja ja erilaisia tietovirtoja.

Kuten joku, joka nauttii kävelemisestä paikasta toiseen (ja vaeltamisesta!), olen tullut uteliaaksi siitä, mikä ruokkii näitä omia algoritmeja, jotka tuottavat käveltävyyspisteet. Lähdin kysymään seuraavia kysymyksiä:

  1. Voidaanko patentoituja Walk Score -algoritmeja kääntää takaisinpäin?

2. Mitkä ominaisuudet ovat tärkeitä kävelykelpoisuuspistemäärän muodostamisessa?

Vastaakseni näihin kysymyksiin rakensin räätälöidyn tietokokonaisuuden keräämällä monipuolista rakeista Seattlen kaupunkitietoa ja Walk Score API -dataa kouluttaakseni koneellisen oppimisen malleja, joilla voidaan ennustaa kävelykelpoisuussuhteen pistemäärä. Pystyin kouluttamaan mallin, joka saavutti R²-arvon 0,95 testijoukon datalla. R-neliö selittää, missä määrin ominaisuusjoukon varianssi selittää Walk Score -pistemäärän varianssia.

Pohjimmiltaan pystyin käänteismallintamaan Walk Score -menetelmän ja luomaan uudelleen omat algoritmit, jotka käyttävät Walk Score -pistemäärää. Sijainnin käveltävyyden kannalta tärkeimpiä ominaisuuksia ovat ravintoloiden määrä 1000 metrin säteellä, väestötiheys kyseisellä väestötiheydellä, supermarkettien määrä 1000 metrin säteellä ja etäisyys metreinä lähimpään kaupalliseen kaavoitukseen.

The Full Data Pipeline for Reverse Engineering the Walk Score Methodology

Data

Aloitin generoimalla satunnaisotannalla Greater Seattlen alueella sijaitsevia leveys- ja pituuspiirejä. Saatuani luettelon ~7800 ainutlaatuisesta maantieteellisestä sijainnista käytin Walk Score API:ta, joka palautti kullekin ainutlaatuiselle maantieteelliselle sijainnille käveltävyyspistemäärän. Tämän jälkeen lähdin keräämään tietoja, jotka kuvastavat sijainnin ympäröivän alueen käveltävyyttä.

Tietolähteet:

  • OSMnx: Python-paketti, jonka avulla voit ladata paikkatietogeometrioita ja mallintaa, projisoida, visualisoida ja analysoida katuverkkoja OpenStreetMapin API:sta.
  • Walk Score API: Palauttaa käveltävyyspisteet mille tahansa paikalle.
  • LocationIQ API: Nearby Points of Interest (PoI) API palauttaa määritellyt PoI:t tai paikat tietyn koordinaatin ympärillä.
  • Seattle City Zoning:
  • Seattle Census Data: Tarjoaa väestömäärän ja pinta-alan neliökilometreinä Census Tracts and Geographic Identifiers -alueilla
  • U.S. Census Geocoder API: Tietyn maantieteellisen sijainnin osalta API palauttaa Census tracts ja yksilölliset maantieteelliset tunnisteet. Tämä oli ratkaisevan tärkeää, jotta kaavoitus- ja väestönlaskentatiedot voitiin yhdistää oikein.

Feature Engineering

LocationIQ API:n päivittäisten pyyntöjen rajoitusten vuoksi pidensin tiedonkeruuvaihetta kahdella viikolla. Tämä jätti minulle ~7800 ainutlaatuista geolokaatiota, jotka sitten suunnittelin 27 ominaisuutta kouluttaakseni koneoppimismalleja, joilla ennustetaan käveltävyyttä koko Seattlessa.

Täydellinen ominaisuusjoukko

Ominaisuudet jakautuvat neljään kategoriaan:

  1. Amenity-based:

2) Census Derived:

Geolokaatiohavainnot ryhmiteltynä kaavoitusluokan mukaan

3) Etäisyyteen perustuva: läheisyys lähimpään valtatiehen, lähimpään ensisijaiseen tiehen, lähimpään toissijaiseen tiehen, lähimpään asuintiehen, lähimpään teollisuuskaavoitukseen

4) Kävelyverkon rakenne: risteysten määrä, keskimääräinen kiertonopeus, katujen keskimääräinen pituus, keskimääräiset kadut solmua kohti

Yksittäinen maantieteellinen sijainti piirrettynä OSMnx-kirjaston päälle Walk Network Structure -ominaisuuksien luomiseksi

Mallien kehittely

Kouluttamani mallit muodostettiin kolmella koneellisella oppimisella: satunnaismetsäregressiota, gradienttiboosting-regressiota ja äärimmäistä gradienttiboosting-regressiota. Koulutin kutakin näistä malleista kahdella kolmasosalla kerätystä datasta ja varasin loput kolmanneksen testausta varten.

Extreme gradient boosting -mallin ennusteet (R² 0.95) Kävelypistemäärälle yhden kolmasosan testijoukkoa vastaan.

Extreme gradient boosting -regressiomalli teki hyvää työtä Kävelypistemäärän ennustamisessa, sillä se saavutti R²-arvon 0,95 yhden kolmasosan testijoukossa (~2300 näytettä). Tällä mallilla oli paras testisarjan tarkkuus (RMSE).

Mitä mustassa laatikossa on?

Kävelypistemittausmenetelmän käänteissuunnittelun tarkoituksena oli saada käsitys niiden algoritmeihin sisältyvistä keskeisistä ominaisuuksista. Haluamme tietää, mikä todella tekee paikasta kävelykelpoisen, ei pelkkä pistemäärä! Tarkastelemalla ominaisuuden tärkeyttä extreme gradient boosting -mallissa, ravintoloiden määrä 1000 metrin säteellä hallitsi tärkeimpänä ominaisuutena. Muita tärkeitä malliominaisuuksia olivat väestötiheys tietyssä väestölaskentakorttelissa, palveluiden kokonaismäärä, supermarkettien määrä 1000 metrin säteellä ja etäisyys lähimpään kaupalliseen alueeseen metreinä.

Ravintoloiden, supermarkettien ja kokonaisviihtyvyyspalveluiden määrä 1000 metrin säteellä, väestötiheys ja läheisyys lähimpään kaupalliseen kaavoitukseen ovat tärkeimpiä piirteitä ennustettaessa sijaintipaikan kävelypistemäärää.

Johtopäätös

Kävelypistemäärä on jo nyt käyttökelpoinen päätöksentekoväline siitä, missä asua ja kehittää kiinteistöjä kävelyn, pyöräilyn ja joukkoliikenteen mieltymysten perusteella. Nyt on hyödyllistä ymmärtää Walk Score -menetelmiä ja sitä, mitä ominaisuuksia niiden algoritmien rakentamisessa käytetään. Tiedämme nyt panokset, jotka tekevät paikasta Walk Scoren mukaan kävelykelpoisen.

Nykyinen malli on koulutettu Seattlen kaupungin rajojen sisällä, jossa kaupunkien ominaisuudet ovat samanlaiset. On olemassa lisäominaisuuksia, joita voitaisiin kerätä Walk Scoren ennustusvoiman lisäämiseksi, kuten topografiset mittaukset ja lähimpien palveluiden etäisyyslaskelmat. Mallin ennusteita voidaan helposti laajentaa muille alueille, koska Walk Score API ja taustalla olevat tietolähteet ominaisuuksien tuottamiseksi (US Census, OSMnx, City Zoning, LocationIQ) ovat laajalti saatavilla.

Koodi

Tämän projektin koodi löytyy GitHubistani

.

Vastaa

Sähköpostiosoitettasi ei julkaista.