L’intelligence artificielle pour la distanciation sociale dans le métro de Montréal 10 minutes

L’apprentissage machine pour faciliter la distanciation sociale et minimiser la propagation de la COVID-19 dans le réseau du métro de Montréal.

La Société de transport de Montréal (STM) assure quelque 1,3 million de déplacements par jour grâce à un réseau de métro de 71 km réparti sur quatre 4 lignes et composé de 68 stations, combiné à un réseau de 225 lignes de bus.

Elle emploie plus de 10 000 personnes, ce qui en fait la 15e entreprise en importance au Québec. La STM assure plus de 80 % des déplacements en transport collectif dans la région de Montréal et plus de 70 % de tous ceux qui sont effectués au Québec.

Plan du métro de Montréal

Véritable colonne vertébrale de la ville, le métro est un moyen de transport extrêmement populaire et est prisé par les montréalais… puis, survient la pandémie de COVID-19 en mars 2020.

Le confinement général décrété par le Gouvernement du Québec, combiné au télétravail généralisé qui s’en est suivi pour plusieurs montréalais ont fait en sorte que le métro s’est littéralement vidé de ses voyageurs.

Comme bien des entreprises, la STM a subitement perdu la grande majorité de sa clientèle du jour au lendemain dans son réseau bus et métro. Elle a donc rapidement dû réagir face à cette nouvelle réalité et composer avec de nouveaux défis immensément complexes.

Elle doit désormais veiller au respect des règles sanitaires, comme le port du couvre-visage et le respect de la distanciation de deux mètres entre les clients dans le réseau du métro et des bus dans la mesure du possible.

Cette distanciation est plus simple à respecter lorsque le métro est vide, mais comment composer avec ces règles lors de l’inévitable retour au travail en pleine pandémie et le mirage du retour aux voitures de train bondées? Comment gagner la confiance des usagers tout en fournissant des outils pour assurer leur retour dans ses installations en toute sécurité?

Et pourquoi ne pas prédire l’achalandage pour permettre aux clients de se diriger vers les voitures de trains moins occupées grâce à de l’apprentissage machine?

Accompagnement technique et réalisation d’algorithme

La STM a fait appel à Moov AI pour les accompagner dans la réalisation d’un projet d’apprentissage machine pour prédire le trafic dans les voitures de train afin de mieux respecter la distanciation sociale et ainsi minimiser la propagation du virus dans le réseau de métro.

La finalité du projet pour la STM est d’informer la clientèle sur le nombre de passagers présents dans les trains de la ligne orange du métro. Ces données seront affichées à la fois dans le site web et sur les écrans Métrovision qui affichent les informations sur les quais dans les stations du métro.

Le trafic prédit dans chaque voiture de train est affiché et les passagers peuvent se positionner devant les bonnes portes et choisir les voitures moins remplies.

Très rapidement nous avons vu deux besoins distincts et donc séparé le projet en deux modèles différents : le modèle « journalier » et le modèle « temps réel ».

  1. Le modèle « journalier » aura comme tâche de donner le niveau « d’entassement » pour chaque station, chaque heure, pour la semaine suivante
  2. Le modèle « temps réel » quant à lui donnera le niveau « d’entassement  » pour chaque station, à chaque minute, pour les 15 prochaines minutes

Dans les faits, nous avons accompagné et conseillé les spécialistes et développeurs de données de la STM dans la réalisation du modèle « journalier » et avons été mandatés pour réaliser l’entièreté du travail sur le modèle « temps réel », qui fait l’objet de ce texte.

Prédire l'achalendage dans le métro de Montréal avec l'IA

Comment calculer l’achalandage

Notre équipe de spécialistes a donc utilisé l’apprentissage machine pour prédire le nombre de passagers pour chaque station de la ligne orange, à toutes les minutes, dans un horizon de 15 minutes.

Pour construire l’ensemble de données dont nous avions besoin pour réaliser les prédictions, nous avons utilisé les sources dites « en temps réel » fournies par la télémétrie des voitures de train, qui sont équipées d’une quantité phénoménale de capteurs en tout genre qui fournissent des données chaque minute.

Afin d’évaluer le nombre de passagers dans les voitures de train, nous avons utilisé les capteurs de charge qui calculent le poids des voitures. Logiquement, une voiture plus lourde aura plus de passagers. Ces données sont ultra précises et nous ont permis d’arriver à une marge d’erreur de trois passagers.

Par ailleurs, nous avons été en mesure de calculer (et de prédire) le nombre de gens se trouvant dans chacune des voitures de train, à chaque station.

Prévision de séries chronologiques

Dans ce projet, nous avons fait face à un problème supervisé de régression, plus précisément, un cas d’utilisation de série chronologique (time series)

Permettez-nous un petit moment vulgarisation

