Automatisation des pipelines de déploiement dans Azure Data Factory

Par : Divita Narang, Agence de la consommation en matière financière du Canada

Introduction

À l’ère moderne, l’intégration continue et le déploiement continu (CI/CD) sont des pratiques essentielles de génie logiciel et d’ingénierie des données qui permettent de simplifier le développement et la livraison grâce à l’automatisation. Ces méthodologies jouent un rôle clé dans l’atteinte de la maturité technique et dans la mise à l’échelle des projets (passage d’un environnement de validation de principe à un environnement de production).

Lorsque ces pratiques sont mises en application dans l’écosystème d’Azure (Azure Data Factory [ADF] et Azure DevOps) ou d’un autre fournisseur de boîte à outils ou d’infonuagique de votre choix, elles permettent aux équipes d’automatiser le déploiement de pipelines de données, de jeux de données, de variables, et de ressources connexes, ce qui permet de faire des mises à jour plus rapides, de gérer les versions et d’assurer l’uniformité des environnements tout au long du cycle de vie du développement.

Azure Data Factory (ADF) est un service d’infonuagique géré qui est conçu pour les processus complexes (extraction-transformation-chargement [ETL], extraction-chargement-transformation [ELT], et intégration de données). Ce service aide les utilisateurs à orchestrer les mouvements de données à vaste échelle au moyen d’un large éventail de fonctionnalités et de connecteurs intégrés tout en garantissant la sécurité grâce à des groupes Microsoft Entra (en anglais seulement) intégrés. ADF est conçu pour répondre efficacement aux besoins des organisations, par exemple déplacer des données d’un point A vers un point B tout en apportant des changements comme appliquer des formats et des types de données et bien plus encore. Par exemple, ADF peut ingérer les données d’une application frontale destinée aux clients et les intégrer dans une base de données. Ce point de terminaison peut ensuite être utilisé pour divers cas d’utilisation en aval, par exemple pour les rapports, les analyses, l’apprentissage automatique, l’intelligence artificielle, etc.

Azure DevOps est la suite complète d’outils de Microsoft pour la gestion des versions, l’automatisation, et la gestion de projet. Ce logiciel peut stocker les référentiels Git dans Azure Repos et activer l’intégration continue et le déploiement continu (CI/CD) au moyen d’Azure Pipelines, qui est utilisé pour le déploiement de projets de code. Azure Pipelines combine l’intégration continue, la mise à l’essai continue et la livraison continue pour concevoir, tester et livrer le code à de multiples environnements de destination.

À l’Agence de la consommation en matière financière du Canada (ACFC), nous utilisons largement ADF et Azure Pipelines pour gérer l’intégration et le déploiement des ressources de données à destination et à partir de points de terminaison comme Microsoft Dataverse, API Microsoft Graph et les bases de données SQL Server. Notre équipe de données en pleine croissance explore constamment des approches innovantes pour l’exécution des processus d’ingénierie des données.

Récemment, nous avons relevé le défi d’automatiser les pipelines de déploiement pour ADF. Antérieurement, les processus manuels associés aux déploiements prenaient généralement beaucoup de temps, soit entre deux et quatre heures pour un référentiel de code de taille moyenne. Le code ne pouvait être téléversé dans le nouvel environnement que manuellement ou à l’aide de scripts PowerShell, le téléchargement pouvant durer jusqu’à quelques minutes pour chaque fichier. De plus, le code devait être nettoyé et préparé manuellement pour les nouveaux environnements. Nous nous attendions à ce que le temps nécessaire pour exécuter ces tâches augmente en raison de la croissance, au fil du temps, de la taille des bases de code au sein des projets. Veuillez noter que le temps de déploiement peut varier considérablement, ce qui dépend de la taille de la base de code et de divers autres facteurs (en anglais seulement).

Même si ces efforts d’automatisation nous facilitent la tâche, il convient de noter que les processus manuels peuvent toujours être utilisés comme solution de remplacement en cas d’indisponibilité de membres de l’équipe, ou d’échec de processus automatisés ne pouvant pas être rapidement rétablis.

Même si l’éventail des pratiques CI/CD est vaste, pour le reste du présent article, nous allons mettre l’accent sur l’intégration continue et le déploiement continu dans le contexte du déplacement de ressources d’Azure Data Factory d’un environnement de niveau inférieur, comme un environnement de développement, vers un environnement de niveau supérieur, comme un environnement de simulation ou de production. Les pipelines peuvent être exécutés manuellement, en fonction d’un calendrier, ou être déclenchés par une modification du référentiel, comme une validation et fusion (commit/merge) à une branche particulière.

Aperçu de la solution

Dans cet article, nous allons mettre l’accent sur la solution illustrée dans l’architecture suivante :

Diagramme de l’architecture de la solution.

Figure 1 : Diagramme de l’architecture de la solution.

Description - Figure 1 : Diagramme de l’architecture de la solution.

Cette image montre l’architecture des composants Azure utilisés dans la solution, y compris Azure DevOps, Azure Data Factory, Azure Pipelines, et différents environnements (par exemple, un environnement de simulation, un environnement d’essais d’acceptation par les utilisateurs ou un environnement de production).

Remarque : Dans Azure Data Factory, le code est fondé sur les modèles Azure Resource Manager (ARM). Il s’agit essentiellement de l’infrastructure en tant que code dans le format JavaScript Object Notation (JSON) (en anglais seulement). Ces fichiers définissent l’infrastructure et la configuration pour les ressources d’Azure. Tout comme le code d’application, le code d’infrastructure peut être stocké et versionné dans un référentiel source.

Prérequis de la solution

  1. Contrôle de code source avec Git, fondé sur Azure DevOps
  2. Parallélisme d’agent de pipeline activé pour le projet Azure DevOps (formulaire de demande de parallélisme)
  3. Connexions de service sur Azure DevOps avec accès à des groupes de ressources pertinents où l’usine de données se trouve
  4. Services liés dans Azure Data Factory et autres données d’authentification pertinentes stockées sous forme de secrets dans Azure Key Vault
  5. Compte de stockage blob avec un accès en mode lecture et écriture pour stocker les modèles ARM

Intégration continue :

Les modifications aux codes sont publiées en utilisant le bouton de publication dans l’interface utilisateur d’ADF une fois le développement terminé sur la branche de collaboration et la demande de tirage exécutée sur la branche principale.

Lors de la publication, ADF prend en charge le processus de génération et de validation des modèles ARM. Les modèles générés contiennent toutes les ressources d’usine à données comme les pipelines, les jeux de données, les services liés, les environnements d’exécution d’intégration, les déclencheurs et plus encore. Toutes ces ressources sont susceptibles d’avoir des paramètres qui varient d’un environnement à l’autre. Ces paramètres doivent être attentivement validés, faute de quoi ils peuvent causer des erreurs de déploiement ou pire : un déploiement réussi avec des références incorrectes à des paramètres comme des données d’authentification inexactes pour un service lié (serveur SQL). Une bonne partie du temps consacré au développement a été utilisée pour trouver des solutions à ces difficultés, comme nous le verrons plus en détail dans les sections suivantes.

Configuration pour un pipeline de conception :

Pour la configuration d’un pipeline de conception, plusieurs tâches accessibles dans Azure Pipelines sont utilisées. Voici les étapes découplées :

  1. Obtenez des ressources dans le pipeline de votre référentiel (repo) d’Azure DevOps et (ce qui est très important) sélectionnez « adf_publish » comme branche par défaut.
  2. Utilisez la tâche « Publish Artifact » (publier l’artefact) pour déposer les artefacts à utiliser par le pipeline.
  3. Utilisez la tâche « PowerShell Script » pour exécuter un script afin de remplacer tous les paramètres, ce qui vise à assurer leur compatibilité avec l’environnement cible. Par exemple, si le nom de la base de données de développement est « Dev-DB » dans le code source et que l’environnement cible est un environnement de simulation avec un nom de base de données comme « Stg-DB », le script PowerShell peut exécuter un remplacement de chaîne dans tous les fichiers pour toutes les références à des variables afin de veiller à ce que la bonne base de données cible y soit reflétée. Veuillez consulter cet exemple de code (en anglais seulement) pour en savoir plus.  
    Conseil de pro : Les premiers modèles ARM comprennent beaucoup de paramètres, mais il est préférable d’exécuter le script sur chaque fichier de modèle ARM. Il existe également une méthode permettant de modifier les paramètres en utilisant la fonction « Override Parameters » (outrepasser les paramètres) dans la section de mise en production du pipeline, un sujet que nous aborderons plus loin dans cet article.
  4. Utilisez la tâche « Azure File Copy » (copie de fichier Azure) pour copier tous les modèles du dossier « linkedTemplates » de votre référentiel dans un compte de stockage. Le stockage de modèles ARM dans le stockage blob crée une redondance pour le stockage d’un code modifié à l’étape 3, ce qui est souhaitable. Il s’agit également d’une pratique requise pour les bases de code de grande taille.

Conseil de pro : Nettoyez le conteneur de stockage avant de copier les modèles. De plus, créez des conteneurs distincts pour différents types d’environnements (simulation, essais d’acceptation par les utilisateurs, production, etc.), ce qui vous aidera à rester organisé et à réduire les risques de déploiement erroné.

Après la configuration, le pipeline aura à peu près l’air de ce qui suit :

Screenshot of Pipeline components in Azure DevOps.

Figure 2 : Capture d’écran des composants du pipeline dans Azure DevOps (en anglais seulement)

Description - Figure 2 : Capture d’écran des composants du pipeline dans Azure DevOps

Cette image présente une section d’une interface de pipeline dans Azure DevOps. Elle comprend plusieurs étapes du pipeline de conception pour la solution décrite dans cet article. Ces étapes comprennent les suivantes : une tâche de dépôt — publication d’artefact (Publish Artifact: drop), deux tâches de script PowerShell et une tâche de copie de fichier Blob Azure.

Configuration pour un pipeline de mise en production :

  1. Créez une tâche vide en sélectionnant l’option « Empty job » dans la section « Releases » d’Azure DevOps.
  2. Ajoutez les artefacts du référentiel traités par le pipeline de conception créé précédemment.
  3. Cherchez et créez une tâche « PowerShell ». Indiquez le chemin d’accès au script de prédéploiement et de postdéploiement. Ce script est utilisé pour arrêter les déclencheurs avant le déploiement et les redémarrer après. Il est fourni par Microsoft : Scripts de prédéploiement et de postdéploiement CI/CD — Azure Data Factory | Microsoft Learn. Vous pouvez télécharger le script dans le référentiel du projet pour l’utiliser plus facilement.
  4. Cherchez et créez une tâche « ARM Template Deployment » (déploiement de modèle ARM) et remplissez les champs en fonction du pipeline précédent et de la configuration du projet.
    1. Dans la section « Override template parameters » (outrepasser les paramètres du modèle), des paramètres sont déjà téléchargés en fonction du fichier « ArmTemplateParameters_master.json » qui fait partie des artefacts du projet. Ces paramètres peuvent être personnalisés davantage en fonction du fichier de configuration « arm-template-parameters-definition.json » dans Azure Data Factory : Utiliser des paramètres personnalisés avec le modèle Resource Manager — Azure Data Factory | Microsoft Learn.

Si vous choisissez cette option, vous n’avez pas besoin d’exécuter l’étape 3 dans la configuration du pipeline de conception. Voici un exemple d’utilisation de paramètres personnalisés pour Stockage Blob Azure, Azure SQL Database et Dataverse (services de données communs pour les applications).

Screenshot of code sample in user interface of Azure Data Factory.

Figure 3 : Capture d’écran d’un exemple de code dans l’interface utilisateur d’Azure Data Factory

Description - Figure 3 : Capture d’écran d’un exemple de code dans l’interface utilisateur d’Azure Data Factory

Cette image présente un exemple de code dans le fichier « arm-template-parameters-definition.json » de l’instance Azure Data Factory. Il contient la configuration pour des ressources comme Stockage Blob Azure, Azure SQL Database et les services de données communs pour les applications, chacune ayant des propriétés et paramètres imbriqués, ce qui comprend un champ de valeur par défaut (« defaultValue »).

Cette approche pourrait ne pas être adaptée s’il y a plus de 256 paramètres, car il s’agit du nombre maximal permis. Si la refactorisation du code est une possibilité pour votre projet, prenez en considération les solutions de rechange suivantes :

  • Réduisez le nombre de paramètres en utilisant des paramètres globaux dans la mesure du possible.
  • Prenez note des paramètres qui sont implicitement hérités et retirez-les lorsqu’ils sont redondants. Par exemple, les paramètres de jeux de données sont hérités des services liés et il pourrait ne pas être nécessaire de les ajouter aux jeux de données s’ils sont déjà présents dans les services liés.
  • Si vous ne jugez pas que cela va compliquer la maintenance et la création de nouvelles ressources, divisez la solution en de multiples usines de données pour les solutions de grande taille.
  • Utilisez des scripts PowerShell pour nettoyer et préparer le code pour les différents environnements utilisés dans cette solution.

Après la configuration, le pipeline de mise en production aura l’air à peu près de ce qui suit :
Notez bien que la tâche de prédéploiement utilise le même script que la tâche de postdéploiement, mais que les arguments de script sont différents.

Screenshot of Pipeline components in Azure DevOps.

Figure 4 : Capture d’écran des composants du pipeline dans Azure DevOps (en anglais seulement)

Description - Figure 4 : Capture d’écran des composants du pipeline dans Azure DevOps

Cette image présente les différentes étapes du pipeline de mise en production dans Azure DevOps, lesquelles comprennent les tâches de script de prédéploiement et de postdéploiement de PowerShell ainsi qu’une tâche de déploiement de modèle ARM.

Dépannage, mise à l’essai et quelques autres conseils de pro :

  1. Pour commencer à mettre à l’essai la nouvelle solution, il peut être utile de créer une usine de données test et de la déployer dans Azure Data Factory pour s’assurer que tous les paramètres sont copiés correctement et que les connexions de services liés et de jeux de données fonctionnent bien.
  2. Pendant et après les déploiements : surveillez la journalisation au niveau du groupe de ressources dans l’onglet « Deployments » (déploiements) du portail Azure d’Azure Data Factory afin de vérifier la progression et obtenir des journaux d’erreurs plus descriptifs.
  3. Si les champs temporels dans les déclencheurs de la fenêtre bascule (tumbling window) ne sont pas compatibles avec l’environnement cible, le déploiement va échouer. Une solution simple consiste à assurer la concordance des champs temporels avec les déclencheurs dans les environnements de déploiement cibles.
  4. Les environnements d’exécution d’intégration peuvent également être incompatibles dans différents environnements. Une solution rapide consiste à supprimer ou à mettre à jour les références aux environnements d’exécution d’intégration en utilisant le script PowerShell à l’étape 2 du pipeline de conception.
  5. Utilisez un correctif (hotfix) si l’usine de données déployée comporte un bogue qui doit être corrigé dès que possible.  
  6. Si les paramètres globaux sont spécifiques à chaque environnement, la case « Include global parameters » (inclure les paramètres globaux) peut être décochée dans la section de configuration du modèle ARM dans ADF. De cette manière, il y aura moins de paramètres à personnaliser lors du déploiement.
  7. Les déclencheurs d’intégration continue peuvent être activés à la fois dans le pipeline et dans le niveau de mise en production en fonction des calendriers, des demandes de tirage ou des artefacts.
  8. Pour les déploiements critiques, les approbations préalables aux déploiements peuvent également être configurées au niveau de mise en production, par exemple pour les déploiements dans un environnement de production.
  9. Déterminez à l’avance si vous allez choisir le mode de déploiement incrémentiel ou complet, surtout s’il y a différences dans la façon dont les environnements utilisés stockent les ressources.  
  10. Durant la phase de mise à l’essai, les modèles ARM peuvent être manuellement exportés vers un espace de stockage local et les scripts PowerShell créés pour la gestion des paramètres peuvent être exécutés localement afin d’accélérer les essais et le dépannage.

Évaluation

C’est une façon parmi d’autres de procéder aux déploiements automatisés dans Azure Data Factory pour différents environnements. Nous avons choisi de concevoir cette solution en utilisant les services Azure, car c’est le fournisseur de services d’infonuagique choisi par l’Agence. Ce processus nous a aidés à explorer les solutions de données pour l’automatisation de l’intégration continue et du déploiement continu. De plus, il démontre qu’il est possible d’économiser beaucoup de temps dans le cadre des déploiements. Par ailleurs, en raison de la courbe d’apprentissage, comme c’est le cas pour tout nouveau processus, nous avons constaté des erreurs et avons passé beaucoup de temps à résoudre les problèmes, ce qui nous a amenés à découvrir des singularités dans le processus, qui font l’objet de conseils de pro ci-dessus. Ces conseils peuvent s’avérer très utiles et vous faire gagner du temps et des efforts en vous aidant à éviter les pièges les plus courants et à simplifier vos processus de déploiement fondés sur Azure.

Conclusion

Nous sommes déterminés à améliorer notre environnement opérationnel pour les déploiements itératifs en perfectionnant continuellement nos processus d’intégration continue et de déploiement continu. De plus, nous recueillons activement les commentaires des membres de notre équipe afin de déterminer les points à améliorer dans le cadre de nos mises à jour.

Compte tenu du rythme rapide de l’innovation et de la disponibilité croissante de fonctionnalités intégrées dans les produits de données de Microsoft, nous recommandons également aux lecteurs de consulter les ressources suivantes : Publication automatisée pour CI/CD, Déployer des modèles ARM liés à VSTS et Déploiements dans Microsoft Fabric.

Restez à l’affût pour obtenir de plus amples renseignements et des mises à jour sur ces sujets dans nos prochains articles!

Meet the Data Scientist

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à Rencontrez les scientifiques des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Inscrivez-vous à l'événement Rencontrez les scientifiques des données.  À bientôt!

Conception d’un système d’intelligence artificielle générative : leçons apprises et recommandations découlant de l’agent conversationnel d’AgriGuichet

Par Andy Fan, Rafael Moraes; Agriculture et Agroalimentaire Canada

Introduction

Après le dévoilement de l’équipe gagnante du premier Défi des données de la fonction publique canadienne, nous avons eu l’incroyable chance de bâtir l’agent conversationnel AgriGuichet, un outil de recherche assisté par l’intelligence artificielle (IA) générative qui fournit des renseignements agricoles fédéraux, provinciaux et territoriaux utiles aux Canadiens. Accessible sur le site Web AgriGuichet.ca, cet outil donne aux visiteurs un autre moyen d’accéder à des renseignements utiles sur l’agriculture canadienne. Il est le résultat d’un incroyable effort de collaboration interfonctionnelle entre l’industrie, le milieu universitaire et d’autres ministères pour améliorer la prestation de services à la population canadienne.

Dans le présent article, nous nous concentrons sur l’échange des enseignements tirés des aspects techniques et politiques de la mise en œuvre d’AgriGuichet. Voici quelques-unes de nos principales conclusions et recommandations : l’utilisation de l’adaptation par enrichissement contextuel (AEC) pour améliorer la précision de l’IA, la nécessité de garde-fous pour garantir des interactions éthiques et sûres avec l’IA et le rôle d’une solide gouvernance des données et de la conformité aux politiques dans la création de systèmes d’IA responsables.

Rédactique

La rédactique (en anglais seulement) est un domaine fascinant et complexe au confluent de l’expertise humaine et de l’IA. Son principal objectif est de peaufiner les requêtes de manière à obtenir les réponses les plus précises, impartiales et pertinentes de la part des systèmes d’IA, en particulier ceux qui font appel à des modèles linguistiques. Cette discipline est très importante, car contrairement aux interfaces habituelles, les systèmes de langage naturel dépendent beaucoup des subtilités, des nuances et de la complexité du langage humain. La conception d’invites efficaces tient donc à la fois de l’art et de la science, et exige non seulement une compréhension profonde des technologies d’IA sous-jacentes, mais aussi des caractéristiques propres au langage et à la cognition humains.

Il s’agit également d’un processus continu et itératif qui porte sur l’essai et la mise au point d’invites pour s’assurer que les systèmes d’IA génèrent des réponses précises, impartiales et pertinentes. Une telle mise au point incessante est essentielle pour éviter d’introduire des préjugés involontaires, puisque même de subtiles modifications dans la formulation peuvent avoir des répercussions considérables sur le comportement de l’IA. L’évaluation périodique et un équilibre judicieux des éléments techniques et linguistiques contribuent à maintenir la fiabilité et l’impartialité des résultats de l’IA.

Il est important de reconnaître que chaque grand modèle de langage (GML) aura sa propre invite optimale qui suscitera la meilleure performance, différents modèles pouvant répondre différemment à la même invite en raison de variations dans leur architecture et leurs données d’entraînement. Cependant, le processus de découverte de cette invite optimale reste cohérent d’un modèle à l’autre. Il comporte le même cycle itératif d’expérimentation, d’évaluation et de mise au point pour s’assurer que les invites amènent l’IA à produire des résultats précis et impartiaux.

