Utilisation de l’apprentissage automatique pour construire un score de marchabilité
Je vis à Seattle et j’ai récemment déménagé dans un autre quartier. Selon les algorithmes exclusifs de Walk Score, je suis passé du 9e quartier le plus facile à marcher de Seattle au 30e. Je peux toujours me rendre facilement à pied au café et au coiffeur du coin, mais c’est à peu près tout ! Je peux dire que j’ai déménagé dans un quartier considérablement moins marchable, mais il n’est pas clair comment quantifier l’ampleur ou ce qui entre dans un score de marchabilité.
J’ai précédemment utilisé l’API Walk Score comme source de données pour prédire le regroupement des emplacements de scooters électriques. Walk Score est un site Web qui prend une adresse et calcule une mesure de sa marchabilité sur une échelle de 0 à 100 en utilisant des algorithmes propriétaires et divers flux de données.
En tant que personne qui aime marcher pour se rendre à des endroits (et faire de la randonnée !), je suis devenu curieux de savoir ce qui alimente ces algorithmes propriétaires qui génèrent un score de marchabilité. J’ai entrepris de poser les questions suivantes :
- Les algorithmes propriétaires de Walk Score peuvent-ils être rétroconçus ?
2. Quelles sont les caractéristiques importantes dans la construction d’un score de marchabilité ?
Pour répondre à ces questions, j’ai construit un ensemble de données personnalisé en recueillant un ensemble diversifié de données granulaires de la ville de Seattle et de données API de Walk Score pour former des modèles d’apprentissage automatique afin de prédire un score de marchabilité. J’ai pu former un modèle qui a atteint un R² de 0,95 sur les données de l’ensemble de test. Le R² explique dans quelle mesure la variance de l’ensemble de caractéristiques explique la variance du Walk Score.
En substance, j’ai pu faire de l’ingénierie inverse de la méthodologie Walk Score et recréer les algorithmes propriétaires qui alimentent leur Walk Score. Les caractéristiques les plus importantes pour la marchabilité d’un emplacement sont le nombre de restaurants dans un rayon de 1000 mètres, la densité de population dans ce secteur de recensement, le nombre de supermarchés dans un rayon de 1000 mètres et la proximité en mètres du zonage commercial le plus proche.
Data
J’ai commencé par générer aléatoirement des coordonnées de latitude et de longitude dans la région du Grand Seattle. Une fois armé d’une liste de ~7800 géolocalisations uniques, j’ai exploité l’API Walk Score qui a renvoyé un score de marchabilité pour chaque géolocalisation unique. J’ai ensuite entrepris de collecter des données qui reflétaient la marchabilité des environs d’un emplacement.
Sources de données:
- OSMnx : Package Python qui vous permet de télécharger des géométries spatiales et de modéliser, projeter, visualiser et analyser des réseaux de rues à partir des API d’OpenStreetMap.
- API Walk Score : Renvoie un score de marchabilité pour tout emplacement.
- API LocationIQ : L’API des points d’intérêt (PoI) à proximité renvoie des PoI ou des lieux spécifiés autour d’une coordonnée donnée.
- Zonage de la ville de Seattle : Les districts de zonage spécifient une catégorie d’utilisation (par exemple, résidentiel unifamilial, résidentiel multifamilial, commercial, industriel, etc.)
- Données de recensement de Seattle : Fournit la population et la superficie en miles carrés pour les secteurs de recensement au sein de Census Tracts and Geographic Identifiers
- U.S. Census Geocoder API : Pour une géolocalisation donnée, l’API renvoie les secteurs de recensement et les identificateurs géographiques uniques. Ceci était crucial pour fusionner correctement les données de zonage et de recensement.
Ingénierie des caractéristiques
En raison des limitations des demandes quotidiennes de l’API LocationIQ, j’ai prolongé la phase de collecte des données de deux semaines. Cela m’a laissé avec ~7800 géolocalisations uniques que j’ai ensuite conçues 27 caractéristiques pour former des modèles d’apprentissage automatique pour prédire la marchabilité dans tout Seattle.
Les caractéristiques se répartissent en quatre catégories :
- Fondées sur les commodités : nombre de stations de bus, de parcs, de restaurants, d’écoles, total des commodités dans un rayon donné (un rayon de 1000 mètres a été utilisé pour la plupart des commodités)
2) Dérivé du recensement : catégorie de zonage et densité de population
3) Basé sur la distance : proximité de l’autoroute la plus proche, route primaire la plus proche, route secondaire la plus proche, route résidentielle la plus proche, zonage industriel le plus proche
4) Structure du réseau de marche : nombre d’intersections, circulation moyenne, longueur moyenne des rues, moyenne des rues par nœud
Développement de modèles
J’ai formé trois modèles d’apprentissage automatique : une régression par forêt aléatoire, une régression par boosting de gradient et une régression par boosting de gradient extrême. J’ai entraîné chacun de ces modèles sur les deux tiers des données recueillies et réservé le tiers restant pour les tests.
La régression de boosting de gradient extrême a fait un excellent travail de prédiction du Walk Score, atteignant un R² de 0,95 sur l’ensemble de test d’un tiers (~2300 échantillons). Ce modèle avait la précision (RMSE) de l’ensemble de test la plus performante.
Qu’y a-t-il dans la boîte noire ?
L’objectif de l’ingénierie inverse de la méthodologie Walk Score était de comprendre les caractéristiques clés qui entrent dans leurs algorithmes. Nous voulons savoir ce qui rend réellement un endroit praticable à pied, pas seulement un score ! En examinant l’importance des caractéristiques du modèle de boosting à gradient extrême, le nombre de restaurants situés dans un rayon de 1000 mètres est devenu la caractéristique la plus importante. Les autres caractéristiques importantes du modèle étaient la densité de population dans un secteur de recensement donné, le nombre d’aménagements totaux, le nombre de supermarchés dans un rayon de 1000 mètres et la proximité en mètres du zonage commercial le plus proche.
Conclusion
Le Walk Score est déjà un outil de décision utile sur l’endroit où vivre et développer l’immobilier en fonction des préférences de marche, de vélo et de transport en commun. Il est maintenant utile d’avoir une compréhension de la méthodologie de Walk Score et des caractéristiques qui entrent dans la construction de leurs algorithmes. Nous connaissons maintenant les intrants qui rendent un endroit praticable à pied selon Walk Score.
Le modèle actuel est entraîné dans les limites de la ville de Seattle, où les caractéristiques urbaines sont similaires. Il existe des caractéristiques supplémentaires qui pourraient être collectées pour améliorer le pouvoir prédictif du Walk Score, comme les mesures topographiques et les calculs de distance de l’équipement le plus proche. Les prédictions du modèle pourraient facilement être étendues à d’autres zones, car l’API Walk Score et les sources de données sous-jacentes pour générer des caractéristiques (US Census, OSMnx, City Zoning, LocationIQ) sont largement disponibles.
Code
Le code de ce projet se trouve sur mon GitHub
.