« Problème supervisé de régression […] série chronologique ».

– Les scientifiques de données de Moov AI

Pour bien comprendre cette phrase, permettez-moi d’expliquer certains concepts :

  • L’étiquette (ou label en anglais) est le résultat d’une prédiction, la « réponse » de l’algorithme. Dans le cas qui nous préoccupe, l’étiquette est le nombre de passagers.
  • Régression : à sa plus simple expression, une régression est une technique utilisée pour prédire un chiffre.

Donc, nous avons utilisé les données du passé pour prédire un chiffre, et comme le label est connu dans l’ensemble de données, nous avons affaire à un problème supervisé de régression.

Nous parlons de série temporelle (time series) simplement parce que la séquence d’observations est prise successivement dans le temps : nous savons combien de passagers se trouvent dans les voitures de train à des moments précis dans le temps.

Les principaux challenges que nous avons dû surmonter

Évidemment, comme chaque projet d’innovation, celui-ci nous a envoyé quelques balles courbes.

1) Énorme défi de préparation de données

On dit souvent qu’en science de données, 80% du temps est passé à trouver, nettoyer et organiser les données. Le 20% restant est dédié à l’analyse. C’est donc dire que le plus gros du travail en science de données se fait autour… des données!

Les données « en temps réel » des voitures de train Azur sont prises sur chaque train chaque minute. Comme cette donnée est prise aléatoirement, le train peut être en accélération, en décélération, ou complètement arrêté ce qui fait en sorte que la donnée des capteurs de charge est très volatile.

En raison du temps de passage variable des trains (2-5-7-10 minutes), nous avons dû utiliser des techniques d’interpolation et d’imputation pour contrer la volatilité et combler les intervalles de données « manquantes » afin d’entraîner le modèle. Nos développeurs de données ont mis beaucoup d’emphase sur le prétraitement des données et la création de scripts ETL.

2) La solution mise en place devait fournir des prédictions très rapidement.

Étant donné que nous voulions des prédictions chaque minute, le système devait fournir un très bon niveau de performance.

La base d’un système performant implique une architecture et du code performant. Pour ce faire, nous avons utilisé de puissantes machines virtuelles sur la plateforme Cloud Microsoft Azure.

Nous avons aussi veillé à la performance du système dans la préparation de données et la façon dont nous avons utilisé les variables pour alimenter le modèle.

En effet, pour un système qui prédit une fois par minute, il est important d’aller à l’essentiel, sinon ce dernier prendra trop de temps à prédire. C’est une fine ligne à atteindre afin d’avoir de bonnes prédictions dans un système performant.

L’inévitable dérive dans les données (data drift)

La dérive de données est un changement dans les données, entre les données qui ont servi à entraîner le modèle et les données réelles.

Prenons l’exemple d’un modèle qui prédit « chat » ou « chien » et a été entraîné à l’aide d’images de chats et de chiens. Une fois mis en production sur un site web, si les usagers lui donnent des photos de fleurs, la prédiction ne sera pas bonne. Non pas parce que le modèle n’est pas bon, mais parce que les données présentées ne sont pas les mêmes.

La même dérive se produit avec les données en format texte ou numérique. Elle peut se produire pour plusieurs raisons :

  • Changement dans les données d’entrée par un système (ex : la compagnie des capteurs de charge change son implémentation)
  • Changement dans le traitement des données dans le système (ex : les ingénieurs de la STM décident de modifier des paramètres du capteur de charge)
  • Changement dans le comportement des utilisateurs du métro (ex : la pandémie de COVID-19 réduit du jour au lendemain de 70% les passagers dans le métro)

Vous aurez compris que le risque de dérive des données dans la réalisation de cet algorithme était intimement lié à la situation COVID-19. Nous avons dû tenir compte du fait que les données que nous avons utilisées pour entraîner le modèle comportaient une certaine dérive.

Le niveau d’entassement n’a jamais été aussi bas dans le métro étant donné le changement abrupt dans le comportement des usagers.

De plus, notre solution devait pouvoir s’adapter à un nouveau confinement, à une levée partielle ou totale du confinement et même à la fin de la pandémie.

Pour ce faire, nous avons entraîné le modèle sur un fenêtre temporelle plus petite et mis en place une infrastructure permettant le réentraînement très facilement.

Au final, le modèle prédit le nombre de passagers par voiture de train, à 3 personnes près, ce qui est excellent et était conforme aux attentes de la STM.

Vous verrez ce projet dans les écrans de vos stations préférées sur la ligne orange et sur le site web de la STM.

Nous sommes fiers d’avoir pu mettre nos cerveaux à contribution afin de donner confiance aux Montréalais usagers du métro de pouvoir revenir dans les installations sous-terraines en toute sécurité.

Partager sur facebook
Partager sur twitter
Partager sur linkedin