Technique de l’adaptation par enrichissement contextuel

L’adaptation par enrichissement contextuel (AEC) est un cadre qui réunit la recherche de données à partir d’une source de connaissances – une base de données ou un ensemble de documents, par exemple – et les capacités génératives d’un modèle de langage. Sans AEC, même les GML soigneusement perfectionnés produisent des « hallucinations » lorsqu’on les interroge sur des sujets rarement abordés dans les ensembles de données ayant servi à leur apprentissage. Pour qu’un système d’IA donne des renseignements plus précis, l’AEC doit être intégrée à la rédactique. La figure 1 ci-dessous illustre le processus d’AEC. Si l’on veut créer un système d’AEC sans partir de zéro, on peut aussi exploiter des bibliothèques de source ouverte comme Langchain (en anglais seulement) ou Llama Index (en anglais seulement), ou encore des solutions exclusives (comme Azure Cognitive Search). Dans le cas de l’agent conversationnel d’AgriGuichet, nous avons choisi de créer notre propre système d’AEC. Cela a donné une solution plus souple qui répond à nos propres besoins.

A diagram of a software Description automatically generated with medium confidence

Figure 1 source : Exemple de processus d’adaptation par enrichissement contextuel (AEC) (en anglais seulement)

Description - Figure 1: Exemple de processus d’adaptation par enrichissement contextuel (AEC)

Cette image illustre le processus d’adaptation par enrichissement contextuel de freecodecamp. Le diagramme se compose de plusieurs éléments interconnectés :

  • Entrée (requête). Une question de l’utilisateur, par exemple « Comment peut-on expliquer que le PDG d’OpenAI, Sam Altman, a été soudainement licencié par le conseil d’administration en seulement trois jours, pour être ensuite réembauché par l’entreprise, ce qui ressemble à une version réelle de la série télévisée « Game of Thrones » en termes de dynamique du pouvoir? ».
  • Indexation. Le système indexe les documents en blocs ou vecteurs à l’aide d’emboîtements.
  • Récupération. Les documents pertinents sont récupérés en fonction de la requête. Par exemple :
    • Bloc 1 : « Sam Altman revient à OpenAI en tant que PDG, le drame de la Silicon Valley ressemble à la comédie « Zhen Huan ».
    • Bloc 2 : « Le drame est-il fini? Sam Altman redevient PDG d’OpenAI; le conseil d’administration se restructure. »
    • Bloc 3 : « L’agitation au sein de l’OpenAI touche à sa fin : qui a gagné et qui a perdu? »
  • Génération.
    • Sans l’AEC, le système fournit une réponse générique sans renseignements précis, comme : « Je ne suis pas en mesure de fournir des commentaires sur des événements à venir. Je ne dispose pour le moment d’aucune information concernant le licenciement et la réembauche du PDG d’OpenAI... ».
    • À l’aide de l’AEC, le système combine le contexte des documents et des invites récupérés pour générer une réponse plus détaillée et plus pertinente, comme : « Cela suggère des désaccords internes importants au sein d’OpenAI concernant la direction future de l’entreprise et les décisions stratégiques. Tous ces rebondissements reflètent les luttes intestines et les problèmes de gouvernance de l’entreprise chez OpenAI... ».
  • Sortie. La réponse finale générée repose sur la méthode de recherche sélectionnée (à l’aide de l’AEC ou sans cette méthode), ce qui met en évidence la différence pour ce qui est des précisions et de l’exactitude de la réponse.

L’AEC fonctionne habituellement comme suit :

  • Récupération. À partir de l’historique d’une conversation, le système d’AEC récupère tout d’abord les documents ou les éléments d’information pertinents dans une base de données ou un corpus. Il repose la plupart du temps sur un modèle d’extraction ou un algorithme de recherche optimisé pour trouver rapidement le contenu le plus pertinent dans un vaste corpus d’informations.
  • Augmentation. Les documents récupérés servent ensuite à augmenter les données d’entrées introduites dans le modèle génératif. Cela veut dire que le modèle de langage reçoit comme contexte tant l’historique de la conversation que le contenu de ces documents.
  • Génération. Un modèle linguistique génératif produit ensuite une réponse à partir de cet apport augmenté. Le modèle produit à l’aide de ces données supplémentaires des réponses plus précises, plus détaillées et plus adaptées au contexte.

Les cadres d’AEC sont particulièrement utiles si la tâche d’un modèle de langage consiste à consulter des renseignements externes ou à répondre à des questions fondées sur des faits qui ne sont pas nécessairement stockés dans ses paramètres. Répondre à des questions portant sur des domaines ouverts et vérifier des faits sont deux exemples de telles tâches. L’étape de la récupération permet au système d’extraire des renseignements à jour ou particuliers auxquels le modèle linguistique seul n’aurait pas accès à partir des données d’entraînement.

Garde-fous

Les garde-fous sont des règles ou des contraintes préétablies mises en place pour empêcher un système d’IA de générer un contenu inapproprié, partial ou déséquilibré. Ils agissent de deux façons : d’une part, ils éloignent le processus de génération de certains sujets ou phrases; et d’autre part, ils traitent à leur tour les données de sortie de l’IA pour supprimer ou réviser le contenu problématique. Ces garde-fous sont essentiels pour plusieurs raisons expliquées ci-dessous.

  1. Contrôle du contenu. Les garde-fous empêchent la création d’un contenu inapproprié, offensant ou préjudiciable, notamment des propos haineux, du matériel explicite et tout autre contenu susceptible de ne pas convenir à tous les publics.
  2. Principes d’éthique. Les garde-fous veillent à ce que les GML et les agents conversationnels adhèrent à des règles d’éthique. Ils peuvent empêcher l’approbation d’activités illicites ou susceptibles de porter préjudice aux utilisateurs et utilisatrices ou à des tiers.
  3. Atténuation des préjugés. Malgré tous les efforts de leurs créateurs et créatrices, les GML peuvent parfois perpétuer sinon amplifier les préjugés présents dans leurs données d’apprentissage. On peut concevoir des garde-fous qui relèvent et atténuent ces préjugés. Ainsi, les interactions sont plus justes et équilibrées.
  4. Sûreté. En imposant des restrictions au comportement d’un système d’IA, ces garde-fous renforcent la sécurité de l’utilisateur ou de l’utilisatrice, car ils empêchent le système de donner des réponses dangereuses ou erronées. Ils s’avèrent particulièrement importants dans des domaines où les risques sont élevés, comme les soins de santé ou les conseils juridiques, où tout renseignement inexact peut avoir de graves conséquences.
  5. Confiance des utilisateurs et conformité Garantir que le système agit de façon prévisible et en conformité avec des normes socialement acceptables contribue à renforcer la confiance des utilisateurs. Les garde-fous permettent aussi de satisfaire à diverses normes réglementaires et exigences juridiques, un aspect incontournable du déploiement d’agents conversationnels dans plusieurs secteurs économiques.
  6. Prévention des abus. Les garde-fous jouent un autre rôle important, celui d’empêcher les utilisateurs et utilisatrices de manipuler ou de « tromper » le système d’AI pour l’amener à se comporter autrement que prévu, comme générer du contenu malveillant ou participer à des pratiques trompeuses.
  7. Interactions ciblées. Les garde-fous aident le système à rester pertinent et à s’adapter à l’intention de l’utilisateur ou de l’utilisatrice, ce qui rehausse l’expérience de l’utilisateur ou de l’utilisatrice, puisqu’ils empêchent l’agent conversationnel de produire des réponses non pertinentes ou aberrantes.

Pour intégrer ces garde-fous de manière efficace, il faut d’abord cerner les vulnérabilités susceptibles d’inciter le modèle à devenir partial et comprendre le contexte dans lequel l’impartialité pourrait être compromise. Par exemple, si un modèle d’IA génère des résumés d’actualités objectifs, il doit traiter objectivement des entités et des sujets variés et ne pas exprimer une opinion. Dans ce scénario, les garde-fous pourraient aller du plus simple, soit éliminer certains mots chargés d’opinion, au plus complexe, c’est-à-dire mettre en œuvre des contrôles plus sophistiqués d’analyse des sentiments qui signalent tout langage, excessivement positif ou négatif, articulé autour de certains sujets précis. Enfin, s’assurer qu’un outil d’IA ne réponde qu’aux invites pertinentes est une question de discrimination et d’orientation claire dans le système de garde-fous. L’IA doit faire la différence entre les questions auxquelles elle peut répondre et les questions non pertinentes, inappropriées ou qui dépassent le cadre de ses fonctions. Ici encore, les garde-fous jouent un rôle essentiel. Si on lui donne des directives précises et des exemples clairs sur ce qui constitue une requête pertinente, l’IA peut esquiver toute question qui ne répond pas à ces critères ou simplement refuser d’y répondre.

Par exemple, dans le cadre de la mise en place de l’agent conversationnel AgriGuichet, seules les requêtes ne portant que sur des renseignements sur l’agriculture canadienne contenus dans ce système seraient pertinentes. Il a donc fallu établir des garde-fous pour fournir des réponses complètes et ciblées aux questions portant sur l’agriculture, tout en évitant ou en redirigeant celles qui ont trait à d’autres données sans rapport. Un exemple simplifié de la mise en œuvre a été l’inclusion du message suivant dans l’invite du système : « Ne pas répondre aux questions sans rapport avec les données fournies par le système AgriGuichet ».

En pratique, les garde-fous peuvent revêtir de nombreuses formes. Selon notre expérience de la mise en place d’AgriGuichet, nous recommandons au moins :

  • des systèmes de filtrage qui détectent et bloquent les types de contenus indésirables;
  • des fonctions de limite du débit pour éviter toute utilisation abusive du système;
  • des listes d’invites explicites de « choses à ne pas dire » ou des règles de comportement;
  • des processus d’examen ou des mécanismes d’interventions humaines (comme enregistrer puis analyser les invites et les réponses des utilisateurs et des utilisatrices). Microsoft propose un bel exemple d’invite garde-fous :
Screens screenshot of a black screen Description automatically generated
Description - Figure 2 : Exemple de méta-invite (ou invite contextuelle) garde-fous (en anglais seulement)

Saisie d’un exemple par Microsoft de méta-invite garde-fous pour l’agent conversationnel d’une boutique de crème glacée. La méta-invite consiste en :

## Agent conversationnel, nom de code Dana :

  • Dana est un agent conversationnel chez Crème Glacée Gourmet inc.
  • L’équipe marketing de Crème glacée Gourmet se sert de Dana pour être plus efficace dans son travail.
  • Dana connaît le catalogue de produits uniques de Crème glacée Gourmet, l’emplacement des magasins et l’objectif stratégique de l’entreprise, c’est-à-dire cibler le marché haut de gamme.

## Profil et capacités générales de Dana :

  • Les réponses de Dana doivent être utiles et logiques.
  • Le raisonnement logique de Dana doit être rigoureux, intelligent et défendable.

## Capacité de Dana à rassembler et à présenter les renseignements :

  • Pour générer ses réponses, Dana a accès à la base de données du catalogue de produits, celle des emplacements des magasins et, par le nuage Microsoft, à Microsoft 365, ce qui lui donne tout le CONTEXTE voulu.

## Sécurité :

  • Dana doit modérer ses réponses pour qu’elles soient sûres et sans danger et qu’elles évitent la controverse.

Invite :

Créez un slogan pour notre boutique de crème glacée.

Réponse :

Des cornets paradisiaques en plein cœur de Phoenix!

La mise en œuvre de garde-fous dans les systèmes d’IA est cruciale, mais difficile. Il faut les concevoir avec soin pour qu’ils puissent traiter diverses entrées sans perdre leur précision. Une maintenance constante est également nécessaire pour que les garde-fous demeurent efficaces alors que les modèles linguistiques et le contenu évoluent. Malgré ces difficultés, les garde-fous sont essentiels pour garantir des interactions sûres et responsables avec l’IA.

Gestion et gouvernance des données

Les résultats d’un modèle génératif appuyé par l’AEC dépendent directement de la qualité des données sous-jacentes qu’il consulte (en anglais seulement). AgriGuichet est le fruit d’années de gestion de données et de pratiques de gouvernance rigoureuses de la part de l’équipe responsable de cet agent conversationnel. Ces pratiques ont mené à la création d’une base de données de haute qualité et clairement organisée sur les programmes et les services d’agriculture, accessibles depuis le site Web d’AgriGuichet. Dans ce contexte, de bonnes pratiques de gestion et de gouvernance des données peuvent améliorer la précision et la pertinence des textes générés, puisqu’elles garantissent que les sources de données sont fiables, uniformes et à jour. Voici quelques recommandations qui aideront à exploiter tous les avantages de la gestion et de la gouvernance des données :

  • Établir une stratégie de données claire et exhaustive qui énonce la vision, les objectifs et les principes de la gestion et de la gouvernance des données.
  • Mettre en œuvre une architecture de données robuste et souple qui prend en charge l’intégration, l’interopérabilité et l’accessibilité de diverses sources de données.
  • Adopter un cadre de qualité des données (voir l’orientation connexe du Secrétariat du Conseil du Trésor) qui assure que les sources de données sont valides, exhaustives, à jour et exactes.
  • Appliquer un modèle de sécurité des données qui protège la confidentialité, l’intégrité et la disponibilité des sources de données et des réponses générées.
  • Créer une structure de gouvernance des données qui attribue les rôles, les responsabilités et les obligations de rendre compte en matière de gestion et gouvernance des données.
  • Contrôler et évaluer le rendement et les résultats de la gestion et de la gouvernance des données et apporter des améliorations continues en fonction des commentaires reçus et des pratiques exemplaires.

Facteurs d’ordre politique à prendre en considération

Au moment de la création d’applications d’IA dans le contexte du secteur public fédéral, outre les politiques et les lignes directrices existantes (Directive sur la prise de décisions automatisée, Portée de la directive, Guide sur l’utilisation de l’intelligence artificielle générative), certains facteurs d’ordre politique doivent être pris en compte pour s’assurer que les applications sont créées de manière responsable et éthique. Nous avons constaté que ces facteurs ont joué un rôle crucial dans l’élaboration de notre conception et de notre approche du développement d’AgriGuichet, et nous recommandons vivement de les consulter au cours de la phase de conception.
Les facteurs d’ordre politique plus généraux dont on doit tenir compte à cet égard sont les suivants :

  • Conformité. S’assurer de concevoir et de déployer l’agent conversationnel conformément aux politiques et aux lois applicables et suivre les différentes pratiques exemplaires, observer les conseils d’autres autorités publiques et se conformer aux règlements propres à l’industrie. Veiller également à ce que toutes les politiques et lignes directrices internes ou du ministère ou de l’organisme soient respectées. Outre la conformité, s’assurer que des mesures appropriées sont en place pour atténuer les risques juridiques et réglementaires. Pour ce faire, demander des conseils juridiques, mettre en œuvre des processus de conformité et se tenir au courant de l’évolution du paysage juridique et réglementaire.
  • Évaluation des risques. Évaluer et traiter les menaces à la cybersécurité potentielles, les préjugés, les atteintes à la vie privée et les risques de générer des hallucinations ou des renseignements erronés. Si le système est accessible à la population, tenir compte de son opinion ou des événements en cours qui pourraient avoir une incidence sur la perception de l’outil.
  • Mobilisation des partenaires. Collaborer le plus tôt possible de manière proactive avec des partenaires clés, comme les conseillers juridiques, les experts en protection de la vie privée et en sécurité, les agents de coordination de l’analyse comparative entre les sexes plus (ACS+), les représentants de la diversité, de l’équité et de l’inclusion, d’autres partenaires (p. ex. ceux issus des collectivités autochtones) et les autorités chargées des processus internes (architecture d’entreprise, gouvernance de projet, etc.) pour assurer une démarche coordonnée, conforme et holistique.
  • Transparence. Afin d’éviter toute confusion ou tout malentendu, il est vital d’informer les utilisateurs et utilisateurs qu’ils communiquent avec un outil d’IA et non avec une personne humaine. Donner plus de renseignements sur le système, comme une description de son fonctionnement, des données qu’il utilise et des mesures prises pour garantir sa qualité, peut aussi contribuer à rehausser la confiance.
  • Surveillance des préjugés et de la discrimination. Surveiller le rendement des outils d’IA pour prévenir les préjugés et la discrimination, ce qui assure que cette technologie soit utilisée de manière responsable et équitable. Saisir les interactions entre les utilisateurs et le système afin de les passer périodiquement en revue tout au long du cycle de vie.
  • Éducation. Donner aux utilisateurs des directives claires sur la meilleure façon d’interagir avec l’agent conversationnel, et les conseiller sur la formulation de leurs invites ou de leurs requêtes et sur les renseignements à donner à l’agent. Veiller à former les développeurs et développeuses de l’agent conversationnel et à leur donner les ressources nécessaires pour les aider à bien exploiter cette technologie et à comprendre clairement ses capacités, ses limites et les pratiques exemplaires de son utilisation responsable.
  • Développement itératif. Comprendre la nécessité d’améliorer sans cesse l’outil pour qu’il évolue au fil des changements réglementaires et des percées technologiques. L’une des façons d’y parvenir serait d’adopter une approche agile.
  • Durabilité. Veiller à ce que la conception et la mise en œuvre des outils d’IA soient guidées par un engagement en faveur de la durabilité environnementale afin de soutenir la viabilité à long terme et d’atténuer toute incidence négative sur l’environnement ou sur les populations et les collectivités.

Conclusion

La rédactique, en tant que discipline, est cruciale, puisqu’elle permet de s’assurer que les systèmes d’IA donnent à leurs utilisateurs et utilisatrices des réponses non seulement exactes et conformes aux faits, mais aussi impartiales, éthiques et adaptées au contexte. L’adaptation par enrichissement contextuel (AEC) est une grande percée en ce sens, puisque ce mécanisme procure aux systèmes d’IA un accès dynamique à des données externes qui peuvent ainsi les intégrer à leurs réponses. Ces systèmes sont ainsi plus fiables et plus solidement ancrés sur les faits, particulièrement s’ils doivent puiser dans un vaste corpus de connaissances en constante évolution.

La mise en place de garde-fous éthiques et de pratiques rigoureuses en gestion des données, ainsi que la conformité envers les politiques, les lois et les règlements en vigueur, peut aider les systèmes d’IA à mieux tenir compte des normes sociales et à inspirer la confiance des utilisateurs et utilisatrices, favorisant ainsi des interactions plus fructueuses entre les parties concernées.

Les recherches liées à AgriGuichet et les améliorations qui seront apportées à cet agent conversationnel pourraient être axées sur la mise au point des techniques de rédactique pour améliorer la pertinence contextuelle, l’élargissement du champ d’application de l’AEC, pour intégrer plus dynamiquement les données, et l’amélioration de l’évolutivité et de l’efficacité de l’IA pour offrir de meilleurs services aux utilisateurs et utilisatrices tout en préservant la sécurité et la fiabilité.

Comme l’IA est en constante évolution et qu’elle s’intègre de plus en plus aux environnements personnels et professionnels, les efforts déployés en rédactique façonneront sûrement en profondeur les interactions entre l’humain et l’IA. Pour adhérer aux principes d’exactitude, d’impartialité et de pertinence, il faudra veiller à ce que les techniques de rédactique suivent l’évolution des modèles d’IA. L’application adéquate de la rédactique et de garde-fous à l’IA permettra à celle-ci d’atteindre son plein potentiel à titre d’outil qui élargit les connaissances, facilite la prise de décision et améliore la productivité sans compromettre les principes d’éthique ou la confiance des utilisateurs.

Meet the Data Scientist

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à Rencontrez les scientifiques des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Inscrivez-vous à l'événement Rencontrez les scientifiques des données.  À bientôt!

Bibliographie

Agriculture et Agroalimentaire Canada (2024). Récupéré sur AgPal: https://agpal.ca/fr/accueil

Aslanyan, V. (2024, 11 juin). Next-Gen Large Language Models: The Retrieval-Augmented Generation (RAG) Handbook. Récupéré sur freeCodeCamp: https://www.freecodecamp.org/news/retrieval-augmented-generation-rag-handbook/#heading-11-what-is-rag-an-overview (en anglais seulement)

Gao, Y. (2024). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv. Récupéré sur https://arxiv.org/abs/2312.10997 (en anglais seulement)

Forum mondial des gouvernements. (2023). Quatre de vos idées ont atteint la finale. Récupéré sur Défi des données de la fonction publique: https://canada.governmentdatachallenge.com/fr/

Gouvernement du Canada. (2023, 16 août). Garde-fous canadiens pour l'IA générative : un code de pratique. Récupéré sur ISED-ISDE: https://ised-isde.canada.ca/site/isde/fr/consultation-lelaboration-dun-code-pratique-canadien-pour-systemes-dintelligence-artificielle/garde-fous-canadiens-pour-lia-generative-code-pratique

