Engenharia Reversa o Algoritmo de Pontuação da Caminhada

, Author

Mapa de Pontuações Previstas da Caminhada em Seattle, WA

Eu vivo em Seattle e recentemente mudei-me para um bairro diferente. De acordo com os algoritmos proprietários do Walk Score, mudei-me do 9º bairro mais caminhável de Seattle para o 30º. Ainda posso caminhar facilmente para um café e um barbeiro locais, mas é só isso! Eu posso dizer que mudei para um bairro consideravelmente menos acessível, mas não está claro como quantificar a magnitude ou o que vai para uma pontuação de caminhada.

I’ve previously used the Walk Score API as a data source for predicting clustering of electric scooter locations. Walk Score é um site que toma um endereço e calcula uma medida de sua capacidade de caminhada em uma escala de 0-100 usando algoritmos proprietários e vários fluxos de dados.

Como alguém que gosta de caminhar para conseguir lugares (e caminhar!), fiquei curioso sobre o que alimenta esses algoritmos proprietários que geram uma pontuação de capacidade de caminhada. Comecei a fazer as seguintes perguntas:

  1. Posso os algoritmos proprietários de Walk Score ser inversão de engenharia?

2. Que características são importantes na construção de uma pontuação de caminhada?

Para responder a estas perguntas, construí um conjunto de dados personalizados coletando um conjunto diverso de dados granulares da cidade de Seattle e dados da API Walk Score para treinar modelos de aprendizagem de máquinas para prever uma pontuação de caminhada. Consegui treinar um modelo que alcançou um R² de 0,95 em dados de conjuntos de teste. O R-quadrado explica até que ponto a variância do conjunto de recursos explica a variância do Walk Score.

Na essência, eu fui capaz de reverter a metodologia Walk Score e recriar os algoritmos proprietários que alimentam seu Walk Score. As características mais importantes para a capacidade de caminhar de um local são o número de restaurantes dentro de 1000 metros, a densidade populacional dentro desse recenseamento, o número de supermercados dentro de 1000 metros e a proximidade em metros do zoneamento comercial mais próximo.

>

>

O pipeline de dados completos para Engenharia Reversa a Metodologia da Pontuação da Caminhada

Dados

I começou por gerar aleatoriamente coordenadas de latitude e longitude na área da Grande Seattle. Uma vez armado com uma lista de ~7800 geolocações únicas eu aproveitei a Walk Score API que retornou uma pontuação de caminhada para cada geolocalização única. Em seguida, eu me propus a coletar dados que refletissem a capacidade de caminhada da área circundante de um local.

Data Sources:

  • OSMnx: Pacote Python que permite baixar geometrias espaciais e modelar, projetar, visualizar e analisar redes de rua das APIs do OpenStreetMap.
  • Walk Score APIs: Retorna uma pontuação de caminhada para qualquer localização.
  • LocationIQ APIs: A API de Pontos de Interesse Próximos (PoI) retorna PoIs especificados ou locais em torno de uma determinada coordenada.
  • Zoneamento da Cidade de Seattle: Os distritos de zoneamento especificam uma categoria de uso (por exemplo, residencial unifamiliar, residencial multifamiliar, comercial, industrial, etc.)
  • Dados do Censo de Seattle: Fornece população e área em milhas quadradas para traçados censitários dentro de Tractos Censitários e Identificadores Geográficos
  • U.S. Census Geocoder API: Para uma dada geolocalização, o API retorna tractos do Censo e Identificadores Geográficos únicos. Isto foi crucial para fundir corretamente os dados de Zoneamento e Censo.

Engenharia de Características

Due to LocationIQ API limitações de pedidos diários, eu prolonguei a fase de coleta de dados por duas semanas. Isso me deixou com ~7800 geolocações únicas, as quais eu então criei 27 recursos para treinar modelos de aprendizagem de máquinas para prever a capacidade de andar por Seattle.

>

>

Conjunto de recursos completo

Os recursos se dividem em quatro categorias:

    >

  1. Baseado na menidade: número de estações de ônibus, parques, restaurantes, escolas, total de comodidades dentro de um raio especificado (raio de 1000 metros foi usado para a maioria das comodidades)
  2. >

2) Derivado do censo: Categoria de zoneamento e densidade populacional

Observações de localização agrupadas por categoria de zoneamento

3) Baseado na distância: proximidade da rodovia mais próxima, estrada primária mais próxima, estrada secundária mais próxima, estrada residencial mais próxima, zoneamento industrial mais próximo

4) Estrutura da Rede de Caminhadas: contagem de intersecções, média de circuíto, média de comprimento da rua, média de ruas por nó

>

>

>

>

>

Um único geolocalização plotado no topo da biblioteca OSMnx para a geração de recursos da Estrutura da Rede de Caminhadas
>

>

Desenvolvimento de Modelos

>

Eu treinei três modelos de aprendizagem de máquinas: uma regressão de floresta aleatória, uma regressão de aumento de gradiente e uma regressão de aumento de gradiente extremo. Treinei cada um desses modelos em dois terços dos dados coletados e reservei o terço restante para testes.

Previsão do modelo de reforço de gradiente extremo (R² de 0.95) de Walk Score contra o conjunto de teste de um terço.

A regressão de reforço de gradiente extremo fez um ótimo trabalho de previsão do Walk Score, alcançando um R² de 0,95 no conjunto de teste de um terço (~2300 amostras). Este modelo teve o melhor desempenho na precisão do conjunto de testes (RMSE).

O que está na caixa preta?

O propósito da engenharia reversa a metodologia Walk Score foi ganhar uma compreensão das características chave que vão para os seus algoritmos. Nós queremos saber o que realmente torna um local passível de caminhada, não apenas uma pontuação! Examinando a importância da característica do modelo de aumento do gradiente extremo, o número de restaurantes dentro de 1000 metros dominou como a característica mais importante. Outras características importantes do modelo foram a densidade populacional em um determinado trecho do censo, a contagem do total de amenidades, o número de supermercados dentro de 1000 metros e a proximidade em metros do zoneamento comercial mais próximo.

O número de restaurantes, supermercados e o total de comodidades dentro de 1000 metros, a densidade populacional e a proximidade do zoneamento comercial são as características mais importantes para prever a pontuação de um local no Walk Score.

Conclusão

O Walk Score já é uma ferramenta útil para a tomada de decisões sobre onde morar e desenvolver imóveis com base nas preferências de caminhada, ciclismo e trânsito. Agora é útil ter uma compreensão da metodologia de Walk Score e quais as características que vão na construção dos seus algoritmos. Agora sabemos os inputs que tornam um local caminhável de acordo com o Walk Score.

O modelo atual é treinado dentro dos limites da cidade de Seattle, onde as características urbanas são semelhantes. Há características adicionais que poderiam ser coletadas para melhorar o poder preditivo do Walk Score, tais como medidas topográficas e cálculos de distância de amenidade mais próxima. As previsões do modelo poderiam facilmente ser expandidas para outras áreas, já que o Walk Score API e as fontes de dados subjacentes para gerar recursos (US Census, OSMnx, City Zoning, LocationIQ) estão amplamente disponíveis.

Code

O código para este projeto pode ser encontrado no meu GitHub

Deixe uma resposta

O seu endereço de email não será publicado.