Ingeniería inversa del algoritmo de Walk Score

, Author

Heatmap of Predicted Walk Scores throughout Seattle, WA

Vivo en Seattle y recientemente me he mudado a un barrio diferente. Según los algoritmos patentados de Walk Score, me he trasladado del 9º barrio más transitable de Seattle al 30º. Todavía puedo ir a pie a una cafetería y a un barbero, pero eso es todo. Puedo decir que me he trasladado a un barrio considerablemente menos transitable, pero no está claro cómo cuantificar la magnitud o lo que entra en una puntuación de transitabilidad.

He utilizado previamente la API de Walk Score como una fuente de datos para predecir la agrupación de ubicaciones de scooters eléctricos. Walk Score es un sitio web que toma una dirección y calcula una medida de su transitabilidad en una escala de 0 a 100 utilizando algoritmos propios y varios flujos de datos.

Como alguien que disfruta caminando para llegar a los sitios (¡y haciendo senderismo!), he sentido curiosidad por saber qué es lo que alimenta estos algoritmos propios que generan una puntuación de transitabilidad. Me propuse hacer las siguientes preguntas:

  1. ¿Se puede aplicar ingeniería inversa a los algoritmos patentados de Walk Score?

2. ¿Qué características son importantes en la construcción de una puntuación de transitabilidad?

Para responder a estas preguntas, construí un conjunto de datos personalizado mediante la recopilación de un conjunto diverso de datos granulares de la ciudad de Seattle y datos de la API de Walk Score para entrenar modelos de aprendizaje automático para predecir una puntuación de transitabilidad. Pude entrenar un modelo que alcanzó un R² de 0,95 en los datos del conjunto de pruebas. El R-cuadrado explica la medida en que la varianza del conjunto de características explica la varianza de la puntuación de caminabilidad.

En esencia, fui capaz de hacer ingeniería inversa a la metodología de Walk Score y recrear los algoritmos patentados que impulsan su puntuación de caminabilidad. Las características más importantes para la transitabilidad de un lugar son el número de restaurantes en un radio de 1000 metros, la densidad de población en ese tramo censal, el número de supermercados en un radio de 1000 metros y la proximidad en metros a la zona comercial más cercana.

La cadena completa de datos para la ingeniería inversa de la metodología de la puntuación a pie

Datos

Empecé generando aleatoriamente coordenadas de latitud y longitud en el área del Gran Seattle. Una vez armado con una lista de ~7800 geolocalizaciones únicas, aproveché la API de Walk Score, que devolvió una puntuación de transitabilidad para cada geolocalización única. A continuación, me dispuse a recopilar datos que reflejaran la transitabilidad de la zona circundante de un lugar.

Fuentes de datos:

  • OSMnx: Paquete de Python que permite descargar geometrías espaciales y modelar, proyectar, visualizar y analizar redes de calles a partir de las API de OpenStreetMap.
  • Walk Score API: Devuelve una puntuación de transitabilidad para cualquier ubicación.
  • LocationIQ API: La API de puntos de interés cercanos (PoI) devuelve los PoIs o lugares especificados alrededor de una coordenada dada.
  • Zonificación de la ciudad de Seattle: Los distritos de zonificación especifican una categoría de uso (por ejemplo, residencial unifamiliar, residencial multifamiliar, comercial, industrial, etc.)
  • Datos del censo de Seattle: Proporciona la población y el área en millas cuadradas para los tramos censales dentro de Census Tracts and Geographic Identifiers
  • U.S. Census Geocoder API: Para una geolocalización determinada, la API devuelve tramos censales e identificadores geográficos únicos. Esto fue crucial para fusionar correctamente los datos de la Zonificación y del Censo.

Ingeniería de características

Debido a las limitaciones de solicitudes diarias de la API de LocationIQ, prolongué la fase de recopilación de datos durante dos semanas. Esto me dejó con ~7800 geolocalizaciones únicas que luego diseñé 27 características para entrenar modelos de aprendizaje automático para predecir la transitabilidad en todo Seattle.

Conjunto completo de características

Las características se dividen en cuatro categorías:

  1. Basado en los servicios: número de estaciones de autobús, parques, restaurantes, escuelas, total de servicios en un radio determinado (se utilizó un radio de 1.000 metros para la mayoría de los servicios)

2) Derivados del censo: categoría de zonificación y densidad de población

Observaciones de geolocalización agrupadas por categoría de zonificación

3) Basado en la distancia: proximidad a la autopista más cercana, carretera primaria más cercana, carretera secundaria más cercana, carretera residencial más cercana, zonificación industrial más cercana

4) Estructura de la Red de Caminos: recuento de intersecciones, promedio de circuitos, promedio de longitud de calles, promedio de calles por nodo

Una única geolocalización trazada sobre la biblioteca OSMnx para la generación de características de la Estructura de la Red de Caminos

Desarrollo de modelos

Entrené tres modelos de aprendizaje automático: una regresión de bosque aleatorio, una regresión de refuerzo de gradiente y una regresión de refuerzo de gradiente extrema. Entrené cada uno de estos modelos en dos tercios de los datos recogidos y reservé el tercio restante para las pruebas.

Predicciones del modelo de refuerzo de gradiente extremo (R² de 0.95) de la puntuación de la caminata contra el conjunto de pruebas de un tercio.

La regresión de refuerzo de gradiente extremo hizo un gran trabajo de predicción de la puntuación de la caminata, logrando un R² de 0,95 en el conjunto de pruebas de un tercio (~2300 muestras). Este modelo tuvo el mejor rendimiento en la precisión del conjunto de pruebas (RMSE).

¿Qué hay en la caja negra?

El propósito de la ingeniería inversa de la metodología de Walk Score fue obtener una comprensión de las características clave que van en sus algoritmos. Queremos saber qué es lo que realmente hace que un lugar sea transitable, no sólo una puntuación. Al examinar la importancia de las características del modelo de refuerzo de gradiente extremo, el número de restaurantes en un radio de 1.000 metros fue la característica más importante. Otras características importantes del modelo fueron la densidad de población en una zona censal determinada, el recuento de servicios totales, el número de supermercados en un radio de 1000 metros y la proximidad en metros a la zona comercial más cercana.

El número de restaurantes, supermercados y servicios totales en un radio de 1000 metros, la densidad de población y la proximidad a la zona comercial son las características más importantes para predecir la puntuación a pie de un lugar.

Conclusión

La puntuación a pie ya es una herramienta útil para tomar decisiones sobre dónde vivir y desarrollar la actividad inmobiliaria en función de las preferencias de caminar, ir en bicicleta y utilizar el transporte público. Ahora es útil tener una comprensión de la metodología de Walk Score y qué características entran en la construcción de sus algoritmos. Ahora conocemos los datos que hacen que un lugar sea transitable según Walk Score.

El modelo actual está entrenado dentro de los límites de la ciudad de Seattle, donde las características urbanas son similares. Hay características adicionales que podrían recogerse para mejorar el poder de predicción de la puntuación a pie, como las mediciones topográficas y los cálculos de la distancia a los servicios más cercanos. Las predicciones del modelo podrían ampliarse fácilmente a otras zonas, ya que la API de Walk Score y las fuentes de datos subyacentes para generar características (US Census, OSMnx, City Zoning, LocationIQ) están ampliamente disponibles.

Código

El código de este proyecto puede encontrarse en mi GitHub

Deja una respuesta

Tu dirección de correo electrónico no será publicada.