Gouvernement du Canada. (2024, 1 février ). Orientation sur la qualité des données. Récupéré sur Canada.ca: https ://www.canada.ca/fr/gouvernement/systeme/gouvernement-numerique/innovations-gouvernementales-numeriques/gestion-information/orientation-qualite-donnees

Gouvernement du Canada. (2024, 26 juillet). Guide sur l’utilisation de l’intelligence artificielle générative. Récupéré sur Canada.ca: https://www.canada.ca/fr/gouvernement/systeme/gouvernement -numerique/innovations-gouvernementales-numeriques/utilisation-responsable-ai/guide-utilisation-intelligence-artificielle-generative.html

IBM. (2024). What is prompt engineering? Récupéré sur IMB Topics: https://www.ibm.com/topics/prompt-engineering (en anglais seulement)

LangChain. (s.d.). LangChain Main Page. Récupéré sur LangChain: https://www.langchain.com/ (en anglais seulement)

LlamaIndex. (2024). Turn your enterprise data into production-ready LLM applications. Récupéré sur LlamaIndex: https://www.llamaindex.ai (en anglais seulement)

Sajid, H. (2024, 18 mars). Data Strategy Roadmap: Creating a Data Strategy Framework For Your Organization. Récupéré sur Zuar: https://www.zuar.com/blog/data-strategy-roadmap-creating-a-data-strategy-framework/#:~:text=Hence%2C%20a%20data%20strategy%20framework%20is%20a%20long-term%2C,to%20make%20informed%20decisions%20and%20achieve%20business%20goals. (en anglais seulement).

Secrétariat du Conseil du Trésor du Canada. (2023, 25 avril). Directive sur la prise de décisions automatisée. Récupéré sur TBS-SCT: https://www.tbs-sct.canada.ca/pol/doc-fra.aspx?id=32592

Application des algorithmes de forêts aléatoires pour améliorer les prévisions de dépenses dans les programmes de subventions et de contributions gouvernementales

Par Pierre Zwiller-Panicz, Margarita Novikova, Kirsten Gaudreau, Matthew Paslawski, Logement, Infrastructures et Collectivités Canada.

Sommaire

La présente étude vise à élaborer et à mettre en œuvre un modèle d’apprentissage automatique pour prévoir les dépenses dans les programmes de subventions et de contributions de Logement, Infrastructures et Collectivités Canada, en étant axée sur les demandes de remboursement. Une analyse comparative des algorithmes a permis de déterminer que la forêt aléatoire était la plus performante, celle-ci aboutissant à un R au carré (R²) de 39 %. Intégré à un tableau de bord Power BI, le modèle permet une analyse des dépenses en temps réel, une visualisation des tendances et une comparaison entre les prévisions et les dépenses réelles. Sa mise en œuvre a réduit le temps de prévision de trois mois à un seul, ce qui a permis d’améliorer la planification financière et l’engagement des parties prenantes.

Le modèle a eu une incidence opérationnelle considérable, en facilitant les discussions entre les conseillers en gestion financière et les responsables de programmes, tout en fournissant des données en temps réel favorisant une meilleure prise de décision. Bien que son applicabilité soit limitée aux programmes comportant des projets établis et qu’il donne de moins bons résultats pour les programmes à base de répartition, il s’est avéré très efficace pour les demandes de remboursement comptant 30 projets actifs ou plus.
Fort de ce succès, le modèle constitue une avancée précieuse dans le domaine de la prévision financière. Sa mise en œuvre ouvre la voie à d’autres améliorations, ce qui favorise une adoption plus large et des améliorations continues en matière d’exactitude prédictive et d’applicabilité des programmes.

1. Introduction

Logement, Infrastructures et Collectivités Canada (LICC) joue un rôle essentiel dans le financement et le soutien de projets d’infrastructure qui contribuent à bâtir des collectivités durables, inclusives et résilientes face aux changements climatiques. Les programmes de subventions et de contributions (S et C) du ministère nécessitent des prévisions financières détaillées et pluriannuelles afin d’assurer une répartition efficace des fonds publics. Toutefois, la nature imprévisible des projets d’infrastructure conduit souvent à des estimations de flux de trésorerie surestimées, ce qui donne lieu à des fonds non dépensés et des inefficacités budgétaires. Alors que les programmes de S et C de LICC continuent de croître, le besoin d’une solution de prévision évolutive et fondée sur les données est devenu de plus en plus évident.

Pour relever ces défis, LICC a mis en œuvre un modèle de prévision fondé sur l’apprentissage automatique (AA) en mai 2024. Cet outil novateur s’appuie sur des analyses avancées pour améliorer les prévisions des dépenses, renforcer la précision de la planification financière et optimiser l’allocation budgétaire. En intégrant ce modèle à l’ensemble des outils de prévision existants de LICC, le ministère vise à réduire les inefficacités, à appuyer la prise de décisions fondée sur les données et à renforcer sa capacité à financer des initiatives d’infrastructure essentielles.

Le présent article porte sur l’élaboration et la mise en œuvre du modèle de prévision des dépenses en S et C basé sur l’AA. Il débute par un aperçu du contexte et des objectifs du projet, suivi du développement technique du modèle et de son intégration dans les processus de prévision financière de LICC. Les résultats obtenus et leur incidence sur la planification financière sont ensuite analysés. L’article se termine par des recommandations d’améliorations futures et d’applications potentielles du modèle.

2. Contexte du modèle de prévision par apprentissage automatique

2.1. Contexte et évolution des initiatives

Au cours des exercices financiers 2016-2017 et 2017-2018, environ 64 % des autorisations prévues de Logement, Infrastructures et Collectivités Canada (LICC) en matière de subventions et de contributions (S et C) sont arrivés à expiration, ce qui a entraîné une demande des organismes centraux de la prévisibilité du profil financier des programmes d’infrastructure. En réponse à cette situation, LICC a entrepris plusieurs initiatives :

  • 2019-2020 : Création d’une équipe ministérielle spéciale chargée d’examiner tous les aspects de la gestion du financement sous forme de contributions, afin de mieux harmoniser les crédits avec les dépenses réelles.
  • 2020-2022 : Mise en place d’un centre d’expertise en subventions et contributions (CES et C) doté de compétences axées sur les finances pour remédier à ces enjeux.

2.2. Défis des prévisions actuelles en matière de subventions et de contributions

Depuis sa création, le CES et C a élaboré une série de méthodes et de processus de prévision qui ont contribué à réduire le financement sous forme de contributions et de subventions inutilisées à l’échelle du ministère. Toutefois, ces méthodes ont engendré une charge de travail importante pour les conseillers en gestion financière (CGF), en raison du manque de normalisation entre les différents programmes et de la complexité liée à la production de prévisions précises.

2.3. Objectif et finalité du modèle

Pour combler ces lacunes, les partenaires du centre d’expertise en subventions et contributions collaborent avec le Bureau du dirigeant principal des données afin d’étudier une approche fondée sur les données, laquelle pourrait compléter et renforcer l’ensemble existant de méthodes de prévision de LICC. Cette approche vise à fournir une base plus fiable pour les prévisions des CGF, tout en allégeant leur charge de travail.

L’objectif principal du modèle d’apprentissage automatique est d’améliorer les prévisions des S et C à LICC, en mettant au point un outil automatisé fondé sur les données historiques de S et C. Ce modèle est conçu pour s’adapter aux programmes actuels et futurs, améliorant ainsi l’efficacité globale du processus de prévision pluriannuelle des S et C au sein du ministère.

3. Élaboration et mise en œuvre du modèle de prévision par apprentissage automatique

La présente section porte sur l’élaboration du modèle de prévision par apprentissage automatique (AA), depuis ses sources de données jusqu’à l’outil interactif définitif. Elle fournit des prévisions sur la façon dont le modèle a été conçu, intégré et déployé pour fournir aux CGF des renseignements en temps réel.

Figure 1:  Data Pipeline
Figure 1 : Pipeline des données (en anglais seulement)

L’image illustre un pipeline de données : le Système de gestion de l’information sur les programmes stocke les données brutes et historiques, qui sont extraites, nettoyées et prétraitées en Python avant d’être transférées vers Azure. La plateforme de données unifiée gère l’entraînement du modèle, son déploiement ainsi que le stockage des données traitées. Enfin, Power BI se connecte à la base de données pour visualiser les résultats.

3.1. Sources de données

La première étape de l’élaboration du modèle de prévision par apprentissage automatique a consisté à extraire les données du Système de gestion de l’information sur les programmes (PIMS) de LICC, comme l’illustre la figure 1 – Pipeline de données. Le PIMS fournissait des renseignements détaillés sur le financement et les dépenses des programmes à trois niveaux : les programmes, les ententes de contribution et les projets. Les variables clés comprenaient ce qui suit :

Variable Définition Données-échantillons
Numéro d’identification du projet Identifiant unique pour chaque projet 13176
Numéro d’identification de l’entente de contribution Identifiant unique liant le projet à une entente de financement précise 2
Exercice financier Exercice financier associé aux dépenses et flux de trésorerie du projet 2007-2008
Flux de trésorerie du projet Rentrée ou sortie de fonds prévue ou réelle pour le projet 500 000
Dépenses du projet Montant dépensé pour le projet durant une période donnée 500 000
Montant total par entente de contribution Budget total alloué dans le cadre d’une entente précise 2 000 000
Montant total par contribution au programme Financement global attribué au programme concernant plusieurs ententes 2 000 000
Statut du projet Indique l’état actuel du projet (p. ex. actif, terminé, en attente) Terminé

3.2 Prétraitement des données

3.2.1. Nettoyage et transformation

Le processus de nettoyage des données a débuté par l’identification et la suppression des entrées vides qui ne concernaient pas le modèle de prévision financière. L’ensemble de données définitif ne comprenait que les projets ayant les statuts « fermé », « terminé » et « en cours de mise en œuvre », garantissant ainsi une évaluation complète à toutes les étapes du cycle de vie des projets, ce qui a renforcé la robustesse et l’adaptabilité du modèle.

Ensuite, des manipulations ont été effectuées afin de générer des variables clés comme les dépenses moyennes, les dépenses antérieures, les montants restants et les valeurs des ententes de contribution. Un processus de désagrégation a enfin permis d’uniformiser les données à un niveau de granularité cohérent. Initialement structurées à plusieurs niveaux — projet, entente de contribution et programme — les données ont finalement été consolidées au niveau du projet afin de correspondre au cadre analytique du modèle de prévision.

Pour améliorer la capacité du modèle à cerner les contraintes financières et à surveiller les plafonds de dépenses, plusieurs variables dérivées ont été créées à partir des variables existantes. Ces variables comprennent le montant total du projet, le montant cumulatif du projet, les dépenses cumulatives antérieures, les dépenses récentes, la durée de vie du projet, la moyenne des dépenses précédentes, les fonds restants et les fonds restants au début de chaque exercice financier. En intégrant ces variables, on a enrichi l’ensemble de données d’analyses financières supplémentaires, ce qui a permis d’assurer une représentation plus précise des dynamiques de dépenses des projets.

Nouvelles variables Définition
Montant total du projet Le budget total alloué à un projet pour toute sa durée. Il s’agit de la somme de toutes les dépenses prévues pour le projet.
Montant cumulatif du projet Le montant total dépensé pour le projet depuis son lancement jusqu’à l’exercice financier en cours. Cela permet de suivre le pourcentage du budget déjà utilisé.
Dépenses cumulatives précédentes La somme des dépenses de tous les exercices précédents avant l’exercice en cours. Cette variable exclut les dépenses de l’année en cours, mais fournit un contexte financier historique.
Dépenses récentes Les dépenses de l’exercice financier le plus récent, ce qui reflète les tendances de dépenses actuelles.
Cycle de vie du projet Le nombre total d’années pendant lesquelles le projet est censé être actif, de son année de début à son achèvement prévu.
Dépenses moyennes précédentes Le montant moyen dépensé par année lors des exercices précédents. Ce montant est calculé comme suit : dépenses cumulatives précédentes / (année en cours-année de début).
Fonds restants Le budget total du projet moins les dépenses cumulatives. Cela représente les fonds encore disponibles pour les années futures.
Fonds restants au début de chaque exercice financier Le montant d’argent non dépensé au début d’un nouvel exercice financier, avant que de nouvelles dépenses ne soient effectuées.
Montant Une variable dérivée utilisée pour améliorer la précision des prévisions. Étant donné que les dépenses futures sont initialement de 0, le modèle a tendance à prédire des valeurs irréalistes. La variable Montant remplace les dépenses futures manquantes par les flux de trésorerie prévus (décaissements futurs prévus), tout en conservant les dépenses antérieures inchangées.

3.2.2. Segmentation

Une fois l’ensemble de données nettoyé et transformé, l’étape suivante a consisté à analyser la distribution des dépenses de projet afin d’orienter la méthodologie de modélisation. Comme l’illustre la figure 2 – Distribution des montants des projets, l’ensemble de données présentait une forte hétérogénéité : 95 % des projets ne représentaient que 5 % de la contribution financière totale du ministère, tandis que les 5 % restants représentaient 95 % des dépenses.

Figure 2: Project Amount Distribution
Figure 2 : Distribution des montants des projets (en anglais seulement)

Le nuage de points illustre la relation entre le coût total des projets et le nombre de projets. La majorité des points est regroupée vers le bas de l’échelle des coûts, ce qui signifie que de nombreux projets ont un coût total relativement faible. Cependant, quelques points s’étendent loin vers la droite, indiquant que certains projets ont des coûts très élevés. Cela crée une distribution asymétrique vers la droite, où la majorité des projets se situent dans la tranche des faibles coûts, mais un petit nombre de projets à coût élevé allongent la distribution.

Compte tenu des disparités importantes dans les dépenses de projets, nos collègues des finances ont initialement recommandé une approche de segmentation. Leur classification manuelle reposait sur les montants des projets afin de tenir compte de ce déséquilibre. Pour affiner cette approche, nous avons étudié une méthodologie de segmentation plus avancée. Plutôt que de segmenter selon le montant du projet, notre analyse a montré que la durée du projet offrait une meilleure différenciation. En effet, lors de la comparaison des résultats, la durée du projet a permis d’obtenir une plus grande homogénéité au sein des groupes, ce qui a donné lieu à des segmentations plus cohérentes et à une meilleure performance prédictive. Au cours de la phase d’élaboration, le passage du critère de segmentation du coût total du projet à la durée du projet a permis de réduire l’erreur absolue moyenne (EAM) du modèle de forêt aléatoire d’au moins 300 000. Cette première catégorisation des projets en importance relative élevée (> 5 ans) et en importance relative faible (< 5 ans) a entraîné une amélioration mesurable de la performance du modèle.

3.2.3. Analyse en composantes principales

Pour traiter la multicolinéarité entre les variables clés, nous avons intégré une analyse en composantes principales (ACP). Une analyse du facteur d’inflation de la variance a révélé une forte colinéarité, comme l’illustre la figure 3, notamment entre les variables financières comme le montant total du projet, le montant cumulé du projet et les fonds restants. Cette redondance présentait un risque de distorsion des prédictions, en particulier pour les programmes de grande envergure comme le Programme d’infrastructure Investir dans le CanadaNote de bas de page 1.

Figure 3: Correlation Matrix – overview of multicollinearity among variables
Figure 3 : Matrice de corrélation : aperçu de la multicolinéarité entre les variables (en anglais seulement)

La matrice de corrélation fournit un aperçu des relations entre toutes les variables du modèle. Chaque cellule représente le coefficient de corrélation entre deux variables, allant de -1 (forte corrélation négative) à 1 (forte corrélation positive). Les variables fortement corrélées indiquent une redondance potentielle, tandis qu’une corrélation faible ou inexistante indique des variables indépendantes. Les valeurs diagonales sont toujours égales à 1, car chaque variable est parfaitement corrélée avec elle-même. Cette matrice aide à identifier la multicolinéarité, à sélectionner les variables les plus pertinentes et à comprendre les interactions entre les variables de l’ensemble de données.

En appliquant l’ACP, nous avons transformé les variables d’origine en composantes orthogonales, ce qui rend bien compte de la variance maximale dans un espace de dimension réduite. L’analyse de la variance expliquée a montré que cinq composantes conservaient environ 90 % de la variance totale, préservant ainsi la majeure partie de l’information de l’ensemble de données tout en réduisant la dimensionnalité. Ce compromis permet d’atténuer la multicolinéarité tout en maintenant le pouvoir prédictif des variables clés.

Figure 4:  Variance by number of component
Figure 4 : Variance selon le nombre de composantes (en anglais seulement)

Le graphique illustre la variance expliquée en fonction du nombre de composantes principales (CP). La courbe montre une forte augmentation initiale, indiquant que les premières composantes saisissent la majorité de la variance de l’ensemble de données. Dotée de cinq composantes principales, la variance expliquée cumulée atteint 90 %, ce qui sous-entend que ces composantes conservent l’essentiel de l’information tout en réduisant la dimensionnalité. Au-delà de ce point, les composantes supplémentaires n’apportent qu’une contribution marginale à la variance totale, soulignant l’efficacité de l’utilisation de cinq CP pour représenter les données.

L’ACP a été utilisée pour réduire la multicolinéarité parmi les variables financières tout en préservant les caractéristiques les plus informatives. La figure 5 : Résultats de l’analyse en composantes principales illustre les charges de cette méthode, qui représentent la force avec laquelle chaque variable d’origine contribue à une composante principale donnée.

Figure 5: PCA results
Figure 5: Résultats de l’analyse en composantes principales (en anglais seulement)

La carte thermique des charges de l’analyse en composantes principales représente visuellement la contribution de chaque variable d’origine aux composantes principales, mettant en évidence les dimensions clés des dépenses de projet. Chaque composante principale a été dérivée pour refléter un aspect financier distinct des projets. Le financement et l’échelle du projet sont principalement influencés par le montant total de la contribution au programme, le montant total du projet et le montant cumulé du projet, ce qui rend compte de la portée financière globale. Les ressources restantes donnent une bonne représentation des fonds non dépensés, dominés par des variables liées aux valeurs budgétaires restantes. Les ressources initiales sont axées sur l’enveloppe financière initiale : elles ont des contributions modérées provenant des contributions totales au programme et des montants totaux du projet. La durée du projet est fortement associée à la durée de vie du projet, indiquant son rôle dans la prise en compte des aspects temporels. Enfin, les contributions au cycle de vie représentent les tendances historiques des dépenses grâce à des variables comme le montant cumulé du projet, les dépenses précédentes et les dépenses moyennes antérieures. Cette approche de réduction de la dimensionnalité atténue la multicolinéarité, ce qui garantit la stabilité du modèle tout en conservant le pouvoir explicatif des prédicteurs financiers.

Pour améliorer l’interprétabilité, les composantes principales ont été renommées en fonction de leurs charges dominantes.

  • Composante principale 1 : Financement et échelle du projet – Cette composante est influencée par le montant total de la contribution au programme (TOTAL_PROGRAM_CONTRIBUTION_AMT [0,41]), le montant total du projet (project_total_amount [0,41]) et le montant cumulatif du projet (cumulative_project_amount) [0,37]. Elle représente la portée financière globale d’un projet, en mettant l’accent sur le financement total disponible.
  • Composante principale 2 : Ressources restantes – Cette composante représente la disponibilité des fonds non dépensés, principalement déterminée par les fonds restants (Remaining [0,46]) et les fonds restants au début de l’exercice (Remaining_start_year [0,41]). Elle indique que des fonds sont encore accessibles pour les projets en cours.
  • Composante principale 3 : Ressources initiales – Cette composante est relativement influencée par le montant total de la contribution au programme (TOTAL_PROGRAM_CONTRIBUTION_AMT [0,21]), le montant total du projet (project_total_amount [0,10]) et le montant cumulatif du projet (cumulative_project_amount [0,04]), ce qui sous-entend qu’elle est liée à l’allocation initiale des ressources financières au début d’un projet.
  • Composante principale 4 : Durée du projet – Cette composante est fortement corrélée avec la durée de vie du projet (project_lifetime [0,70]), indiquant qu’elle prend en compte la longévité du projet et son lien avec les tendances de dépenses antérieures.
  • Composante principale 5 : Contributions au cycle de vie – Cette composante représente l’équilibre financier tout au long du cycle de vie d’un projet, la durée de vie du projet (project_lifetime [0,61]) et les dépenses antérieures (previous_spend [0,26]) constituant une contribution importante.

En intégrant l’ACP dans notre pipeline de modélisation, nous avons efficacement résolu les problèmes de colinéarité présents dans l’ensemble de données d’origine, tout en améliorant la stabilité et l’interprétabilité du modèle.

L’analyse a également fait ressortir un point important : si la majorité de la variance n’est pas prise en compte dans un petit nombre de composantes, cela peut indiquer une structure de données complexe ou des relations non linéaires. Dans ce cas, des méthodes comme l’ACP à noyaux, la méthode t-SNE ou la méthode UMAP pourraient être plus adaptées. Cependant, puisque L’ACP à cinq composantes permet de conserver 90 % de la variance, elle reste un choix pertinent pour la réduction de la dimensionnalité dans ce contexte. De futurs travaux pourraient porter sur des méthodes d’encodage non linéaires pour déterminer si une autre approche pourrait offrir de meilleures performances.

