Mapa de Pontuações Previstas da Caminhada em Seattle, WAEu 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:
- 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.
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.
>
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