News
WDL – Resolver Problemas Sociais Através de Ciência de Dados
Paulo Maia · 29 de novembro de 2021
Este artigo descreve os pontos principais da minha participação na edição de 2021 da World Data League. A equipa Tech Moguls, composta por mim, Tiago Gonçalves, Tomé Albuquerque e Joana Morgado, do INESC TEC, terminou em segundo lugar nesta edição.
A World Data League (WDL) é uma competição de Ciência de Dados onde equipas de cientistas de dados trabalham para resolver problemas sociais usando dados. Havia vários temas principais – Transportes Públicos, Tráfego, Ciclismo, Ambiente. Cada um foi dividido em 4 sub-temas menores, originando uma Fase de duas semanas por sub-tema.
As finais foram um evento de 3 dias com os 10 melhores finalistas, sobre Poluição Sonora. Todo o código, dados e descrições dos desafios estão disponíveis no gitlab oficial da WDL. Para mais detalhes do que o fornecido aqui, consulte os notebooks ligados abaixo.
A forma como abordamos a resolução de problemas na NILG.AI permitiu-me participar neste desafio. Todo o pipeline de Lean Data Science – criar uma solução inicial, pensar sobre como o utilizador final poderia usá-la, e calcular métricas de negócio além de métricas técnicas – é muito relevante ao desenvolver soluções que geram valor. Neste artigo, mostramos a nossa forma de raciocínio.
Fase 1 – Transportes Públicos
Nesta fase, trabalhámos em modelos de churn em transportes públicos. O dataset continha dois períodos de tempo (incluindo os períodos de confinamento da COVID-19 em Portugal) com o número médio de utilizadores de autocarros por dia agregado por diferentes localizações, género e grupos etários. O objetivo era identificar perfis de churn e propor medidas para reduzi-los.
Para isto, utilizámos uma Decision Tree para prever a probabilidade de um certo segmento aumentar ou diminuir o uso de transportes públicos, ao longo dos dois períodos fornecidos, com variáveis que considerámos relevantes, de forma a criar grupos que pudessem ser usados para explicar o churn. Os ramos da árvore fornecer-nos-iam informações sobre os segmentos e o seu tamanho.
(imagem em resolução superior disponível em https://raw.githubusercontent.com/TiagoFilipeSousaGoncalves/wdl-tech-moguls/main/stage-1/code/decision_tree_v3.svg. Construída com DTreeViz)
Descobrimos dois segmentos com uma propensão elevada para churn:
- O primeiro segmento refere-se a utilizadores do Sul de Portugal, cuja idade não está nos 65+ nem nos 25-34
- O segundo segmento refere-se a utilizadores dos 25-34 distribuídos um pouco por todo o país
As variáveis mais relevantes que explicavam esta diminuição foram:
- Densidade Populacional no Distrito
- Mudança Relativa no Desemprego
- Variabilidade da procura, extraída da matriz Origem-Destino, que pode ser um indicador da facilidade de fluxo que sai de um distrito para as freguesias
- Grupo Etário
Fase 2 – Tráfego
Para a fase 2, trabalhámos em prever o fluxo de tráfego na cidade do Porto usando sensores de indução. Os dados disponíveis incluíam sensores de tráfego, clima e qualidade do ar distribuídos pela cidade, durante três anos.
O gráfico abaixo mostra um exemplo típico do fluxo de tráfego médio na cidade do Porto: diminui durante a noite e começa a aumentar por volta das 04:00/05:00, marcando o momento em que as pessoas iniciam a sua rotina de trabalho. Continua depois a aumentar até às 10:00/11:00 e tem um comportamento aproximadamente estável até ao final do horário de trabalho, 18:00/19:00, começando a diminuir depois.
A nossa solução focou-se em prever o tráfego para 24 horas depois para a cidade do Porto. Utilizámos um XGBoost Classifier com características de clima (atuais e previstas), características de intensidade histórica (por exemplo, intensidade média no passado), características de data (se é feriado/fim de semana no momento da previsão, hora, dia da semana, …) e características da posição dos sensores (distância ao centroide dos sensores).
Isto poderia ser usado, por exemplo, para mudar dinamicamente a frequência dos semáforos dependendo da área e hora do dia.
Esta fase teve outro resultado – a aceitação de um artigo para a SoGood 2021 – A 6ª Conferência sobre Ciência de Dados para o Bem Social (Paulo Maia, Joana Morgado, Tiago Gonçalves e Tomé Albuquerque – Applying Machine Learning for Traffic Forecasting in Porto, Portugal)!
Fase 3 – Ciclismo
Na terceira fase, trabalhámos em (Literalmente) pavimentar o caminho para cidades mais seguras. Neste desafio, tínhamos acesso a imagens do Google Street Maps em Lisboa, em quatro ângulos diferentes (0 – 360º) e o objetivo era estimar uma pontuação de segurança percebida da estrada com base em objetos na imagem.
Etiquetámos um subconjunto de imagens com as seguintes classes:
- Perspetiva irrelevante: sempre que a rua é totalmente visível ou a imagem apenas aponta para uma parede;
- Largura da rua: se um único carro cabe na rua versus se mais de um carro cabe;
- Tipo de Pavimento: paralelo, alcatrão ou terra batida;
- Qualidade do Pavimento (baixa, alta ou média);
Um modelo pré-treinado para deteção de carros foi também usado para contar o número de carros em cada imagem. Isto permitir-nos-ia obter a intensidade de tráfego como um indicador de perigo.
Como exemplo, aqui está um subconjunto de imagens que foram etiquetadas como irrelevantes:
Depois, associámos uma pontuação de risco à presença de cada um destes, e calculámos a média da pontuação para cada ângulo – que poderia ser usada para criar um mapa de risco ao nível da rua.
Os grupos de 4 imagens abaixo mostram pontuações de risco baixo e alto, respetivamente, com base nas nossas regras estabelecidas.
Imagens com as pontuações de risco mais baixas são imagens com tipo de pavimento "alcatrão", onde a qualidade do pavimento é alta (sem fissuras visíveis), e não há carros presentes.
Imagens com as pontuações de risco mais altas são imagens com tipo de pavimento "paralelo", onde aparecem carros.
Fase 4 – Ambiente
Para a quarta fase, trabalhámos em Otimização de publicidade exterior em cidades. As cidades estão inundadas de inúmeros painéis de publicidade exterior, frequentemente com uma distribuição deficiente. Os aspetos visuais são cruciais no processo de planeamento urbano, pois cada escolha de plano pode gerar obstrução de elementos urbanos, produzindo assim efeitos adversos na imagem da cidade.
O dataset continha as coordenadas de vários outdoors, bem como o número médio de visitantes.
A nossa abordagem considerou que poderíamos apenas adicionar ou remover outdoors de uma localização, mas teríamos de os recolocar noutras localizações existentes, pois não sabemos que coordenadas são localizações válidas para outdoors.
Desenvolvemos um algoritmo baseado em meta-heurísticas (busca local/por vizinhança) que otimiza a densidade de outdoors (reduzindo-a) e o número total de vistas (ou seja, o número de outdoors num dado raio – aumentando-o). Começámos criando soluções vizinhas através de operações de troca nas quais mudámos as coordenadas de um dado outdoor e avaliámos o impacto na nossa função de ajustamento, que leva em conta esta variável.
Finais – Poluição Sonora
As finais da WDL tiveram um único desafio – Melhorar a qualidade de vida reduzindo os níveis de ruído da cidade.
Os dados fornecidos eram sobre sensores de ruído na cidade de Turim, Itália, bem como pontos de interesse e reclamações policiais.
Desenvolvemos um XGBoost Classifier explicável capaz de prever a probabilidade de os níveis de ruído excederem o limite legal para o dia seguinte (à mesma hora) na vizinhança. Um modelo foi usado para prever o volume de reclamações. Finalmente, ambos os modelos foram combinados num valor de incómodo esperado: a probabilidade de o ruído exceder o nível limite E causar incómodo (de acordo com valores tabelados na literatura) E causar uma reclamação. Isto torna a decisão muito acionável, pois combina raciocínio para as consequências negativas.
Os utilizadores desta solução poderiam ser as forças policiais locais que, sabendo que numa determinada área no dia seguinte a probabilidade de o nível de ruído exceder o limite é elevada, podem otimizar as patrulhas e organizar as equipas. Este modelo, ao apresentar a possível causa da probabilidade ser elevada, permite à polícia saber antecipadamente o que esperar no local.
Conclusão
Este artigo descreveu a minha participação na competição WDL de 2021 – existe agora um relatório de insights disponível com um resumo de todos os resultados do projeto que pode consultar.