4. Élaboration du modèle de prévision par apprentissage automatique pour les subventions et les contributions

Une fois la phase de prétraitement terminée, l’étape suivante a consisté à construire un modèle de prévision robuste. Cela a supposé la sélection d’un algorithme approprié, l’ajustement des hyperparamètres et l’évaluation des performances afin de garantir une précision adaptée à des projets de tailles variées. Étant donné la complexité des données financières, notre approche a mis l’accent sur l’interprétabilité, la stabilité et l’harmonisation avec les besoins opérationnels.

4.1. Ensemble de données définitif

Variable Définition Données-échantillons
Numéro d’identification du projet Identifiant unique attribué à chaque projet. 13176
Numéro d’identification de l’entente de contribution Identifiant unique liant le projet à une entente de financement précise. 2
Exercice financier Exercice financier associé aux dépenses et aux flux de trésorerie du projet. 2007-2008
Flux de trésorerie du projet Flux de trésorerie projeté ou réel (rentrées et sorties) du projet. 500 000
Dépenses du projet Montant dépensé pour le projet au cours d’une période donnée. 500 000
Montant total par entente de contribution Budget total alloué dans le cadre d’une entente précise. 2 000 000
Statut du projet État actuel du projet (p. ex. actif, terminé, en attente). Terminé
Montant Variable dérivée utilisée pour améliorer la précision des prévisions. Variable cible. 500 000
Composante principale 1 Financement et échelle du projet : représente la portée financière globale du projet, en mettant l’accent sur le financement total disponible. -0.68
Composante principale 2 Ressources restantes : indique que des fonds sont encore accessibles pour les projets en cours. 0.97
Composante principale 3 Ressources initiales : relatif à l’allocation initiale des ressources financières au début du projet. -1.34
Composante principale 4 Durée du projet : reflète la longévité du projet et son lien avec les tendances de dépenses antérieures. -0.19
Composante principale 5 Contributions au cycle de vie : représente l’équilibre financier tout au long du cycle de vie du projet, la durée de vie et les dépenses antérieures constituant un apport important. -0.08

Remarque : Étant donné que la segmentation faisait partie des scénarios de test, nous avons initialement conservé deux ensembles de données distincts (df_matérialité_élevée et df_matérialité_faible [df_high and df_low]) en regroupant les projets en fonction de leur seuil d’importance relative (matérialité).

4.2. Entraînement du modèle

L’ensemble de données a été structuré sous forme de série chronologique, couvrant les exercices financiers de 2003-2004 à 2023-2024. Il a été divisé en un ensemble d’entraînement (75 %) et un ensemble de tests (25 %), en veillant à utiliser les données antérieures pour prévoir les dépenses à venir. Une fois entraîné, le modèle a été utilisé pour prédire les dépenses de l’exercice financier en cours (2024-2025) pour réaliser des projections pour les trois années suivantes. Le processus d’entraînement était itératif, ce qui a permis de peaufiner les modèles pour optimiser les performances tout en maintenant leur stabilité.

4.3. Comparaison des modèles

Plusieurs modèles ont été évalués, notamment le modèle de forêt aléatoire, l’amplification du gradient (Gradient Boosting) et l’arbre de décision à gradient amplifié extrême (XGBoost), en fonction de leur précision prédictive et de leur capacité à bien rendre compte des schémas présents dans les données financières. Étant donné que les dépenses suivent une évolution séquentielle dans le temps, les modèles devaient prendre en compte les dépendances temporelles et les tendances sous-jacentes.

Chaque modèle présente des caractéristiques distinctes :

  • Laforêt aléatoire, une méthode d’ensemble, a permis de représenter efficacement des interactions complexes, ce qui en fait un bon candidat pour la prévision financière.
  • L’amplification du gradient a permis d’affiner les prédictions grâce à un apprentissage itératif, améliorant ainsi la précision.
  • L’arbre de décision à gradient amplifié extrême, une version optimisée de l’amplification du gradient, a offert une précision accrue tout en limitant le surapprentissage.

Les performances des modèles ont été évaluées à l’aide de deux mesures clés :

  • R² (coefficient de détermination) : mesure dans quelle mesure le modèle explique la variance des dépenses.
  • EAM (erreur absolue moyenne) : quantifie l’erreur moyenne de prédiction, fournissant une mesure claire de la précision financière.

4.4. Évaluation des performances du modèle

La section qui suit présente les mesures utilisées pour comparer les différents modèles. L’objectif était de trouver un équilibre entre précision prédictive, stabilité et interprétabilité, tout en tenant compte de la complexité des données financières.

Scénarios Caractéristiques Meilleure performance du modèle (mesures)
Scénario 1
  • Sans segmentation
  • Analyse en composantes principales (ACP)
Forêt aléatoire (EAM : 137 570 ; R² : 93 %)
Surapprentissage
Scénario 2
  • Sans segmentation
  • ACP
  • Limite des valeurs aberrantes
Forêt aléatoire (EAM : 852 243 ; R² : 36 %)
Scénario 3
  • Sans segmentation
  • ACP
  • Limite des valeurs aberrantes
  • estimateurs n = 100, profondeur maximale = 10, nombre minimal d’échantillons par feuille = 5, état aléatoire = 42
Forêt aléatoire (EAM : 888 558 ; R² : 37 %)
Scénario 4
  • Sans segmentation
  • ACP
  • Limite des valeurs aberrantes
  • Pondération pour les années plus récentes
  • estimateurs n = 100, profondeur maximale = 10, nombre minimal d’échantillons par feuille = 5, état aléatoire = 42
Forêt aléatoire (EAM : 888 526 ; R² : 81 %)
Scénario 5
  • Sans segmentation
  • ACP
  • Limite des valeurs aberrantes
  • Optimisation automatique des hyperparamètres
Forêt aléatoire (EAM : 758 012 ; R² : 40 %)

4.5. Évaluation de la performance du modèle – Éléments à prendre en considération

Afin d’optimiser la performance du modèle, plusieurs découpages d’ensembles de données ont été évalués, notamment des séparations de 25 % à 30 % ainsi que des découpages automatisés. Chaque scénario a été testé pour analyser la façon dont les différentes partitions des données d’entraînement et d’essais influaient sur la précision et la généralisabilité du modèle. L’approche de découpage automatisé a également été envisagée afin de garantir la robustesse du modèle face à divers types de partitionnement. Cette vérification exhaustive a permis de déterminer la configuration de découpage la plus efficace pour améliorer les capacités prédictives du modèle.

Après optimisation du découpage, nous avons évalué l’incidence de la segmentation et de l’ACP sur les performances du modèle. Bien que la segmentation ait été initialement prévue pour améliorer la précision, les tests ont démontré que la supprimer tout en conservant l’ACP permettait d’obtenir des prévisions plus stables et plus précises. Au départ, la segmentation avait conduit à la création de deux ensembles de données distincts, regroupant les projets selon des critères prédéfinis. Cependant, une analyse plus poussée a révélé qu’un ensemble de données unifié offrait une meilleure cohérence, facilitait la mise en œuvre du modèle et améliorait l’extensibilité. Cette découverte a mis en évidence l’efficacité de la réduction de la dimension pour saisir les principales tendances tout en minimisant le bruit. Par conséquent, la priorité a été accordée à l’ACP comme technique principale pour gérer la complexité des données et garantir un modèle de prévision plus robuste et généralisable.

Enfin, nous avons effectué un réglage des hyperparamètres à la fois manuellement et par optimisation automatique. Toutefois, ce réglage n’a pas toujours donné lieu à des améliorations importantes. Par exemple, un modèle de forêt aléatoire optimisé a permis d’obtenir une EAM légèrement inférieure (811 547) et un R² supérieur (39 %), mais ce gain marginal ne justifiait pas la complexité supplémentaire. Dans certains cas, le réglage des hyperparamètres a même introduit un surapprentissage, renforçant ainsi la fiabilité de la configuration par défaut plus simple.

4.6. Meilleurs Résultats du modèle

Notre analyse a révélé que le modèle de forêt aléatoire dominait systématiquement les autres en équilibrant précision prédictive et cohérence avec les prévisions financières. Parmi les configurations testées, le meilleur modèle était le modèle de forêt aléatoire (EAM : 852 243, R² : 36 %), lequel a permis d’estimer les dépenses à 4,8 milliards pour 2024-2025 et à 5,2 milliards pour 2025-2026, ce qui le rendait le plus proche des prévisions du centre d’expertise en subventions et contributions. La formule utilisée pour calculer la précision est la suivante :

Figure 6: Accuracy computation
Figure 6 : Calcul de la précision du modèle (en anglais seulement)

Le modèle d’apprentissage automatique a démontré un taux de précision de 94,98 % pour l’exercice financier 2021-2022 et de 99,20 % pour l’exercice 2022-2023. Ce niveau de précision est prometteur et a conduit à l’adoption des modèles par les conseillers en gestion financière dans le cadre de leur processus de prévision des dépenses pour les exercices financiers 2024-2025 à 2026-2027.

4.7. Limites du modèle de prévision par apprentissage automatique

Malgré des résultats prometteurs, le modèle de prévision basé sur l’apprentissage automatique (AA) présente plusieurs limites qui doivent être prises en compte. Les programmes sans enregistrements de projet dans le système ne peuvent pas être modélisés, car le modèle doit connaître l’existence d’un projet pour générer une prévision. De plus, le modèle a été conçu pour prévoir les demandes de remboursement dans le cadre des programmes à exécution directe. Il est donc moins précis lorsqu’il s’agit d’autres types de paiements, comme les subventions, les avances ou les paiements basés sur des jalons. Le modèle donne également des résultats moins précis pour les programmes de subventions et de contributions (S et C) fondés sur l’allocation ou le transfert. Enfin, la précision du modèle diminue pour ce qui est des projets individuels, lesquels peuvent présenter des comportements de dépenses atypiques.

Ces limites signifient que le modèle donne actuellement les meilleurs résultats pour les programmes à exécution directe comptant 30 projets actifs ou plus dans le système et pour lesquels la majorité des demandes sont basées sur des remboursements.

5. Résultats pour les opérations

5.1. Façon de mettre l’apprentissage automatique à la disposition des équipes opérationnelles

Pour améliorer l’interprétation des résultats du modèle, les dépenses prévues ont été intégrées dans un tableau de bord existant utilisé par les conseillers en gestion financière (CGF) (figure 7). Ce tableau de bord présente visuellement les tendances de dépenses, ce qui permet de comparer les dépenses réelles, les prévisions générées manuellement par les CGF et celles du modèle d’apprentissage automatique (AA).

Figure 7: PowerBI Results Visualization
Figure 7 : Visualisation des résultats dans PowerBI (en anglais seulement)

Cette capture d’écran est présentée à titre illustratif uniquement et ne contient pas de données réelles de Logement, Infrastructures, et Collectivités Canada. Elle montre un graphique en courbes où la ligne orange représente les dépenses, la ligne bleue représente les flux de trésorerie, et la ligne verte représente les prévisions du modèle de forêt aléatoire, ce qui facilite la visualisation des tendances historiques et des projections futures. Sous le graphique, un tableau de données fournit des précisions à l’échelle des projets, ce qui permet une analyse plus approfondie. À gauche, un panneau de filtres permet aux CFG d’affiner leur recherche en sélectionnant des critères précis, ce qui garantit une présentation ciblée et personnalisée des données. Le graphique et le tableau s’ajustent de façon dynamique en fonction de ces filtres, améliorant ainsi l’utilisabilité et la génération de renseignements.

Le tableau de bord interactif comprend également des fonctionnalités de rapports personnalisés, ce qui permet aux utilisateurs d’adapter leur affichage en sélectionnant des critères précis, comme la province, le programme ou l’exercice financier. Cette flexibilité garantit que les utilisateurs peuvent adapter l’exploration des données à leurs besoins d’analyse particuliers. De plus, la nature interactive de la visualisation permet aux utilisateurs de survoler un point de la courbe pour afficher les valeurs exactes de chaque exercice, offrant une exploration des données plus intuitive et détaillée. Cette combinaison de rapports dynamiques et de visualisations interactives permet une analyse approfondie et facilite la prise de décisions basées sur les résultats du modèle d’AA.

5.2. Répercussions sur les activités

Le modèle d’AA a été mis en œuvre en mai 2024 pour prévoir les dépenses des programmes de subventions et de contributions (S et C) pour les exercices 2024-2025 à 2027-2028. Il a généré des prévisions pluriannuelles pour neuf des programmes de S et C du ministère, ce qui représente environ 80 % du financement total de ces programmes. La précision du modèle sera évaluée en avril 2025 et en avril 2026, à la fin des exercices 2024-2025 et 2025-2026, respectivement.

La mise en œuvre du modèle a permis de rationaliser le processus de prévision, réduisant le temps requis de trois mois à un mois. Cela a été rendu possible en fournissant aux CGF une prévision de référence, générée par le modèle d’AA, ce qui a facilité les discussions avec leurs programmes respectifs et permis d’harmoniser les attentes avant le processus de collecte des flux de trésorerie des bénéficiaires.

De plus, le tableau de bord intégré soutient les discussions continues avec les parties prenantes en s’appuyant sur des données à jour dans le cadre de la préparation des rapports réguliers du ministère.

6. Conclusion et prochaines étapes

En conclusion, la présente étude met en évidence le potentiel considérable de la mise en œuvre d’un modèle de prévision basé sur l’AA dans le cadre de la prédiction des dépenses pour les programmes de S et C de Logement, Infrastructures, et Collectivités Canada. Le modèle démontre un haut niveau de précision lorsqu’il est comparé aux dépenses historiques et est actuellement mis à l’essai par rapport aux dépenses réelles au cours des deux prochaines années, dans l’espoir d’optimiser le financement des subventions et des contributions, de réduire les crédits inutilisés dans les comptes publics et de rationaliser les processus financiers. Malgré les défis et les limites évoqués, les résultats globaux sont prometteurs quant à l’amélioration de la prise de décision financière et de l’efficacité opérationnelle.

Le succès de cette initiative a été officiellement reconnu en décembre 2024, lorsque le projet a reçu le prix de l’innovation 2024 du contrôleur général, soulignant son incidence considérable sur la gestion financière. Depuis, le modèle a suscité l’intérêt de plusieurs ministères, ce qui a donné lieu à des consultations en vue de son application à plus grande échelle. Les efforts continus en vue de promouvoir son adoption témoignent d’une reconnaissance croissante du potentiel des solutions basées sur l’AA pour améliorer les prévisions financières et l’allocation des ressources dans le secteur public.

En outre, le projet a été présélectionné pour l’édition 2025-2026 du Défi des données de la fonction publique. Cette reconnaissance met en lumière l’intérêt croissant de plusieurs ministères pour l’adoption de cet outil de prévision basé sur l’AA. Les efforts constants pour favoriser son adoption soulignent la reconnaissance croissante du potentiel des solutions d’apprentissage automatique pour améliorer les prévisions financières et optimiser l’allocation des ressources dans le secteur public.

Meet the Data Scientist

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à Rencontrez les scientifiques des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Inscrivez-vous à l'événement Rencontrez les scientifiques des données.  À bientôt!

Abonnez-vous au bulletin d'information du Réseau de la science des données pour la fonction publique fédérale pour rester au fait des dernières nouvelles de la science des données.

Application de la classification par apprentissage automatique semi-supervisé aux exercices de détection d’anomalies : Les données de capteurs

par Stany Nzobonimpa, Mohamed Abou Hamed, Ilia Korotkine, Tiffany Gao, Logement, Infrastructures et Collectivités Canada

Remerciements

Les auteurs souhaitent remercier les personnes suivantes pour leur contribution et leur soutien au projet : Kate Burnett-Isaacs, directrice, Science des données et Matt Steeves, directeur principal de l’Ingénierie, des Opérations techniques et des Projets – Grands ponts et Projets.

Introduction

Dans le domaine de la science des données, le recensement et le signalement d’événements, tels que des points de données qui s’écartent de manière considérable du comportement normal ou attendu, sont connus sous le nom de détection d’anomalie. Les anomalies présentent un intérêt particulier pour les scientifiques de données, car elles signalent des problèmes sous-jacents qui éveillent des soupçons et justifient généralement de procéder à une enquête. Diverses techniques statistiques ont de tout temps été appliquées pour répondre aux questions relatives aux anomalies, et les progrès en matière d’intelligence artificielle (IA) ont fait de cet exercice l’une des applications les plus connues des approches et des cadres relatifs à l’apprentissage automatique.

Dans cet article, nous présentons et examinons les principales constatations d’un projet appliquant la détection d’anomalies aux données de capteurs. Le projet a été réalisé au sein de LICC par une équipe pluridisciplinaire de scientifiques de données et d’ingénieurs. Bien que le projet se déroule en plusieurs étapes, l’article présente les méthodes et les résultats de la première phase, au cours de laquelle les données de capteurs d’un pont fédéral ont été utilisées pour la détection précoce des relevés anormaux.

L’article est structuré comme suit : nous commençons par une brève revue de la littérature pertinente et récente sur la détection des anomalies et ses applications, où nous montrons que les méthodes de détection des anomalies dans les données ont évolué et continuent d’évoluer. Nous présentons par la suite la problématique, les méthodes et les résultats de cette première étape du projet. Plus particulièrement, nous montrons que l’approche nous a permis de signaler de manière proactive, plus rapidement et de manière moins laborieuse, des anomalies dans les données de capteurs générées qui auraient pu ne pas être détectées autrement. En effet, nos résultats montrent que pour la période d’avril 2020 à septembre 2024, un certain nombre de relevés de capteurs ont été correctement signalés comme des anomalies en utilisant les méthodes que nous présentons dans cet article. La conclusion précise les prochaines étapes du projet.

Revue de la littérature

L’application de l’apprentissage automatique pour la détection des anomalies

La détection d’anomalies est depuis longtemps un sujet d’intérêt dans le domaine de l’exploration de données, qui a jeté les bases de nombreuses approches modernes d’apprentissage automatique. Les travaux fondamentaux dans le domaine de l’exploration de données ont largement étudié les techniques de détection des anomalies, notamment les méthodes fondées sur le regroupement, la distance et la densité. Ainsi, la détection des anomalies est l’une des principales applications de la technologie d’apprentissage automatique qui est utilisée par les praticiens de l’IA depuis des décennies (Nassif et coll., 2021). Dans sa forme la plus simple, la détection des anomalies est connue sous le nom de détection des valeurs aberrantes et consiste à signaler les points de données qui s’écartent de manière considérable de la majorité des données ou qui ne s’y conforment pas. Les multiples applications de la détection des anomalies dans des domaines aussi divers que la recherche médicale, la cybersécurité, la fraude financière et l’application de la loi ont suscité l’intérêt des chercheurs et des praticiens et ont donné lieu à une littérature florissante sur le sujet (Chandola et coll., 2009).

Historiquement, la détection des anomalies pouvait être réalisée manuellement en examinant et en filtrant les données et en utilisant la connaissance du contexte pour fournir des renseignements sur les comportements détectés. Au fur et à mesure que les ensembles de données s’étoffent, les approches statistiques s’avèrent utiles pour détecter les anomalies. Par exemple, Soule et coll. (2005) ont proposé une combinaison de filtrage avec des filtres de Kalman et d’autres techniques statistiques pour détecter un grand volume d’anomalies dans les grands réseaux. Les auteurs affirment que la détection des anomalies peut toujours être considérée comme un problème de test d’hypothèse; ils utilisent également les comportements, les moyennes résiduelles et les changements de variance dans le temps pour comparer quatre approches statistiques différentes de la détection des anomalies (p. 333-338).

Soule et coll. (2005, p. 334) soutiennent que les courbes caractéristiques de la performance d’un test (courbes ROC) sont fondées sur des tests d’hypothèses et que toute méthode de détection d’anomalies s’appuiera à un moment donné sur un test d’hypothèse pour vérifier si une hypothèse (p. ex. l’existence d’une anomalie) est vraie ou fausse. Un test (courbes ROC) permet de détecter les anomalies ou les données binaires normales. Une autre technique qui a été appliquée à la détection d’anomalies est une technique appelée « statistiques robustes » par Rousseeuw et Hubert (2017). Ces auteurs ont mis en pratique ces techniques en utilisant l’ajustement de la majorité des données et en signalant les anomalies une fois l’ajustement des données normales terminé. Par exemple, les auteurs proposent d’estimer les emplacements et les échelles unidimensionnelles à l’aide de moyennes, de médianes et d’écarts-types.

Alors que les techniques, comme celles proposées par Soule et coll. (2005) et Rousseeuw et Hubert (2017) pour la détection d’anomalies sont populaires et ont été appliquées à divers contextes et problèmes, l’arrivée de modèles d’apprentissage automatique avancés et de capacités de calcul rend l’exercice plus facile et modulable en fonction de grandes quantités de données. En outre, certaines anomalies peuvent être plus difficiles à détecter et peuvent nécessiter des techniques plus avancées (Pang et coll., 2021). Ces auteurs soulignent que certaines difficultés particulières peuvent s’avérer plus complexes et nécessiter des approches avancées. Ils affirment que la détection des anomalies est plus problématique et plus complexe parce qu’elle se concentre sur des données minoritaires qui sont généralement rares, diverses, imprévisibles et incertaines. Par exemple, les auteurs soulignent le défi suivant lié à la complexité des anomalies (Pang et coll., 2021) :

La plupart des méthodes existantes concernent les anomalies ponctuelles, qui ne peuvent être utilisées pour les anomalies contextuelles et les anomalies collectives, car elles présentent des comportements complètement différents des anomalies ponctuelles. L’un des principaux défis dans le cas présent consiste à intégrer le concept d’anomalies contextuelles et collectives dans les mesures et les modèles d’anomalie. En outre, les méthodes actuelles sont axées principalement sur la détection d’anomalies à partir de sources de données uniques, alors que de nombreuses applications nécessitent la détection d’anomalies selon de multiples sources de données hétérogènes, par exemple des données multidimensionnelles, des graphiques, des images, du texte et des données audio. L’une des principales difficultés réside dans le fait que certaines anomalies ne peuvent être détectées qu’en tenant compte de deux sources de données ou plus (p. 4, traduction libre).

Les auteurs font donc une distinction entre ce qu’ils appellent la détection d’anomalies « traditionnelle » et la détection d’anomalies « profonde » (p. 5), et affirment que ce dernier type de détection s’intéresse à des situations plus complexes et permet « l’optimisation de bout en bout de l’ensemble du pipeline de détection d’anomalies, ainsi que l’apprentissage de représentations précisément adaptées à la détection d’anomalies » (p. 5, traduction libre). La détection des anomalies contextuelles est une méthode qui permet de repérer des valeurs inhabituelles dans un sous-ensemble de variables tout en tenant compte des valeurs d’autres variables. La détection des anomalies collectives est axée sur le repérage des anomalies au sein de groupes de données. Au lieu d’examiner des points de données individuels, cette approche permet d’étudier les tendances et les comportements collectifs afin de détecter tout écart par rapport à la norme.

Comme l’ont souligné des auteurs, tels que Chandola et coll. (2009), Pang et coll. (2021) et Nassif et coll. (2021), entre autres, l’apprentissage automatique a rendu les exercices de détection des anomalies plus robustes et plus harmonieux. En effet, de nombreuses techniques exploitant les technologies d’apprentissage automatique ont été proposées et appliquées à la détection des anomalies et se sont révélées pratiques et utiles pour automatiser le processus (Liu et coll., 2015). Par exemple, Nassif et coll. (2021) ont séparé la détection des anomalies fondée sur l’apprentissage automatique en trois grandes catégories : la détection d’anomalies supervisée où le processus comprend l’étiquetage d’un ensemble de données et l’entraînement d’un modèle pour reconnaître les points anormaux en fonction des étiquettes; la détection d’anomalies semi-supervisée où l’ensemble d’apprentissages n’est que partiellement étiqueté; la détection d’anomalies non supervisée où aucun ensemble d’apprentissage n’est nécessaire et où un modèle détecte et signale automatiquement les tendances anormales.

Au cours de ce projet, nous avons exploité la catégorie d’apprentissage automatique semi-supervisée où les données de capteurs sont partiellement étiquetées. Nous montrons que cette approche, combinée à une compréhension approfondie des relevés de capteurs, permet d’obtenir des résultats fiables et présente l’avantage non négligeable d’un réglage de précision du modèle et des paramètres statistiques tout en conservant le pouvoir d’automatisation de l’apprentissage automatique.

Contexte de la recherche : Le problème et le pipeline de données

Le problème

Des capteurs physiques de surveillance de l’état des structures sont installés à des endroits stratégiques le long d’une infrastructure donnée, par exemple un pont ou un barrage, afin d’enregistrer son comportement. La plupart des capteurs fonctionnent en enregistrant des signaux électroniques, qui sont ensuite convertis en force, en mouvements, en vibrations, en inclinaisons et en d’autres renseignements essentiels pour nous permettre de comprendre l’état de l’infrastructure. Ces capteurs envoient en permanence de grandes quantités de données. Pour que ces données de surveillance de l’état des structures puissent être utilisées par les ingénieurs et les exploitants de ponts en vue d’une gestion adéquate des biens, elles doivent d’abord être débarrassées des anomalies, telles que les valeurs aberrantes et le bruit.

Les propriétaires et les opérateurs d’infrastructures essentielles mènent régulièrement des activités de diligence raisonnable pour s’assurer de l’état des structures de leurs biens. Dans un premier temps, les données qui dépassent les seuils maximaux ou minimaux prédéfinis par les concepteurs du pont sont désignées comme des valeurs aberrantes. Cependant, les données des systèmes de surveillance de l’état des structures sont souvent plus complexes et nécessitent une analyse plus poussée pour éliminer les valeurs aberrantes et le bruit des données qui se situent à l’intérieur de ces seuils prédéfinis.

Avant de développer l’approche d’apprentissage automatique, l’équipe des grands ponts et projets effectuait des analyses qui nécessitaient la détection manuelle d’anomalies dans de grandes quantités de données de capteurs, un travail qui s’est avéré complexe, laborieux, moins efficace et sujet à l’erreur humaine. L’utilisation de techniques d’apprentissage automatique a permis aux équipes de mettre à l’essai un mécanisme de détection des anomalies plus rapide et plus précis.

Ce projet a été mené dans le cadre d’un partenariat entre l’équipe de science des données et l’équipe des grands ponts et projets de LICC.

L’objectif général du projet est d’améliorer la surveillance de l’état de l’infrastructure des ponts en produisant moins de bruit dans les données. Les objectifs précis comprennent la détection d’anomalies (dénombrement) parmi les données de capteurs de différents types, telles que les anomalies causées par des fluctuations irrégulières ou l’absence de fluctuations, ainsi que le repérage des tendances d’anomalies parmi les données de capteurs. En outre, le projet vise à éclairer le processus décisionnel concernant la mise en œuvre d’une nouvelle technologie de détection des anomalies.

Le pipeline de données

Le pipeline de données du projet suit un processus typique de science des données : l’équipe d’analyse reçoit les relevés des capteurs; le nettoyage et le prétraitement sont effectués à l’aide de Python; des ensembles d’apprentissage sont créés, étiquetés et mis à l’essai; des modèles d’apprentissage automatique sont appliqués à l’aide de la bibliothèque scikit-learn de Python; les prédictions qui en résultent sont visualisées à l’aide de MS Power BI. La figure 1 ci-dessous résume le pipeline de données pour le projet.

Figure 1 : Pipeline des données
Figure 1 : Pipeline des données

Description :
La figure 1 montre une image illustrant le pipeline des données du projet. Il commence par les données d’entrée, qui comprennent les relevés de capteurs, les identifiants de capteurs, la date, l’heure et la température. Ces données sont ingérées dans une bibliothèque de documents SharePoint. L’étape suivante dans le pipeline est le nettoyage et le prétraitement des données, suivis de l’apprentissage automatique. Dans la dernière étape, les données post-traitées sont stockées à nouveau dans la bibliothèque SharePoint. L’ensemble d’apprentissage comprend l’étiquetage des données et l’apprentissage et la mise à l’essai des itérations. L’ensemble du projet repose sur des données de capteurs.

Méthodes

Le projet repose sur une approche de classification d’apprentissage automatique semi-supervisée semblable aux techniques exposées dans la section de revue de la littérature. Cette technique repose sur une combinaison de données étiquetées et non étiquetées où nous étiquetons partiellement un ensemble d’apprentissage et appliquons des paramètres statistiques dans le processus de détection d’anomalies comme décrit dans les sections suivantes. Le choix de la méthode a été fait selon de multiples facteurs qui permettent le contrôle des données d’apprentissage, des types d’anomalies, de la rentabilité, de la reproductibilité et du rendement, entre autres. Des auteurs tels que Soule et coll. (2005) et Rousseeuw et Hubert (2017) ont proposé des méthodes fiables pour l’utilisation de techniques statistiques dans la détection d’anomalies et ont démontré que la combinaison de ces techniques avec des approches d’apprentissage machine existantes donne des résultats fiables alors que l’utilisation de l’apprentissage automatique seule ne permet généralement pas de cerner les types d’anomalies difficiles à détecter (Spanos et coll., 2019; Jasra et coll., 2022). Cette constatation s’est avérée exacte dans ce projet : lorsque nous avons appliqué un modèle d’apprentissage automatique non supervisé pendant l’étape d’exploration, nous avons réalisé que seules les données aberrantes, c’est-à-dire celles qui étaient considérablement supérieures ou inférieures aux données moyennes, étaient signalées comme des anomalies. Cependant, nous avions besoin d’une méthode qui nous permettrait de détecter les anomalies qui ne sont pas facilement détectables.

Pour mettre en œuvre cette approche avec succès, nous avons partiellement étiqueté un ensemble d’échantillons et formé un modèle d’apprentissage automatique pour signaler ces anomalies. Avant d’exécuter le modèle supervisé, nous avons prérempli les prédictions d’anomalies selon une approche non supervisée et fondée sur des règles assortie de paramètres prédéfinis pour les écarts-types et la taille des fenêtres des séries temporelles décrits dans les sections suivantes. Avec un ensemble d’apprentissages partiellement étiqueté, la classification d’apprentissage automatique a été appliquée, et nous avons choisi l’algorithme d’optimisation du gradient résumé par les équations (1) et (2) ci-dessous :

(1) y ^ = F K ( x )

(2) F K ( x ) = F 0 ( x ) + i = 1 K γ i λ i ( x )

où:

  • y ^ représente les étiquettes de données binaires prédites pour un relevé normal ou anormal du capteur;
  • X représente un ensemble de variables explicatives pour les données d’une série temporelle avec le relevé du capteur, la date et l’heure;
  • F( x ) représente la fonction apprise par le classificateur à partir des données d’apprentissage (étiquetées);
  • F 0 représente une valeur initiale constante pour la prédiction cible;
  • K représente le nombre d’étapes d’optimisation également appelées « systèmes d’apprentissage faibles »;
  • γ i représente des coefficients également connus sous le nom de taux d’apprentissage;
  • λ i représente les systèmes d’apprentissage faibles ou les arbres de décision.

L’expression dans l’équation (1) représente la sortie prédite du modèle y pour les caractéristiques d’entrée x où F est la fonction agrégée combinant tous les systèmes d’apprentissage faibles individuels. L’expression dans l’équation (2) illustre la manière dont le modèle est construit itérativement sur K (étapes d’optimisation) : en partant d’une constante initiale, chaque itération suivante ajoute un système d’apprentissage faible mis à l’échelle afin de réduire progressivement les erreurs résiduelles.

Il est important de souligner que l’algorithme d’optimisation du gradient offre généralement un meilleur rendement que d’autres modèles d’apprentissage ensembliste (Ebrahimi et coll., 2019) et, dans certains cas, les auteurs ont constaté qu’un arbre de décision de gradient renforcé était largement supérieur à certaines modélisations neuronales (Qin et coll., 2021). Avant d’employer l’approche semi-supervisée par l’entremise de l’algorithme d’optimisation du gradient, nous avons mis à l’essai un modèle intitulé Isolation Forest (détection d’anomalies non supervisée) en tant que technique de détection d’anomalies entièrement non supervisée. Les résultats de cette méthode n’ont pas répondu à nos attentes en matière de précision, ce qui n’est pas surprenant dans de tels cas d’anomalies contextuelles, comme l’ont montré Pang et coll. (2021) cité précédemment.

Cette approche a permis un contrôle total sur les données d’apprentissage et a donné la possibilité de peaufiner de nombreux paramètres, y compris les paramètres du modèle, tels que l’ampleur des tests et des apprentissages, les états aléatoires ainsi que les paramètres statistiques pour les écarts-types et la taille des fenêtres des séries temporelles. En effet, nous avons défini les types d’anomalies selon des formules existantes définies par les ingénieurs de ponts et en étiquetant manuellement les ensembles d’apprentissage à l’aide d’un processus itératif. Par exemple, nous avons pu isoler les types d’anomalies suivantes, décrites en tant que « valeur plafond », qui n’ont pas été signalées par le système d’alarme puisqu’elles sont restées dans les seuils prédéfinis mentionnés précédemment et qu’il serait fastidieux et peu pratique de les relever manuellement :

  • Anomalies à valeur plafond absolue : lorsqu’un capteur capte exactement la même valeur quatre fois de suite, avec un écart-type égal à 0.
  • Anomalies à valeur plafond relative, mais de façon consécutive : lorsqu’un capteur capte 12 relevés consécutifs dans une journée avec une très faible fluctuation, avec une valeur de l’écart-type absolu inférieure ou égale à 0,15.

L’usage de cette approche semi-supervisée a également permis d’appliquer notre méthode à des problèmes similaires sans qu’il soit nécessaire de réécrire l’algorithme, ce qui assure la rentabilité et la reproductibilité. Enfin, le choix de cette méthode a également été fait en fonction des rendements et des performances de calcul bien documentés pour les modèles d’apprentissage automatique supervisés (Akinsola et coll., 2019; Aboueata et coll., 2019; Ma et coll., 1999). Il convient de souligner que bien que les résultats soient satisfaisants, cette approche présente des limites et des difficultés. En particulier, l’étiquetage manuel des données d’apprentissage a nécessité des efforts considérables. En outre, la combinaison de techniques, tout en assurant une certaine souplesse, présentait un risque de surajustement du modèle que nous atténuons en inspectant soigneusement les résultats prédits à l’aide des connaissances des analystes.

Résultats et analyse

Dans sa première étape, le projet a permis de recenser 714 185 relevés de données signalées comme des anomalies. Ce nombre représentait environ 4,6 % de tous les relevés de capteurs et correspondait à l’une des catégories prédéterminées suivantes :

  • Anomalies causées par des fluctuations irrégulières;
  • Anomalies liées à l’absence de fluctuations normales, y compris la valeur plafond absolue et relative;
  • Anomalies causées par des relevés en dehors de la plage prévue pour les capteurs.

La proportion de points de données relevés comme des anomalies était supérieure de plus de 4 % à ce qu’un modèle Isolation Forest non supervisé avait donné lors d’une exploration antérieure, ce qui confirme les conclusions de Pang et coll. (2021) selon lesquelles les types d’anomalies plus complexes nécessitent une combinaison plus avancée de méthodes pour une détection précise. Nous avons également obtenu une cote moyenne de précision interne de 0,988 (soit plus de 98 %), ce qui, sans être une indication absolue de réussite, constitue un signal pour le rendement du modèle.

Précision des prévisions

Au cours de l’étape de validation de ce projet, nous avons calculé une cote F1 pour la précision du modèle et avons obtenu une cote de 0,956 (96 %) de précision. La cote F1 est la moyenne harmonique des cotes de précision et de rappel d’un modèle et est souvent utilisée pour évaluer les modèles de classification (p. ex. voir Silva et coll., 2024; Zhang et coll., 2015). Dans la section suivante, nous présentons la précision du modèle interne calculée selon l’approche de validation croisée de la bibliothèque scikit-learn. Pour éviter un surajustement, nous avons conservé un petit échantillon de données comme ensemble de tests et avons calculé la cote de précision à l’aide de la méthode `train_test_split` de scikit-learn. La méthode divise les ensembles de données en sous-ensembles d’apprentissage et de test pour les tâches d’apprentissage automatique. Il y a plusieurs paramètres, tels que « test_size » et « train_size » qui déterminent, de manière aléatoire ou contrôlée, la fraction du nombre d’échantillons pour l’ensemble de test et d’apprentissage. Cette approche permet un meilleur contrôle, en particulier dans le cas de données d’apprentissage déséquilibrées.

Ce processus est bien documenté par scikit-learn, comme le montre la figure 2 ci-dessous :

Splitting training and test set
Figure 2: Diviser l’ensemble d’apprentissages et l’ensemble de tests (en anglais seulement)

Description :

La figure 2 montre une image extraite de la bibliothèque Scikit-Learn pour représenter visuellement le processus de division d’un ensemble de données en ensembles d’apprentissage et en ensembles de test. L’ensemble d’apprentissage est utilisé pour entraîner un modèle d’apprentissage automatique, tandis que l’ensemble de test est utilisé pour évaluer les performances du modèle. L’image affiche un diagramme montrant de quelle façon les données sont divisées, avec des flèches indiquant la séparation entre les différents éléments du processus de division apprentissage-test. Ces éléments sont liés par des flèches comme suit : paramètres, validation croisée, meilleurs paramètres, ensemble de données, données d’apprentissage, modèle réentraîné, données de test et évaluation finale.

Source : Bibliothèque Scikit-Learn – scikitlearn.org

Le tableau 1 ci-dessous présente les cotes de précision obtenues pour un échantillon de 9 capteurs sur les 44 capteurs couverts par la première étape du projet. Cette cote est calculée en divisant le nombre de prédictions justes par le nombre de prédictions totales et permet donc de comparer les valeurs prédites aux valeurs réelles. La cote a été calculée en utilisant les méthodes « y_val_split », « y_val_pred » de la sous-bibliothèque sklearn.metrics. Il convient de souligner que l’exercice d’étiquetage partiel des données d’apprentissage a été réalisé sur un cycle complet de relevés de capteurs, couvrant une année d’échantillonnage. Cet exercice a permis de surmonter le problème du déséquilibre de l’ensemble d’apprentissage et d’obtenir des proportions comparables d’anomalies dans les données d’apprentissage et d’anomalies cernées.

Tableau 1 : Exemples de cotes de précision pour les 9 premiers capteurs à l’aide de la fonction d’aide test-split
ID du capteur Cote de précision
ID du capteur 1 0,998463902
ID du capteur 2 0,998932764
ID du capteur 3 0,990174672
ID du capteur 4 0,98579235
ID du capteur 5 0,99592668
ID du capteur 6 0,994401679
ID du capteur 7 0,998294486
ID du capteur 8 0,998385361
ID du capteur 9 0,99452954

Bien que cette cote ait constitué un bon point de référence, il convient de souligner qu’en raison du caractère propre des anomalies détectées, d’autres mesures d’évaluation de la précision sont en cours de recherche afin d’assurer la meilleure représentation du rendement du modèle.

Utilisation des résultats : de l’apprentissage machine à la valeur organisationnelle

Les anomalies prédites doivent être mises à la disposition des ingénieurs de ponts pour leur permettre d’agir en s’appuyant sur les renseignements produits par le modèle d’apprentissage automatique. La solution consistait à visualiser les résultats dans un tableau de bord simple et facile à utiliser, qui résume les constatations tout en fournissant suffisamment de renseignements pour éclairer la prise de décisions. Nous avons utilisé Power BI de Microsoft pour produire une visualisation simpliste contenant les renseignements suivants :

  1. Le pourcentage d’anomalie par jour selon un graphique à colonnes empilées, qui peut être exploré jusqu’au pourcentage d’anomalie par mois.
  2. Les relevés des capteurs selon un graphique linéaire et établissant la distinction entre les relevés normaux et les anomalies.
  3. Un tableau avec les résultats détaillés fournit par l’algorithme pour le capteur sélectionné et l’année et le mois.
  4. L’indicateur du rendement du capteur sélectionné pour la plage de temps sélectionnée, qui représente le pourcentage du nombre de relevés normaux sur le nombre total de relevés.
  5. La part des relevés normaux des capteurs par rapport aux anomalies (diagramme en forme de beigne) et un filtre pour la comparaison.

Ce type de tableau de bord est utilisé pour déterminer le rendement d’un capteur précis et s’il a besoin d’être étalonné, réparé ou remplacé. Il offre une visibilité limitée sur le comportement de la structure que le capteur surveille.

La figure 3 ci-dessous présente un aperçu du tableau de bord illustrant les renseignements ci-dessus.

Results Visualization (1)
Figure 3: Visualisation des résultats (1) (en anglais seulement)

Description :

La figure 3 montre une image qui est une représentation visuelle des résultats du projet. L’image est divisée en plusieurs sections, chacune étiquetée avec les lettres A à F. La section A affiche un graphique linéaire avec plusieurs lignes représentant différents capteurs. Les lignes montrent les relevés des capteurs au fil du temps, les anomalies étant supprimées du visuel. La section B montre la corrélation entre les relevés des capteurs et l’inverse de la température, et l’incidence des fluctuations de température sur les données des capteurs. La section C montre les décalages entre les lignes de déplacement supprimées afin qu’elles puissent se chevaucher pour fournir une comparaison plus claire des données des capteurs. La section D présente les moyennes mensuelles des relevés des capteurs et donne un aperçu des tendances des données au fil du temps. La section E comprend des indicateurs de performance pour tous les capteurs sélectionnés et montre la précision et la fiabilité des relevés des capteurs. La section F fournit des détails et des renseignements supplémentaires sur les données des capteurs et les anomalies détectées.

Nous avons également veillé à ce que les résultats puissent être visualisés ensemble pour tous les capteurs, ce qui a permis de les comparer et de les rendre plus lisibles. Les trois figures ci-dessous montrent les étapes franchies pour parvenir à cette comparaison et à cette lisibilité.

Contrairement au tableau de bord précédent, ce type de tableau de bord, une fois les anomalies éliminées, notamment le bruit et les valeurs aberrantes, permet une meilleure visibilité des tendances et du comportement des structures que les capteurs surveillent, par opposition au comportement des capteurs eux-mêmes.

La figure 4 présente les données brutes initiales de plusieurs capteurs sur le même graphique en fonction d’une moyenne mensuelle, pour montrer les résultats sur de longues périodes (c’est-à-dire l’évaluation de la tendance), ainsi que la température, qui se distingue par des tirets, car la température est le principal prédicteur de relevé influent.

Results Visualization (2) – Initial Data
Figure 4: Visualisation des résultats (2) – Données initiales (en anglais seulement)

Description :
La figure 4 montre une image qui présente un graphique à plusieurs lignes montrant les tendances et la distribution des données initiales. Les lignes ont des couleurs différentes, chacune représentant un capteur différent au fil du temps. Une ligne pointillée indique les relevés de température. La période est affichée par année et par mois à partir de janvier 2021 et se terminant en décembre 2023. Les lignes représentant les capteurs sont dispersées sur l’axe du temps.

Dans la figure 5, les décalages entre les lignes de données des capteurs sont supprimés pour assurer le chevauchement, et la température est inversée pour qu’elle puisse également suivre la tendance à la hausse et à la baisse des lignes de données des capteurs.

Results Visualization (2) – Initial Data with Improved Visuals
Figure 5: Visualisation des résultats (2) – Données initiales avec visuels améliorés (en anglais seulement)

Description :
La figure 5 est une image comportant un graphique à plusieurs lignes montrant les tendances et la distribution des données initiales avec amélioration. Les lignes ont des couleurs différentes, chacune représentant un capteur différent au fil du temps. Une ligne pointillée indique les relevés de température. La période est affichée par année et par mois à partir de janvier 2021 et se terminant en décembre 2023. Les lignes représentant les capteurs sont moins dispersées sur l’axe du temps par rapport à l’image précédente comprenant les résultats initiaux.

Enfin, la figure 6 présente les résultats finaux après la suppression des anomalies détectées par notre modèle. Une fois de plus, le chevauchement entre la température et les données des capteurs permet d’évaluer qualitativement le comportement des structures en un coup d’œil.

Results Visualization (2) – Final Results
Figure 6: Visualisation des résultats (2) – Résultats finaux (en anglais seulement)

Description :
La figure 6 est une image comportant un graphique à plusieurs lignes montrant les tendances et la distribution des données initiales avec amélioration. Les lignes ont des couleurs différentes, chacune représentant un capteur différent au fil du temps. Une ligne pointillée indique les relevés de température. La période est affichée par année et par mois à partir de janvier 2021 et se terminant en décembre 2023. Les lignes représentant les capteurs ne sont pas dispersées, mais montrent des tendances similaires sur l’axe du temps par rapport aux deux images précédentes.

Les résultats obtenus dans le cadre de ce projet ont démontré la possibilité d’utiliser des approches d’apprentissage automatique pour améliorer l’exercice de détection des anomalies et assurer un suivi plus efficace et plus précis des données des capteurs. En effet, le projet a contribué à la compréhension des données historiques sur les capteurs de ponts et a permis de fournir des renseignements sur le rendement global des capteurs. En outre, les résultats ont aidé l’équipe des grands ponts et projets à évaluer le rendement des capteurs, en signalant finalement un certain nombre d’entre eux pour une analyse plus approfondie. Une fois les capteurs examinés et leur fonctionnalité confirmée, les données, désormais exemptes de bruit, permettent d’avoir une meilleure idée du comportement de la structure, des tendances de son rendement et de son état au fil du temps.

Notre approche s’est avérée utile pendant l’étape d’exploitation, d’entretien et de réhabilitation des ponts en contribuant à la détection précoce d’anomalies et à la planification de l’inspection des infrastructures. En outre, grâce à l’exploration et à la manipulation des données historiques, le projet a contribué à la réalisation de l’objectif global de surveillance de l’état des ponts en vérifiant la qualité et la fiabilité des données. Les contrôles de la qualité des données qui accompagnent la détection des anomalies contribueront à améliorer la précision des données historiques des capteurs de surveillance de l’état des structures des ponts et faciliteront la planification et la gestion des travaux futurs. Le contrôle des types d’anomalies réduit le nombre de fausses alarmes tout en ouvrant la voie à des inspections et des vérifications détaillées. La visualisation qui en découle sera également utile à l’équipe technique et fournira des renseignements sur le rendement des capteurs, ainsi que sur les problèmes structurels possibles.

Conclusion et prochaines étapes

Ce projet visait à exploiter des techniques avancées combinant des approches d’apprentissage automatique semi-supervisées et statistiques pour la détection d’anomalies. Comme nous l’avons démontré dans la section consacrée à la littérature, la détection des anomalies est un problème complexe qui requiert une certaine expertise et qui est généralement bien résolu en combinant un grand nombre de méthodes. En effet, nous avons montré que l’exercice peut signaler les anomalies parmi les données des capteurs de manière contrôlée et reproductible. Dans les prochaines étapes du projet, un modèle multiclasses est en cours de recherche pour s’assurer que non seulement les anomalies sont détectées, mais qu’elles sont également étiquetées et regroupées dans des types d’anomalies précises. Cette approche granulaire améliorera la clarté du diagnostic et aidera les ingénieurs à mieux comprendre les causes des anomalies des capteurs et, en fin de compte, à faciliter l’entretien des ponts.

Il convient de souligner, dans ce paragraphe de conclusion, qu’avec l’arrivée de l’IA générative, les recherches à venir devraient porter sur le potentiel de ce type d’IA pour la détection des anomalies. L’IA générative a la capacité d’apprendre des modèles et des distributions de données normales et pourrait donc, si on lui fournit des exemples, cerner les écarts qui peuvent signifier des relevés de données anormales. En outre, en entraînant des modèles tels que les réseaux antagonistes génératifs sur de vastes ensembles de données, les chercheurs peuvent générer des représentations réalistes de comportements typiques et améliorer les exercices de détection d’anomalies. L’utilisation de l’IA générative n’entrait pas dans le cadre de ce projet.

Meet the Data Scientist

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à Rencontrez les scientifiques des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Inscrivez-vous à l'événement Rencontrez les scientifiques des données.  À bientôt!

Abonnez-vous au bulletin d'information du Réseau de la science des données pour la fonction publique fédérale pour rester au fait des dernières nouvelles de la science des données.

Bibliographie

Aboueata, N., Alrasbi, S., Erbad, A., Kassler, A., et Bhamare, D. « Supervised Machine Learning Techniques for Efficient Network Intrusion Detection », 2019, 28th International Conference on Computer Communication and Networks (ICCCN), 2019, p. 1-8. https://doi.org/10.1109/ICCCN.2019.8847179 (en anglais seulement)

Akinsola, J., Awodele, O., Kuyoro, S. et Kasali, F. Performance Evaluation of Supervised Machine Learning Algorithms Using Multi-Criteria Decision Making Techniques, 2019. https://www.researchgate.net/publication/343833347 (en anglais seulement)

Chandola, V., Banerjee, A. et Kumar, V. « Anomaly detection: A survey », ACM Computing Surveys, vol. 41, no 3, 2009, p. 1-58. https://doi.org/10.1145/1541880.1541882 (en anglais seulement)

Ebrahimi, M., Mohammadi-Dehcheshmeh, M., Ebrahimie, E., et Petrovski, K. R. « Comprehensive analysis of machine learning models for prediction of sub-clinical mastitis: Deep Learning and Gradient-Boosted Trees outperform other models », Computers in Biology and Medicine, vol. 114, 103456. https://doi.org/10.1016/j.compbiomed.2019.103456 (en anglais seulement)

Jasra, S. K., Valentino, G., Muscat, A. et Camilleri, R. « Hybrid Machine Learning–Statistical Method for Anomaly Detection in Flight Data », Applied Sciences, vol 12, no 20, 2022, 102161. https://doi.org/10.3390/app122010261 (en anglais seulement)

Nassif, A. B., Talib, M. A., Nasir, Q., et Dakalbab, F. M. « Machine Learning for Anomaly Detection: A Systematic Review », IEEE Access, vol. 9, 2021, p. 78 658 à 78 700. https://doi.org/10.1109/ACCESS.2021.3083060 (en anglais seulement)

Pang, G., Shen, C., Cao, L. et Hengel, A. V. D. « Deep Learning for Anomaly Detection: A Review », ACM Computing Surveys, vol. 54, no 2, 2021, p. 1 à 38. https://doi.org/10.1145/3439950 (en anglais seulement)

Qin, Z., Yan, L., Zhuang, H., Pasumarthi, R. K., Wang, X., Bendersky, M. et Najork, M. « Are Neural Rankers still Outperformed by Gradient Boosted Decision Trees? », International Conference on Learning Representations (ICLR), 2021. [https://research.google/pubs/are-neural-rankers-still-outperformed-by-gradient-boosted-decision-trees/] (en anglais seulement)

Rousseeuw, P. J., et Hubert, M. « Anomaly detection by robust statistics », WIREs Data Mining and Knowledge Discovery, vol. 8, no 2, 2018, e1236. https://doi.org/10.1002/widm.1236 (en anglais seulement)

Scikit Learn. (2024) User Guide - 3.1. Cross-validation: evaluating estimator performance. [https://scikit-learn.org/stable/modules/cross_validation.html] (en anglais seulement)

Sheng Ma et Chuanyi Ji. « Performance and efficiency: recent advances in supervised learning », Proceedings of the IEEE, vol. 87, no 9, 1999, p. 1 519 à 1 535. https://doi.org/10.1109/5.784228 (en anglais seulement)

Silva, P., Baye, G., Broggi, A., Bastian, N. D., Kul, G., et Fiondella, L. « Predicting F1-Scores of Classifiers in Network Intrusion Detection Systems », 2024, 33rd International Conference on Computer Communications and Networks (ICCCN), 2024, p. 1 à 6. https://doi.org/10.1109/ICCCN61486.2024.10637544 (en anglais seulement)

Soule, A., Salamatian, K. et Taft, N. « Combining Filtering and Statistical Methods for Anomaly Detection », Proceedings of the 5th ACM SIGCOMM Conference on Internet Measurement, 2005. [https://www.usenix.org/legacy/events/imc05/tech/full_papers/soule/soule.pdf] (en anglais seulement)

Spanos, G., Giannoutakis, K. M., Votis, K. et Tzovaras, D. « Combining Statistical and Machine Learning Techniques in IoT Anomaly Detection for Smart Homes », 2019 IEEE 24th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), 2019, p. 1 à 6. https://doi.org/10.1109/CAMAD.2019.8858490 (en anglais seulement)

Zhang D., Wang, J. et Zhao, X. « Estimating the Uncertainty of Average F1 Scores », Proceedings of the 2015 International Conference on The Theory of Information Retrieval, 2015, p. 317 à 320. [https://doi.org/10.1145/2808194.2809488] (en anglais seulement)

 

Des données aux décisions : visualisations et modélisation d'apprentissage automatique des données de propriétés locatives

Par : Uchenna Mgbaja, Md Mahbub Mishu, Maryam Zamani, Sumitra Balamurugan et Aya Heba; NorQuest College

Selon le Recensement de 2021, il y avait 5 millions de ménages locataires au Canada, ce qui signifie qu'environ le tiers des ménages canadiens sont locataires. Une grande partie de cette activité de location se fait toutefois dans le secteur privé, ce qui donne lieu à des données limitées et incohérentes. Pour combler ces lacunes dans les connaissances, nous avons acquis, traité, analysé et représenté visuellement les annonces immobilières de la partie prenante, le Community Data Program (en anglais seulement), pour l'Ontario. Cet ensemble de données offre de nouvelles perspectives sur les tendances spatiales des marchés du logement métropolitain et des petites communautés, qui dépassent les autres sources disponibles en détail et en précision. Des villes comme Toronto, Brampton et Mississauga, par exemple, affichent des prix de location élevés par pied carré, ce qui témoigne de la dynamique économique de la région. Nous avons également analysé des régions de l'Ontario où la population est inférieure à 10 000 habitants.

La présente étude vise à répondre à trois objectifs principaux :

  • Interpréter les tendances des ensembles de données et leurs répercussions sur le marché du logement.
  • Appliquer des modèles d'apprentissage automatique aux ensembles de données afin que le modèle puisse prévoir les tendances futures.
  • Déployer le meilleur modèle.

Méthodologie

Nous avons obtenu de notre client un ensemble de données rigoureuses, lequel comprenait 18 colonnes donnant des précisions sur les régions, le nombre de chambres, les adresses et d'autres renseignements pertinents.

Pour extraire des renseignements précieux, nous avons utilisé des techniques de codage et des représentations visuelles, comme des tableaux et des graphiques. Cela nous a aidés à repérer avec succès des modèles essentiels dans la dynamique du logement, en particulier en cernant les régions présentant des différences notables dans les dépenses de logement et la densité des annonces.

L'analyse exploratoire des données

Pour l'analyse exploratoire des données (AED), nous avons sélectionné de petites collectivités en fonction du dénombrement de leur population. Cette approche nous a permis de mieux comprendre la dynamique du logement dans ces régions précises. La colonne « Prix » de notre ensemble de données contenait toutefois des incohérences, comme des signes de dollar et des virgules, ce qui la rendait difficile à analyser. Pour enrayer ce problème, nous avons supprimé les caractères spéciaux et converti la colonne au format numérique. Cela nous a permis d'effectuer des opérations numériques et de visualiser les données efficacement.

Ensuite, nous avons établi que certaines données des colonnes « Chambres » et « Salle de bain » contenaient des entrées complexes, comme « 2 + Den » (2 + pièce de détente), alors que la fonction regex ne tenait compte que des nombres, en ignorant la « Den » « pièce de détente » supplémentaire. Cela a conduit à des inexactitudes dans la représentation du nombre de chambres à coucher et de salles de bains. Pour résoudre ce problème, nous avons créé une colonne temporaire pour cerner les entrées « + Den » (+ pièce de détente ), converti « Chambres » et « Salles de bains » en valeurs numériques et ajusté les chiffres pour tenir compte de la partie « Den » (pièce de détente). Par la suite, nous avons supprimé la colonne temporaire, ce qui garantit un nombre précis de chambres pour chaque annonce immobilière.

La colonne « Taille » contenait des valeurs non numériques, comme « Non disponible », ce qui a entraîné des erreurs lors de la tentative de conversion de la colonne en type de données flottantes. Pour résoudre ce problème, nous avons remplacé les valeurs non numériques comme « Non disponible » par « NaN » (Not a Number, c'est-à-dire « pas un nombre ») en utilisant la fonction replace() de pandas.

Les entrées dans la colonne « Taille » qui étaient inférieures à 200 ou supérieures à 9 000 pieds carrés étaient considérées comme des données aberrantes et n'étaient pas logiques dans le contexte de la taille des propriétés.   Si elles n'étaient pas traitées de manière appropriée, ces données aberrantes pouvaient fausser les résultats de l'analyse et de la visualisation.

Carte géographique des annonces immobilières en Ontario

Dans la présente section, nous avons utilisé le Looker Studio de Google pour générer des graphiques, des tableaux, des cartes, etc., ainsi que Plotly Express de Python pour les visualisations de l'ensemble des données.

Figure 1 : Génération de données géographiques à l'aide de Plotly.
Description - Figure 1 : Génération de données géographiques à l'aide de Plotly.

Cette image montre une carte géographique du sud de l'Ontario et met en évidence la répartition des annonces immobilières relevées dans l'ensemble de données. Chaque annonce est représentée par un point distinct sur la carte.

Nous avons créé une carte de dispersion (présentée à la figure 1 ci-dessus) à l'aide de Plotly Express. Chaque point sur la carte représente une annonce immobilière. Nous avons choisi un style OpenStreetMap afin que la présentation soit plus claire et plus simple.

Histogramme représentant la répartition des prix de location

L'histogramme (présenté à la figure 2) permet aux utilisateurs de connaître la répartition des prix des loyers. Pour nous assurer que la visualisation est intuitive, nous avons conservé des étiquettes claires pour les axes et le titre et fourni une explication concise de ce que représente l'histogramme.

Figure 2 : Histogramme illustrant la répartition des prix de location à partir d'un ensemble de données.
Description - Figure 2 : Histogramme illustrant la répartition des prix de location à partir d'un ensemble de données.

L'axe des x représente les prix de location en dollars, allant de 0 à 8 000 $, tandis que l'axe des y montre la fréquence des annonces à différents niveaux de prix. La répartition semble asymétrique à droite, ce qui indique que la plupart des annonces immobilières sont concentrées dans la fourchette de prix inférieure, celle-ci comportant moins d'annonces à des prix plus élevés.

Diagramme de dispersion représentant la taille et le prix associé au nombre de chambres

Le diagramme de dispersion (présenté à la figure 3) a permis aux utilisateurs de comprendre la relation entre la taille, le prix et le nombre de chambres à coucher dans un immeuble locatif. Les utilisateurs peuvent dégager des tendances, comme la variation des prix en fonction de la taille et du nombre de chambres.

Figure 3 : Diagramme de dispersion qui illustre la relation entre la taille d'une propriété et son prix de location
Description - Figure 3 : Diagramme de dispersion qui illustre la relation entre la taille d'une propriété et son prix de location.

Cette image représente un diagramme de dispersion qui illustre la relation entre la taille d'une propriété (en pieds carrés) et son prix de location (en dollars), alors qu'une autre dimension indique le nombre de chambres. L'axe des x représente la taille de la propriété, allant de 0 à 8 000 pieds carrés, et l'axe des y représente le prix, allant de 0 $ à plus de 8 000 $.

Diagramme à surface représentant la répartition des prix en fonction du nombre de chambres

Le diagramme à surface (présenté à la figure 4) permet aux utilisateurs de dégager les tendances de la répartition des prix en fonction du nombre de chambres. L'analyse des données aberrantes peut fournir des renseignements sur les propriétés exceptionnelles et les tendances du marché, ce qui aide les utilisateurs à prendre des décisions éclairées concernant les propriétés locatives ou d'investissement.

Figure 4 : Répartition des prix en fonction du nombre de chambres.
Description - Figure 4 : Répartition des prix en fonction du nombre de chambres.

Cette image présente la variation des prix de location selon différentes configurations de chambres. Chaque segment du diagramme à surface montre la médiane, les quartiles et les données aberrantes des prix de location, fournissant ainsi un résumé visuel de la façon dont le nombre de chambres influence les coûts de location. Les données aberrantes sont représentées par des points individuels au-dessus et au-dessous des cases, indiquant les variations par rapport aux prix de location typiques pour chaque catégorie.

Diagramme à barres pour les 10 régions les plus dispendieuses et les plus abordables de l'Ontario

Les diagrammes à barres (présentés aux figures 5 et 6) donnent un aperçu de la répartition des prix par région, mettant en évidence les 10 régions les plus dispendieuses et les plus abordables. Les utilisateurs peuvent dégager des tendances, comme les disparités régionales dans les prix des loyers, et prendre des décisions éclairées en ciblant les régions où les prix moyens sont plus bas pour les occasions d'investissement.

Figure 5 : Les 10 régions les plus dispendieuses.
Description - Figure 5 : Les 10 régions les plus dispendieuses.

Cette image montre les prix de location moyens dans diverses régions de l'Ontario. L'axe des y mesure le prix moyen en dollars, en montrant des valeurs qui vont de 0 $ à plus de 3 500 $.

Figure 6 : Les 10 régions les plus abordables.
Description - Figure 6 : Les 10 régions les plus abordables.

Cette image montre les prix de location moyens dans diverses régions de l'Ontario. L'axe des y mesure le prix moyen en dollars, en montrant des valeurs qui vont de 0 $ à 1 000 $.

Le diagramme circulaire donne un aperçu de la répartition des types de propriétés

Le diagramme circulaire (présenté à la figure 7) donne un aperçu de la répartition des types de propriétés sur le marché locatif. Les utilisateurs peuvent cerner le type de propriété le plus répandu, comme les appartements, qui représente le pourcentage le plus élevé (37,6 %). Ces renseignements peuvent aider les utilisateurs à prendre des décisions éclairées, comme choisir les meilleurs types de propriétés pour les occasions d'investissement ou de location.

Figure 7 : Graphique circulaire pour différents types de propriétés en Ontario.
Description - Figure 7 : Graphique circulaire pour différents types de propriétés en Ontario.

Cette image montre un graphique circulaire illustrant la répartition des différents types de propriétés locatives disponibles dans un ensemble de données. Les segments du graphique sont codés par couleur et étiquetés, les pourcentages correspondants étant indiqués pour représenter la proportion de chaque type de propriété dans l'ensemble de données total.

L'application de l'apprentissage automatique aux données nettoyées

Pour prédire les prix de location, nous avons appliqué des modèles d'apprentissage automatique (AA) à notre ensemble de données. Nos données ne sont pas des séries chronologiques, car les annonces couvrent différentes dates, sans période de référence constante. Nous nous sommes plutôt concentrés sur des modèles de régression prédictifs afin de prédire les prix des loyers, qui est notre variable cible. Ces modèles nous ont aidés à analyser et à prédire les mouvements de prix en fonction de diverses caractéristiques comme l'emplacement, le type de propriété et les commodités.

Nous avons entraîné divers modèles d'apprentissage automatique, comme il est indiqué ci-dessous.

  • Les modèles de régression
    • Tout d'abord, nous avons divisé l'ensemble de données en ensembles de données d'entraînement et de test : 80 % pour l'entraînement et 20 % pour les tests. Cette approche a permis de s'assurer que le modèle était entraîné sur une partie importante des données, tout en conservant une partie importante pour les tests.
    • Ensuite, nous avons entraîné le modèle à l'aide de modèles de régression (le modèle de Random Forest, le modèle de régression linéaire et la méthode de Gradient Boosting) pour prédire les prix de location, qui étaient notre variable ou notre étiquette cible.
    • L'étape suivante consistait à effectuer une validation croisée. Pour ce faire, nous avons utilisé la technique de validation croisée « k-fold » pour évaluer les performances et la généralisation du modèle.
    • Enfin, nous avons évalué les modèles en fonction des mesures de performance suivantes :
      • La racine de l'écart quadratique moyenne (REQM) : Cette mesure métrique permet de mesurer l'ampleur moyenne des erreurs entre les valeurs prédites et les valeurs réelles. Plus la valeur de REQM est faible, meilleur est le modèle.
      • Le score du R au carré (R2) : Cette mesure métrique indique dans quelle mesure les prédictions du modèle de régression s'adaptent aux données réelles. Plus cette valeur est élevée, meilleure est la prédiction du modèle.
  • Les modèles de classification 

Pour améliorer notre analyse, nous avons transformé le problème de régression en un problème de classification en fixant des seuils de prix. Plus précisément, nous avons classé les prix de location en trois groupes distincts : bas, moyen et élevé. Les seuils ont été choisis en fonction de la répartition des prix dans l'ensemble de données, en établissant des tranches allant de 0 à 1 500, de 1 500 à 2 500 et de plus de 2 500. Cette catégorisation nous a permis d'appliquer des modèles de classification, comme Random Forest (RF) et le modèle de l'arbre de décision, pour prédire les catégories de prix de location. Cette approche est soumise au point de vue de l'utilisateur sur ce qui est considéré comme un prix élevé ou bas.

Nous avons également élaboré des modèles de classification pour prédire le type de propriété locative en fonction de caractéristiques données. L'objectif était de recommander un type de propriété approprié en fonction des spécifications de l'utilisateur.

Les résultats

Les modèles de régression 

Après avoir entraîné et évalué plusieurs modèles d'apprentissage automatique, il a été déterminé que, sur la base d'une évaluation comparative, le modèle de régression linéaire présentait des performances supérieures à celles des autres modèles de régression.

Tableau 1 : Performances des modèles AA.
Nom du modèle REQM R2
Régresseur Random Forest 483,05 0,6120
Régression linéaire 467,54 0,6568
Gradient Boosting 488,56 0,6372
Description - Tableau 1 : Performances des modèles AA.

Ce tableau établi une comparaison des performances de trois modèles d'apprentissage automatique (AA) différents à l'aide de deux mesures métriques : la racine de l'écart quadratique moyenne (REQM) et R2 (le coefficient de détermination). Le tableau répertorie les modèles suivants : le régresseur Random Forest, la régression linéaire et Gradient boosting. Les valeurs de la racine de l'écart quadratique moyenne (REQM) et du R2 sont fournies pour chaque modèle afin d'évaluer leur précision et leur pouvoir prédictif, respectivement. Le modèle de régression linéaire présente la REQM la plus faible à 467,54 et la valeur du R2 la plus élevée à 0,6568, ce qui indique qu'il est plus performant que les autres.

Les modèles de classification 

Le tableau ci-dessous fournit une comparaison détaillée de trois modèles d'apprentissage automatique, à savoir la régression logistique, l'arbre de décision et Random Forest, utilisés pour classer les prix des propriétés locatives en différentes catégories en fonction de leurs caractéristiques. Les mesures prises en compte pour la comparaison sont les scores d'exactitude, de précision et de rappel obtenus par chaque modèle. Ces mesures sont cruciales pour évaluer l'efficacité et la fiabilité des modèles de prédiction des prix des logements locatifs.

Tableau 2 : les performances de différents modèles d'apprentissage automatique dans la classification des prix des logements.
Nom du modèle Exactitude Précision Rappel
Régression logistique 0,73 0,81 0,81
Arbre de décision 0,73 0,77 0,80
Random Forest 0,74 0,79 0,80
Description - Tableau 2 : les performances de différents modèles d'apprentissage automatique dans la classification des prix des logements.

Ce tableau met en évidence les performances de différents modèles d'apprentissage automatique dans la classification des prix des logements. Le modèle de Random Forest a dépassé les autres modèles en ce qui concerne la précision, atteignant un score de 0,74. Les modèles de régression logistique et d'arbre de décision ont atteint le même score de précision de 0,73. En ce qui concerne la précision et la mémorisation, le modèle de régression logistique a obtenu le score le plus élevé de 0,81 : il serait donc légèrement meilleur pour déterminer les cas vraiment positifs. Cette comparaison fournit des renseignements précieux sur l'efficacité de ces modèles pour prédire les prix des logements locatifs et aide à sélectionner le modèle le plus approprié pour cette tâche.

Les méthodes de sélection des caractéristiques : les valeurs de p

Le concept de valeurs de p est fondamental en analyse statistique pour déterminer la signification des résultats observés. Dans les tests d'hypothèses, en particulier dans le contexte de la sélection de caractéristiques pour les modèles d'AA, les valeurs de p aident à évaluer la solidité de la preuve par rapport à une hypothèse nulle. Une valeur de p faible indique généralement que les données observées sont peu probables en supposant que l'hypothèse nulle est vraie, ce qui conduit au rejet de l'hypothèse nulle en faveur d'une autre hypothèse.

Tableau 3 : Résultats de la valeur de p.
Description - Tableau 3 : Résultats de la valeur de p.

Ce tableau affiche les valeurs de p associées à différentes caractéristiques d'un ensemble de données, segmentées en trois colonnes distinctes pour plus de clarté. Chaque colonne répertorie des caractéristiques comme les noms géographiques, les attributs de propriété et d'autres facteurs. Les valeurs de p correspondantes indiquent la signification statistique de chaque caractéristique par rapport à la variable cible, à savoir le prix. Les caractéristiques dont les valeurs de p sont près de 0 indiquent une forte signification statistique, tandis que des valeurs plus près de 1 indiquent une faible signification. Ce format permet de cerner les facteurs ayant la plus forte influence sur les prix des loyers.

Dans les résultats présentés ci-dessus, le cadre de données présente les noms des caractéristiques à côté de leurs valeurs de p correspondantes dérivées du test F de l'ANOVA. Cette technique statistique vise à évaluer l'importance des caractéristiques individuelles concernant la variable cible « Prix ». Une valeur de p plus faible signifie une association plus forte entre la caractéristique et la variable cible, ce qui indique une probabilité plus élevée que la caractéristique soit pertinente pour prédire les prix des logements.

Fait à noter, des caractéristiques comme « Hydro_N », « Hydro_O », « Taille » et divers indicateurs géographiques présentent des valeurs de p extrêmement faibles, ce qui est à l'origine de leur incidence considérable sur la détermination des prix des logements.

La méthode de corrélation

L'analyse de corrélation est une technique statistique utilisée pour mesurer la force et la direction de la relation linéaire entre deux variables. Dans le contexte de la sélection de caractéristiques pour l'apprentissage automatique, l'analyse de corrélation permet de cerner les caractéristiques fortement corrélées à la variable cible et ayant une incidence considérable sur la prédiction de la cible. Un coefficient de corrélation est compris entre -1 et 1, où :

  • un coefficient de corrélation de 1 indique une relation linéaire positive parfaite, ce qui signifie que, lorsqu'une variable augmente, l'autre variable augmente également proportionnellement;
  • un coefficient de corrélation de -1 indique une relation linéaire négative parfaite, ce qui signifie que, lorsqu'une variable augmente, l'autre variable diminue proportionnellement;
  • un coefficient de corrélation proche de 0 sous-entend peu ou pas de relation linéaire entre les variables.
Tableau 4 : La corrélation des prix.
Description - Tableau 4 : La corrélation des prix.

Ce tableau présente les coefficients de corrélation entre diverses caractéristiques, y compris les emplacements géographiques (CSDNAME), les attributs des propriétés et d'autres variables pertinentes. Les valeurs de corrélation vont de -1 à 1, où les valeurs près de 1 ou -1 indiquent une forte corrélation positive ou négative avec les prix des loyers, respectivement, tandis que les valeurs près de 0 sous-entendent une corrélation faible ou nulle. Ce type d'analyse permet de comprendre quels facteurs sont les plus fortement associés aux variations des prix des loyers.

Dans les résultats ci-dessus, les coefficients de corrélation entre le « prix » (variable cible) et d'autres caractéristiques sont énumérés. Les « chambres » et les « salles de bains » ont des corrélations positives relativement élevées avec le « prix » (0,63 et 0,63, respectivement), ce qui indique que, lorsque le nombre de chambres ou de salles de bains dans une propriété augmente, le prix a tendance à augmenter également.

« Eau_O » et « Eau_N » ont le même coefficient de corrélation de 0,35, le « prix », ce qui donne à penser que la présence ou l'absence d'accès à l'eau pourrait influencer les prix des logements dans une certaine mesure.

Des caractéristiques comme « CSDNAME_South Frontenac », « CSDNAME_Norwich » et « CSDNAME_Chatsworth » ont de très faibles corrélations positives avec le « prix » (près de 0), ce qui indique de faibles relations linéaires entre ces indicateurs géographiques et les prix des propriétés. Nous avons pris des décisions éclairées pour ne conserver que les caractéristiques géographiques les plus pertinentes en fonction de l'expertise du domaine. Ce processus méticuleux de sélection des caractéristiques a contribué à un modèle d'apprentissage automatique plus rigoureux et plus efficace pour prédire les prix des propriétés.

Création de l'application Perspectives sur le logement locatif

La création de l'application Perspectives sur le logement locatif représente un effort global pour tirer parti des techniques de la science des données dans l'analyse des données sur les logements locatifs. Cette section présente le processus d'élaboration, les principales caractéristiques et l'incidence potentielle de la demande sur les parties prenantes et la collectivité.

Figure 8 : Application de données sur la collectivité.
Description - Figure 8 : Application de données sur la collectivité.

Capture d'écran de l'interface de l'application de données sur a collectivité. Sur le côté gauche, il y a une barre latérale comportant l'option « Sélectionnez une page » où figurent plusieurs options, dont « Tableau de bord », « Analyse exploratoire des données », « Modélisation d'apprentissage automatique », « Modélisation d'apprentissage automatique (type) », « Cartographie de la collectivité», « Cartographie de petites collectivités » et « Looker Studio de Google ».

Développement de l'application

L'application est développée à l'aide du cadre Streamlit, en utilisant Python. Le processus de développement comporte plusieurs étapes clés :

  • Le prétraitement des données : nettoyage et formatage de l'ensemble de données sur les logements locatifs pour assurer la qualité et la cohérence des données.
  • L'ingénierie des fonctionnalités : création de nouvelles fonctionnalités et transformation des fonctionnalités existantes pour améliorer les performances et l'intelligibilité des modèles.
  • La modélisation d'apprentissage automatique (AA) : entraînement et évaluation de modèles prédictifs pour prévoir les prix des loyers et les types de propriétés.
  • La conception de l'interface utilisateur : conception d'une interface intuitive et conviviale pour assurer une navigation et une interaction fluides.

Les fonctionnalités

L'application Perspectives sur le logement locatif offre les principales fonctionnalités suivantes :

  • Le tableau de bord qui donne un aperçu des objectifs et des principales conclusions du projet.
  • L'analyse exploratoire des données (AED) qui permet aux utilisateurs d'étudier les données sur les logements locatifs grâce à des visualisations.
    Figure 9 : Sélection de l'AED à partir de l'application.
    Description - Figure 9 : Sélection de l'AED à partir de l'application.

    L'image montre un diagramme à barres intitulé « Prix de location moyen basé sur les établissements de soins de santé dans les petites collectivités (moins de 10 000 habitants) ». Le diagramme illustre les prix moyens des loyers dans diverses petites collectivités, soulignant l'incidence des établissements de soins de santé sur les coûts de location dans ces régions.

  • Modélisation AA : permet aux utilisateurs de prédire les prix de location et les types de propriétés en fonction des paramètres d'entrée.
    Figure 10 : Application du modèle AA à l'aide de l'application développée.
    Description - Figure 10 : Application du modèle AA à l'aide de l'application développée.

    L'interface affiche un module de prévision du prix de location.  Les utilisateurs peuvent saisir des attributs comme le nombre de chambres (défini au point 1.0), de salles de bains (également défini au point 1.0), et sélectionner le type de propriété parmi des options comme « Appartement », « Maison », « Maison en rangée », « Duplex ou triplex », « Sous-sol » et « Copropriété ». Après avoir entré les renseignements, l'utilisateur peut cliquer sur le bouton « Prédire » pour générer une estimation du prix de location. La capture d'écran représente le résultat de ce processus; elle affiche un prix de location prévu de 1 612,46 $.

  • Profil des collectivités : affiche les annonces de logements locatifs sur des cartes, fournissant des renseignements spatiaux sur les tendances du marché.
    Figure 11 : Cartes tirées de l'application.
    Description - Figure 11 : Cartes tirées de l'application.

    Cette image montre la page « Carte des petites collectivités de moins de 10 000 habitants ». La visualisation de la carte géographique représente les annonces de logements locatifs dans des collectivités dont la population est inférieure à 10 000. Chaque point sur la carte correspond à une annonce de propriété immobilière; la couleur indique la taille de la population, et la taille du point rend compte du prix du logement.

  • Intégration du Looker Studio de Google : intègre des renseignements et des rapports supplémentaires permettant une analyse et une visualisation améliorées.
    Figure 12 : Intégration du tableau de bord à l'application développée.
    Description - Figure 12 : Intégration du tableau de bord à l'application développée.

    Cette image montre la visualisation intégrée du Looker Studio de Google. Cela permet aux utilisateurs de plonger profondément dans les données de l'application.

L'expérience utilisateur

L'application donne la priorité à l'expérience utilisateur en offrant une interface intuitive, des fonctionnalités interactives et des renseignements en temps réel. Les utilisateurs peuvent facilement naviguer entre les différentes parties, personnaliser les paramètres d'entrée et visualiser les résultats de manière dynamique et attrayante.

Les retombées et les avantages de l'application

L'application Perspectives sur le logement locatif pourrait avoir des retombées importantes sur les parties prenantes et la collectivité en :

  • fournissant des renseignements précieux sur les tendances et les modèles de logement locatif;
  • soutenant la prise de décision éclairée en matière d'investissements immobiliers et de gestion immobilière;
  • donnant aux utilisateurs des capacités d'analyse prédictive pour la planification stratégique et l'allocation des ressources;
  • améliorant la transparence et l'accessibilité des données sur le logement locatif pour les décideurs, les chercheurs et les organismes communautaires.

Les travaux à venir

L'étude offre une analyse détaillée du marché du logement locatif en Ontario, au Canada. En utilisant des techniques d'AED et d'AA, les auteurs fournissent des renseignements précieux sur les tendances spatiales, la dynamique du logement et les prévisions de prix des loyers, ce qui profite à la fois aux marchés métropolitains et aux petites collectivités.

Grâce à un nettoyage méticuleux des données, à l'ingénierie des caractéristiques et à l'application de divers modèles d'apprentissage automatique, l'étude met en lumière des aspects cruciaux comme la répartition des prix, les influences géographiques et les répercussions des attributs du logement sur les prix des loyers. Le développement d'une application Perspectives sur le logement locatif permet d'améliorer davantage l'exploration des données, la modélisation prédictive et la visualisation spatiale. Cela permet de fournir aux parties prenantes des renseignements utiles et exploitables, qui soutiennent une prise de décision éclairée sur le marché du logement locatif.

Dans l'ensemble, l'étude souligne le potentiel transformateur des approches axées sur les données pour relever des défis sociétaux complexes, comme le logement abordable, et souligne l'importance de la collaboration entre les parties prenantes du milieu universitaire, de l'industrie et du gouvernement pour apporter des changements positifs dans le paysage du logement locatif.

Bibliographie

Enquête mensuelle sur le commerce de gros : C.v pour les ventes totales selon la géographie - septembre 2025

Enquête mensuelle sur le commerce de gros : C,v, pour les ventes totales selon la géographie - septembre 2025
Géographie Month
202409 202410 202411 202412 202501 202502 202503 202504 202505 202506 202507 202508 202509
pourcentage
Canada 1,3 1,2 1,3 1,2 1,3 1,5 0,9 1,2 0,9 0,4 0,4 0,4 0,5
Terre-Neuve et Labrador 0,8 1,3 1,5 1,1 1,4 0,8 0,7 1,8 0,3 0,3 0,3 0,3 0,2
Île-du-Prince-Édouard 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Nouvelle-Écosse 5,1 6,2 9,5 12,0 7,0 3,8 3,8 7,1 10,7 2,8 2,8 1,6 2,2
Nouveau-Brunswick 1,9 3,4 2,7 2,3 3,3 1,8 1,4 4,3 1,5 1,0 0,8 1,0 0,6
Québec 4,8 4,3 4,8 4,4 4,5 5,5 3,7 4,3 3,1 1,3 1,8 1,3 2,0
Ontario 2,4 2,2 2,2 2,4 2,7 3,2 1,7 2,3 1,6 0,7 0,8 0,8 0,9
Manitoba 2,5 2,9 1,9 2,3 0,9 1,1 1,3 1,3 1,2 0,8 0,8 1,1 0,5
Saskatchewan 0,7 1,5 1,0 1,4 1,6 0,7 0,8 1,6 0,5 0,4 0,9 0,6 1,0
Alberta 1,2 1,3 1,9 1,2 1,4 1,2 0,8 0,6 0,7 0,4 0,5 0,5 0,5
Colombie-Britannique 3,1 3,1 2,7 2,2 2,6 2,9 1,9 1,8 2,2 0,8 1,1 1,6 1,8
Yukon Territory 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Territoires du Nord-Ouest 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Nunavut 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0

Détails sur le remaniement du programme de Dénombrement à la frontière en 2022

Dans le cadre du remaniement du Dénombrement à la frontière, les changements suivants ont été introduits :

  • Les points d'entrée s'alignent plus étroitement avec le répertoire des bureaux et services de l'Agence des services frontaliers du Canada (ASFC). Les données historiques ont été révisées.
  • Les pays s'alignent sur la Variante de la Classification type des pays et des zones d'intérêt 2019 pour les statistiques sur les voyages. Les données historiques ont été révisées.
  • Le type de véhicule pour les résidents de pays autres que le Canada et les États-Unis d'Amérique entrant par voie terrestre est disponible pour toutes les sources de données. Avant 2017, elle n'était pas disponible et de 2017 à 2021, elle n'était disponible que pour une seule source de données.
  • Tous les voyageurs en traversier sont compris dans le mode maritime, afin de s'aligner sur les recommandations de l'ONU Tourisme. Avant 2022, la plupart de ces voyageurs étaient compris dans le mode terrestre en tant que piétons ou automobilistes (la seule exception étant Fortune, à Terre-Neuve-et-Labrador).
  • Le nombre maximum de passagers autorisés dans une automobile avant qu'elle ne soit considérée comme un autobus est de 8, afin de s'aligner sur les recommandations de l'ONU Tourisme. Avant 2022, le maximum était de 10.
  • Il existe des séries distinctes pour les motos et « les autres véhicules terrestres ». Avant 2022, les séries pour motos contenaient également « d'autres véhicules terrestres ».
  • Un « autre véhicule terrestre » n'est plus reclassé comme une automobile ou un autobus en fonction du nombre de passagers. Avant 2022, un « autre véhicule terrestre » était reclassé comme automobile s'il y avait plus de 4 passagers et comme autobus s'il y avait plus de 10 passagers.
  • Si les résidents de pays autres que le Canada et les États-Unis d'Amérique entrant par voie aérienne ou maritime sont enregistrés par l'ASFC sous le même jour, ils seront publiés comme excursionnistes (visiteurs même jour). Avant 2022, ils étaient reclassés comme des touristes (visiteurs avec nuitées).
  • Si les résidents canadiens qui reviennent de pays autres que les États-Unis d'Amérique sont enregistrés sous le même jour, ils seront publiés comme excursionnistes (visiteurs même jour). Avant 2022, ils étaient reclassés comme des touristes (visiteurs avec nuitées).
  • Les voyageurs des Bornes d'inspection primaire (BIP) qui déclarent que le but de leur voyage est un travail sont classés comme « autres voyageurs » (et non comme visiteurs), afin de s'aligner sur les recommandations de l'ONU Tourisme. Avant 2022, ils étaient considérés comme des visiteurs.
  • Les voyageurs non-résidents dont la durée de voyage est de 365 jours ou plus sont considérés comme des « autres voyageurs » (et non comme des visiteurs). Avant 2022, ils étaient reclassés comme visiteurs résidents du Canada.
  • Les membres d'équipage provenant de pays autres que le Canada et les États-Unis d'Amérique et entrant par voie terrestre sont considérés comme des membres d'équipage (« autre voyageurs »).  Avant 2022, ils étaient considérés comme des touristes (visiteurs avec nuitées).
  • Un passager pour chaque enregistrement d'autobus est considéré comme le conducteur (un membre d'équipage) et donc, un (« autre voyageurs »). Avant 2022, il n'y avait pas d'équipage enregistré parmi les voyageurs en autobus.
  • Avant 2022, les données sur l'immigration terrestre d'Immigration, Réfugiés et Citoyenneté Canada étaient ajoutées en tant que « autres voyageurs ». Depuis janvier 2022, comme les données de l'ASFC incluent déjà les personnes qui immigrent au Canada par voie terrestre, seules les données de l'ASFC sont retenues afin d'éviter de surestimer le nombre d'arrivées au Canada. Toutefois, ces voyageurs sont comptés comme des visiteurs puisque l'ASFC ne les identifie pas spécifiquement comme des immigrants dans les données partagées avec Statistique Canada.
  • La durée de séjour des véhicules n'est plus publiée car les données ont été en grande partie imputées et il ne s'agit pas d'un concept touristique largement utilisé ou bien établi. Les données historiques ont été révisées.
  • La durée de voyage pour les bateaux de croisière est maintenant recueillie, qui fournit des données sur les visiteurs de même jour et avec nuitées.  Avant 2022, la durée de voyage était imputée.

Enquête mensuelle sur le commerce de gros : C.v pour les ventes totales selon la géographie - août 2025

Enquête mensuelle sur le commerce de gros : C,v, pour les ventes totales selon la géographie - août 2025
Géographie Month
202408 202409 202410 202411 202412 202501 202502 202503 202504 202505 202506 202507 202508
pourcentage
Canada 1,3 1,3 1,2 1,3 1,2 1,3 1,5 0,9 1,2 0,9 0,4 0,5 0,4
Terre-Neuve et Labrador 0,8 0,8 1,3 1,5 1,1 1,5 0,8 0,7 1,7 0,3 0,3 0,3 0,2
Île-du-Prince-Édouard 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Nouvelle-Écosse 7,9 4,7 5,8 9,1 12,0 7,1 3,8 3,3 6,9 10,4 2,6 2,9 2,2
Nouveau-Brunswick 2,9 1,9 3,3 2,6 2,4 3,1 1,7 1,3 4,1 1,5 1,0 0,9 1,3
Québec 4,2 4,8 4,3 4,8 4,6 4,5 5,4 3,7 4,3 3,1 1,3 1,8 1,3
Ontario 2,6 2,4 2,2 2,2 2,4 2,7 3,2 1,7 2,3 1,6 0,7 0,8 0,8
Manitoba 1,9 2,4 2,7 1,9 2,3 1,0 1,1 1,3 1,3 1,1 0,7 0,8 1,1
Saskatchewan 1,8 0,7 1,5 1,0 1,4 1,6 0,7 0,8 1,6 0,5 0,4 0,9 0,6
Alberta 1,5 1,2 1,6 2,2 1,2 1,4 1,2 0,8 0,6 0,7 0,4 0,5 0,5
Colombie-Britannique 2,8 3,1 3,1 2,7 2,2 2,6 2,8 1,8 1,8 2,2 0,8 1,2 1,5
Yukon Territory 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Territoires du Nord-Ouest 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Nunavut 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0

Enquête mensuelle sur le commerce de gros : C.v pour les ventes totales selon la géographie - juillet 2025

Enquête mensuelle sur le commerce de gros : C,v, pour les ventes totales selon la géographie - juillet 2025
Géographie Month
202407 202408 202409 202410 202411 202412 202501 202502 202503 202504 202505 202506 202507
pourcentage
Canada 0,8 1,3 1,3 1,2 1,3 1,2 1,3 1,5 0,9 1,2 0,9 0,4 0,4
Terre-Neuve et Labrador 0,9 0,8 0,8 1,3 1,5 1,1 1,5 0,8 0,7 1,7 0,3 0,3 0,4
Île-du-Prince-Édouard 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Nouvelle-Écosse 5,6 7,9 4,7 5,8 9,1 12,0 7,1 3,8 3,3 6,9 10,4 2,6 2,9
Nouveau-Brunswick 1,9 2,9 1,9 3,3 2,6 2,4 3,1 1,7 1,3 4,1 1,5 1,0 0,7
Québec 3,4 4,2 4,8 4,3 4,8 4,6 4,5 5,4 3,7 4,3 3,1 1,3 1,6
Ontario 1,4 2,6 2,4 2,2 2,2 2,4 2,7 3,2 1,7 2,3 1,6 0,7 0,8
Manitoba 1,4 1,9 2,4 2,7 1,9 2,3 1,0 1,1 1,3 1,3 1,1 0,7 0,8
Saskatchewan 1,4 1,8 0,7 1,5 1,0 1,4 1,6 0,7 0,8 1,6 0,5 0,4 0,9
Alberta 1,0 1,5 1,2 1,6 2,2 1,2 1,4 1,2 0,8 0,6 0,7 0,4 0,5
Colombie-Britannique 2,3 2,8 3,1 3,1 2,7 2,2 2,6 2,8 1,8 1,8 2,2 0,8 1,1
Yukon Territory 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Territoires du Nord-Ouest 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
Nunavut 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0

Comprendre la balance du commerce international de marchandises du Canada - 2025

La balance commerciale est la différence entre la valeur des exportations et celle des importations pour une période donnée. Elle peut être calculée d'un point de vue global ou pour certaines catégories de produits ou des partenaires commerciaux particuliers. Les statistiques sur la balance commerciale sont généralement calculées en soustrayant la valeur des importations de celle des exportations.

Dans le contexte des discussions sur la balance commerciale du Canada, différentes statistiques peuvent être mentionnées. Par exemple, Statistique Canada produit des statistiques sur le commerce international de marchandises fondées sur deux bases différentes, soit :

  • la base douanière; et
  • la base de la balance des paiements (BDP).

Ces bases permettent de calculer la balance du commerce de biens avec le monde et avec certains pays selon ces deux perspectives. La principale différence entre les concepts de la base douanière et de la base de la BDP réside dans ce qui est mesuré par ces données. Les statistiques sur la base douanière couvrent le mouvement physique des biens entre le Canada et ses partenaires commerciaux, tandis que les données sur la base de la BDP font le suivi des transferts de propriété entre les résidents et les non-résidents du Canada.

  • Les données sur la base douanière servent à compiler les exportations nettes (le terme utilisé pour indiquer une « balance » sur une base douanière).
  • Les données sur la base de la BDP servent à produire l'indicateur officiel de la balance du commerce de marchandises pour les biens, ainsi que la balance du commerce de biens et de services.

De plus, les organismes qui recueillent des renseignements sur le commerce de marchandises dans d'autres pays produisent des statistiques qui montrent souvent une balance commerciale avec le Canada différente que celle mesurée par Statistique Canada.

Bien que toutes ces statistiques soient des mesures valides, elles sont fondées sur des données différentes, chacune ayant ses propres concepts, définitions et utilisations. La compréhension des principaux concepts et des principales utilisations pour chaque base peut permettre de déterminer les statistiques qui conviendraient le mieux aux objectifs des utilisateurs de données.

Statistiques sur la base douanière

Les statistiques sur la base douanière permettent de mesurer les fluctuations du stock de ressources matérielles du Canada qui découlent de l'entrée (importations) et de la sortie (exportations) des biens du pays. Les données sur la base douanière sont donc utiles pour comprendre le mouvement physique des biens entre les pays. Ces statistiques proposent des catégories de produits très détaillées et plusieurs dimensions différentes, comme la province ou le territoire, le port et le mode de transport.

Les données sur la base douanière sont disponibles pour tous les partenaires commerciaux du Canada. Les importations sont attribuées au pays d'origine des biens et les exportations, au pays qui est la dernière destination connue. Le commerce avec un pays donné peut être ventilé davantage selon le produit et d'autres dimensions. Étant donné que les droits et les tarifs douaniers sont habituellement calculés en fonction du pays d'origine des biens (le pays où les produits ont été cultivés, extraits ou fabriqués), les données sur la base douanière peuvent être plus pertinentes dans le contexte des tarifs.

Toutefois, les données sur la base douanière ne sont pas directement comparables aux données sur le commerce des services ou à d'autres indicateurs macroéconomiques comme le produit intérieur brut (PIB). Les statistiques fondées sur la base de la BDP sont, quant à elles, compatibles avec ces données et donnent ainsi une perspective plus large des activités commerciales du Canada.

Statistiques sur la base de la balance des paiements

Les données sur le commerce sur la base de la BDP fournissent une mesure des transactions économiques de biens entre les résidents et les non-résidents du Canada qui découlent d'un transfert de propriété. La mesure officielle de la balance commerciale du Canada est calculée en soustrayant les importations sur la base de la BDP des exportations sur la base de la BDP.

Les données sur le commerce de marchandises du Canada sur la base de la BDP proviennent des données sur la base douanière, qui sont ensuite ajustées pour s'harmoniser avec les concepts de la BDP. Ces ajustements, qui portent principalement sur l'évaluation, la couverture et la période statistique, permettent l'intégration des données sur le commerce de marchandises à d'autres statistiques des comptes macroéconomiques, comme le produit intérieur brut (PIB).

Contrairement aux données sur la base douanière, qui sont multidimensionnelles, les données sur la base de la BDP ne sont disponibles que par catégorie agrégée de produits ou partenaire commercial principal (qui comprend 27 pays particuliers). Par conséquent, il n'est pas possible de ventiler les importations et les exportations avec un certain pays par catégorie de produits.

Les importations des principaux partenaires commerciaux sont attribuées au pays d'exportation des biens afin de tenir compte du concept de transfert de propriété sur la base de la BDP. Comme pour les données sur la base douanière, les exportations sont attribuées au pays qui est la dernière destination connue.

En plus de la balance du commerce de biens sur la base de la BDP, la balance commerciale peut également être calculée pour les biens et les services combinés afin d'obtenir un tableau plus complet des activités commerciales du Canada. Cela se fait en ajoutant les données sur le commerce de marchandises sur la base de la BDP pour les biens et les données sur le commerce de services, puis en soustrayant les importations des exportations. Puisque les renseignements du partenaire commercial principal sont également disponibles pour les données sur le commerce de services, il est possible de calculer une balance commerciale totale (biens et services) pour les principaux partenaires commerciaux du Canada.

Comparaison des statistiques sur le commerce bilatéral de marchandises

On pourrait s'attendre à ce que les statistiques commerciales d'un pays correspondent aux statistiques commerciales d'un autre pays pour ce qui est du commerce bilatéral entre les deux, mais ce n'est généralement pas le cas. Il y a plusieurs raisons pour lesquelles les données produites par un pays peuvent différer de celles produites par un autre pays, le facteur clé étant l'attribution des pays partenaires dans les statistiques sur le commerce international de marchandises.

Pour illustrer l'attribution des pays partenaires dans les statistiques sur le commerce et l'incidence sur la comparabilité des données sur le commerce bilatéral, examinons l'exemple du commerce du Canada avec les États-Unis.

Comparaison des données sur le commerce bilatéral sur la base douanière

En commençant par les données sur la base douanière, les deux pays suivent les normes internationales en ce qui concerne l'attribution des partenaires commerciaux dans leurs statistiques. Ces normes recommandent ce qui suit :

  • l'attribution des importations au pays d'origine des biens; et
  • l'attribution des exportations, qui comprennent les exportations nationales et les réexportations, au pays qui est la dernière destination connue.

Les réexportations désignent les exportations de biens provenant d'un autre pays qui ont d'abord été importés, puis réexportés sans modification importante ou après avoir subi un traitement mineur (de l'emballage par exemple), ce qui ne change pas leur nature essentielle. Le traitement des réexportations dans la compilation des statistiques sur le commerce de marchandises est un facteur important expliquant les différences (ou asymétries) dans la balance du commerce bilatéral entre les partenaires commerciaux.

Les chargements en transit sont différents des réexportations et représentent des échanges entre deux pays qui comptent en partie sur l'infrastructure de transport d'un pays tiers. Les chargements en transit ne passent généralement pas aux douanes du pays tiers, ce pays ne serait donc pas indiqué comme étant le pays d'origine ou le pays d'exportation.

Selon les données de Statistique Canada, le Canada a importé pour 373,7 milliards de dollars (toutes les valeurs sont exprimées en dollars canadiens) de biens en provenance des États-Unis en 2023. Pour la même année, les données compilées par les États-Unis indiquent que les exportations américaines vers le Canada se sont élevées à 478,1 milliards de dollars. L'attribution du pays partenaire est à l'origine de la majeure partie de la différence (ou de l'asymétrie) observée entre ces deux chiffres. Comme mentionné précédemment, les statistiques sur les importations canadiennes sont attribuées au pays d'origine. Cela comprend les biens d'origine américaine qui ont été expédiés directement des pays autres que les États-Unis. Dans les données sur les exportations des États-Unis, ces biens n'apparaissent pas comme des exportations vers le Canada, mais comme des exportations vers un pays tiers. De plus, les données américaines sur les exportations totales comprennent les réexportations au Canada de biens d'origine étrangère qui, dans les données sur les importations canadiennes, sont attribuées au pays d'origine. Sur la différence de 104,4 milliards de dollars dans ces statistiques sur le commerce bilatéral, les réexportations américaines de biens d'origine étrangère, qui s'élèvent à 86,3 milliards de dollars, représentent environ 83 % de la différence observée.

L'attribution du partenaire commercial entraîne également une asymétrie lorsqu'on examine le commerce en direction sud : les exportations canadiennes aux États-Unis et les importations américaines en provenance du Canada. Les données canadiennes montrent qu'en 2023, le Canada a exporté pour 594,5 milliards de dollars de biens aux États-Unis, alors que les données des États-Unis indiquent que les importations en provenance du Canada se sont chiffrées à 564,9 milliards de dollars. Encore une fois, l'attribution du pays partenaire est le principal facteur expliquant la différence observée, principalement en ce qui concerne les réexportations de biens d'origine étrangère du Canada vers les États-Unis. Conformément aux normes internationales, les exportations totales comprennent les exportations nationales et les réexportations de biens d'origine étrangère. Du côté des importations, ces réexportations sont attribuées au pays d'origine des biens, et non au pays d'où ils ont été directement expédiés. En 2023, les réexportations de biens d'origine étrangère du Canada vers les États-Unis se sont élevées à 25,0 milliards de dollars, ce qui représente 85 % de l'asymétrie observée dans les statistiques sur le commerce bilatéral. De plus, les données sur les importations des États-Unis comprennent les importations de biens d'origine canadienne provenant de pays autres que le Canada, qui sont attribuées à d'autres pays de destination dans les données sur les exportations canadiennes.

Ces asymétries dans les statistiques sur le commerce bilatéral publiées par les pays sont normales et se retrouvent dans les exportations nettes sur la base douanière. Dans le cas du commerce entre le Canada et les États-Unis, l'excédent des exportations nettes du Canada en 2023 (220,8 milliards de dollars) est plus élevé dans les statistiques sur la base douanière de Statistique Canada que dans les statistiques équivalentes publiées par les États-Unis (86,8 milliards de dollars).

Comparaison des données sur le commerce bilatéral sur la base de la balance des paiements

Les asymétries dans les statistiques sur le commerce bilatéral ressortent également dans les données sur la base de la BDP. Ces différences découlent principalement de l'attribution du pays partenaire et des ajustements de la BDP. Les normes en matière de BDP recommandent que les organismes identifient le dernier pays propriétaire des biens à des fins d'attribution dans les statistiques sur les importations. Toutefois, aucune méthode précise n'a pas été prescrite pour le faire.

Les données canadiennes indiquent qu'en 2023, les exportations vers les États-Unis se sont chiffrées à 592,9 milliards de dollars, alors que les données américaines montrent que les importations de biens provenant du Canada se sont élevées à 576,6 milliards de dollars. Comme pour les données sur la base douanière, et contrairement à l'approche canadienne pour les importations sur la base de la BDP, les importations des États-Unis sur la base de la BDP sont attribuées au pays d'origine et comprennent les biens d'origine canadienne importés de pays autres que le Canada. De plus, les exportations totales du Canada comprennent les réexportations de biens d'origine étrangère vers les États-Unis. L'asymétrie qui en résulte concorde donc essentiellement avec les données sur la base douanière pour les exportations canadiennes vers les États-Unis et les importations américaines en provenance du Canada.

Dans le scénario inverse (importations canadiennes en provenance des États-Unis et exportations américaines vers le Canada), l'attribution du partenaire commercial est moins importante. Contrairement aux données sur la base douanière, les importations du Canada sur la base de la BDP sont attribuées au pays d'exportation et non au pays d'origine. En 2023, les importations canadiennes en provenance des États-Unis se sont élevées à 484,6 milliards de dollars, tandis que les États-Unis ont indiqué que leurs exportations de biens vers le Canada se sont établies à 478,9 milliards de dollars.

Bien que certains ajustements de la BDP soient communs aux deux pays, ils sont en grande partie compilés de façon indépendante à partir de différentes sources de données. Cela peut entraîner des différences entre les importations déclarées d'un pays et les exportations déclarées d'un autre, et vice versa. Parmi les ajustements de la BDP qui peuvent donner lieu à des asymétries, citons notamment ceux relatifs à la définition du commerce (les réparations par exemple), à l'évaluation et à la résidence, et à la période statistique.

Comme pour les données douanières, les asymétries entre les statistiques commerciales bilatérales publiées par les pays sont normales et se reflètent dans la balance commerciale sur la base de la balance des paiements. Dans le cas du commerce entre le Canada et les États-Unis, l'excédent commercial du Canada en 2023 (108,3 milliards de dollars) est plus élevé dans les statistiques sur la base de la balance des paiements de Statistique Canada que dans les statistiques équivalentes publiées par les États-Unis (97,7 milliards de dollars).

 

Valeurs sur la base douanière

Valeurs sur la base de la BDP

Commerce vers le nord : importations canadiennes

373,7 milliards de dollars

484,6 milliards de dollars

Commerce vers le nord : exportations américaines

478,1 milliards de dollars

478,9 milliards de dollars

Commerce vers le sud : exportations canadiennes

594,5 milliards de dollars

592,9 milliards de dollars

Commerce vers le sud : importations américaines

564,9 milliards de dollars

576,6 milliards de dollars

Données canadiennes : exportations nettes/balance du commerce

+220,8 milliards de dollars

+108,3 milliards de dollars

Données américaines : exportations nettes/balance du commerce

-86,8 milliards de dollars

-97,7 milliards de dollars

Toutes les valeurs sont en dollars canadiens
Source: Tableau 12-10-0005-01 Commerce bilatéral de biens du Canada et des États-Unis, base douanière et de la balance des paiements, par devise et orientation du commerce, trimestriel

Des explications détaillées des définitions et des concepts liés aux comparaisons des données sur le commerce bilatéral, sur la base douanière et sur la base de la BDP, se trouvent dans l'article intitulé « Comparaison des données sur le commerce bilatéral de biens du Canada et des États-Unis, 2014, 2015 et 2016 ».

Statistique Canada fait le suivi des statistiques publiées pour les deux pays dans son tableau intitulé « Commerce bilatéral de biens du Canada et des États-Unis, base douanière et de la balance des paiements, par devise et orientation du commerce, trimestriel », qui présente des données en dollars canadiens et américains.

Pour obtenir plus de renseignements sur les sources de données, les concepts et les définitions des statistiques sur la base douanière et sur la base de la BDP, consulter le Guide de référence sur les statistiques du commerce international de marchandises du Canada.