Fonctionnement de l’outil Préparer les données pour la prévision

L’outil Préparer les données pour la prévision facilite le fractionnement des entités en entrée pour créer des modèles prédictifs. Cet outil extrait des informations à partir de variables explicatives, d’entités de distance et de rasters explicatifs pour réaliser le fractionnement d’entraînement-test. Il permet également le rééchantillonnage des données d’origine pour détecter des déséquilibres dans les données. L’équilibrage des données est utile pour améliorer les performances du modèle lors de la prévision d’événements rares.

L’objectif de la modélisation prédictive vise à capturer autant de motifs sous-jacents que possible, tout en garantissant la généralisation efficace du modèle sur de nouvelles données ultérieurement. Les modèles prédictifs se fondent sur les données en entrée pour l’apprentissage. Ces données en entrée sont appelées données d’entraînement. Lors de la création d’un modèle et de son entraînement sur les données en entrée, l’objectif vise à obtenir un ajustement général qui capture les motifs sous-jacents dans les données d’entraînement, tout en conservant des performances de prévision exceptionnelles sur les nouvelles données invisibles. L’objectif ne consiste pas à répliquer parfaitement les données d’entraînement, ce qui conduira à un surajustement. En même temps, évitez d’être trop général, ce qui peut mener à un sous-ajustement et des motifs clés manquants dans les données.

Graphes présentant des données sous-ajustées, surajustées et ajustées correctement

Lors du développement d’un modèle prédictif, nous souhaitons nous assurer qu’il fonctionne bien sur des données invisibles (données qui n’ont pas été utilisées pour entraîner le modèle). Pour obtenir un bon ajustement, évaluez le modèle par rapport aux données réservées où les valeurs vraies de la variable prévue sont connues mais que les valeurs n’ont pas été utilisées pour entraîner le modèle. Cela nous permet d’évaluer les performances du modèle sur des données inconnues à l’aide de diverses métriques. Les données réservées contenant ces valeurs vraies sont généralement appelées données de test ou données de validation. En général, les données de test sont séparées du jeu de données d’entraînement et réservées spécifiquement à l’évaluation du modèle. L’outil Préparer les données pour la prévision facilite le processus de fractionnement des entités en entrée en jeux d’entraînement et de test pour améliorer l’entraînement du modèle.

Représentation d’un fractionnement d’entraînement-test

Fractionnement des données

Le fractionnement des données en sous-ensembles de données d’entraînement et de test est recommandé lors de l’entraînement et de l’évaluation des modèles prédictifs.

Le paramètre Type de fractionnement comporte deux options pour fractionner les données :

  • Fractionnement aléatoire : un sous-ensemble de test est sélectionné de façon aléatoire et est donc dispersé spatialement dans toute la zone d’étude.
  • Fractionnement spatial : un sous-ensemble de test spatial est contigu spatialement et est distinct du sous-ensemble d’entraînement. Le fractionnement spatial est généré en sélectionnant une entité de façon aléatoire et en identifiant ses K voisins les plus proches. L’avantage d’utiliser un sous-ensemble de test spatial réside dans le fait que les données de test émulent un jeu de données de prévision futur qui ne se trouve pas dans la même zone d’étude que les données d’entraînement.

Fuite de données

Il convient d’être prudent lors de la sélection des données d’entraînement en raison d’une potentielle fuite de données. Une fuite de données se produit lorsque les données d’entraînement contiennent des informations auxquelles le modèle n’aura pas accès lors des futures prévisions. Cela peut conduire à une surestimation importante des fonctionnalités prédictives du modèle. Par exemple, si vous entraînez un modèle avec les retards des vols de l’après-midi pour prévoir les retards des vols du matin du même jour, lorsque vous souhaitez effectuer des prévisions pour un nouveau jour, vous devrez patienter jusqu’à l’après-midi afin de réaliser les prévisions concernant le matin, mais les retards auront alors déjà eu lieu.

La fuite de données peut toutefois être encore plus subtile. Par exemple, des secteurs de recensement voisins peuvent présenter des similitudes en raison d’une autocorrélation spatiale. Lorsqu’un modèle s’inspire d’un secteur de recensement et effectue un test sur son voisin, il est probable qu’il fonctionne plutôt bien. Toutefois, lors de la prévision sur des secteurs de recensement qui se trouvent dans un état différent, les performances du modèle peuvent diminuer de façon significative. En effet, les données d’entraînement contiennent des informations provenant d’une zone, mais le jeu de données de prévision manque d’informations similaires provenant de l’autre état. Pour atténuer la fuite de données due à la proximité spatiale, définissez le paramètre Type de fractionnement sur Fractionnement spatial. Vous pouvez créer un fractionnement d’entraînement-test spatial avant l’entraînement à l’aide de l’outil Préparer les données pour la prévision ou évaluer divers fractionnements spatiaux à l’aide de l’outil Évaluer les prévisions avec la validation croisée.

Utilisation de données déséquilibrées

Les données déséquilibrées font référence à un jeu de données où la distribution est asymétrique ou disproportionnée. Dans le contexte de tâches de classification, on parle de données déséquilibrées lorsqu’une classe (la classe minoritaire) comporte considérablement moins d’entités que les autres classes (les classes non minoritaires). Ce déséquilibre peut générer des difficultés pour entraîner efficacement des modèles de Machine Learning. Par exemple, dans un problème de classification binaire où nous prévoyons si un incendie va se produire, si 99 % des entités indiquent aucun incendie (classe majoritaire) et seulement 1 % un incendie (classe minoritaire), les données sont déséquilibrées. Ce problème se manifeste dans les résultats du modèle sous forme de faible sensibilité pour ces catégories plus rares, en indiquant que le modèle a des difficultés à identifier correctement de nombreuses entités qui leur sont associées. Par exemple, si vous prévoyez dans quels comtés une maladie rare sera présente ou que vous identifiez les individus coupables de fraude, l’identification précise de ces catégories rares devient essentielle, car elles représentent souvent les cas les plus importants pour résoudre le problème en question. Si le modèle ne peut pas utiliser efficacement les motifs dans toutes les classes, il peut en résulter une mauvaise généralisation sur les nouvelles données et une baisse d‘efficacité du modèle.

Dans un contexte spatial, les données déséquilibrées peuvent provenir de biais d’échantillonnage. Des échantillons d’entraînement comportant des agrégats spatiaux clairs qui ne représentent pas précisément la totalité de la population peuvent alors être générés. Par exemple, les enquêtes pour collecter des données se concentrent souvent sur les zones proches des routes, des chemins et d’autres emplacements facilement accessibles, en introduisant des inexactitudes dans le modèle et des conclusions éventuellement biaisées. Cet outil offre diverses méthodes d’équilibrage pour rééchantillonner les données et éviter ces problèmes.

Méthodes d’équilibrage

Le paramètre Type d’équilibrage équilibre la valeur du paramètre Variable à prévoir déséquilibrée ou réduit le biais spatial de la valeur du paramètre Entités en entrée.

Remarque :

Si le paramètre Type de fractionnement est défini sur Fractionnement aléatoire ou Fractionnement spatial, la méthode d’équilibrage s’applique uniquement aux entités en sortie dans les données d’entraînement. Cette approche garantit que les entités de test conservent leur forme d’origine intacte pour la validation, empêchant ainsi des problèmes de fuite de données.

Le paramètre Type d’équilibrage prend en charge les options suivantes pour vous aider à préparer les données d’entraînement :

  • Sous-échantillonnage aléatoire : la technique du sous-échantillonnage aléatoire permet d’équilibrer les données non équilibrées en supprimant de façon aléatoire des entités dans les classes non minoritaires jusqu’à ce que toutes les classes contiennent un nombre égal d’entités.

    Diagramme et carte illustrant le sous-échantillonnage aléatoire

    Les entités en bleu se trouvent dans la classe minoritaire, tandis que les entités en orange figurent dans la classe non minoritaire. Si l’on applique le sous-échantillonnage aléatoire aux données, l’outil supprime de façon aléatoire les entités orange afin que le nombre d’entités orange corresponde au nombre d’entités bleues.

  • Sous-échantillonnage Tomek : la technique du sous-échantillonnage de liens de Tomek permet d’équilibrer les données non équilibrées en supprimant des entités dans les classes non minoritaires qui sont proches de la classe minoritaire dans l’espace attributaire. L’objectif de cette option vise à améliorer la séparation entre les classes et à établir une limite de décision claire pour un modèle basé sur l’arborescence comme Classification et régression basées sur une forêt et boostées. Cette option ne garantit pas que toutes les classes comportent un nombre égal d’entités.

    Diagramme et carte illustrant le sous-échantillonnage Tomek

    Les entités en bleu se trouvent dans la classe minoritaire, tandis que les entités en orange figurent dans la classe non minoritaire. Dans l’espace de variable, une paire d’entités provenant de différentes classes qui sont les voisins les plus proches les uns des autres est appelée lien de Tomek. Si l’on applique le sous-échantillonnage de Tomek aux données, l’outil supprime l’entité orange si elle contient un lien de Tomek avec une entité bleue.

  • Affinage spatial : la technique de l’affinage spatial permet de réduire l’incidence du biais d’échantillonnage sur le modèle en imposant une séparation spatiale minimale déterminée entre des entités.

    Lorsqu’une variable catégorielle est sélectionnée comme variable à prévoir, l’affinage spatial est appliqué à chaque groupe indépendamment pour garantir une représentation équilibrée au sein de chaque catégorie ; sinon, il est implémenté dans l’ensemble du jeu de données d’entraînement, quelles que soient les valeurs attributaires.

    Diagramme et carte illustrant l’affinage spatial

    Toutes les entités qui se trouvent à une distance définie de la zone tampon sont supprimées.

  • Sous-échantillonnage K-médoïdes : la technique du sous-échantillonnage K-médoïdes permet d’équilibrer les données non équilibrées en conservant uniquement un certain nombre d’entités représentatives dans la classe non minoritaire, afin que toutes les classes contiennent un nombre égal d’entités. Si le sous-échantillonnage K-médoïdes est appliqué aux données, l’outil conserve uniquement K entités qui sont des médoïdes dans l’espace de variable provenant de la classe non minoritaire. Utilisez des K-médoïdes plutôt qu’un autre algorithme d’agrégation pour vous assurer qu’il existe une entité centrale représentative préexistante provenant de chaque agrégat.

    En savoir plus sur les K-médoïdes

    Diagramme et carte illustrant le sous-échantillonnage K-médoïdes

    Le nombre K est égal au nombre d’entités dans la classe minoritaire, à savoir 4. Les agrégats sont créés dans chaque classe de variables dépendantes et sont regroupés en fonction des valeurs des variables explicatives. Les entités restantes dans la classe non minoritaire proviennent du médoïde de chaque agrégat.

  • Sur-échantillonnage aléatoire : la technique du sur-échantillonnage aléatoire permet d’équilibrer les données non équilibrées en dupliquant de façon aléatoire les entités sélectionnées dans les classes minoritaires jusqu’à ce que toutes les classes contiennent un nombre égal d’entités.

    Diagramme et carte illustrant le sur-échantillonnage aléatoire

    Les entités en bleu se trouvent dans la classe minoritaire, tandis que les entités en orange figurent dans la classe non minoritaire. Si l’on applique le sur-échantillonnage aléatoire aux données, l’outil sélectionne et duplique de façon aléatoire les entités bleues, afin que le nombre d’entités bleues corresponde au nombre d’entités orange. Les variables et la géographie d’une entité dupliquée sont identiques à celles de l’entité d’origine.

  • Sur-échantillonnage SMOTE : la technique du sur-échantillonnage SMOTE (Synthetic Minority Over-sampling Technique) permet d’équilibrer les données non équilibrées en générant des entités synthétiques dans la classe minoritaire jusqu’à ce que toutes les classes contiennent un nombre égal d’entités. Une entité est choisie dans une classe minoritaire, une entité de proximité de la même classe minoritaire est sélectionnée dans l’espace attributaire et de nouveaux attributs sont générés sous forme d’interpolation entre ces deux entités. La géométrie de la nouvelle entité synthétique est celle de l’entité sélectionnée à l’origine.

    Diagramme et carte illustrant le sur-échantillonnage SMOTE

    Les entités en bleu se trouvent dans la classe minoritaire, tandis que les entités en orange figurent dans la classe non minoritaire. Si l’on applique le sur-échantillonnage SMOTE aux données, l’outil génère les entités synthétiques en interpolant les valeurs entre deux entités sélectionnées de façon aléatoire dans la classe minoritaire de l’espace attributaire. La géographie d’une entité synthétique est identique à celle de l’entité sélectionnée à l’origine, tandis que les variables sont interpolées à partir de l’entité sélectionnée.

Diagramme et carte illustrant la façon dont le sur-échantillonnage influe sur la distribution des classes
Un exemple de sur-échantillonnage est présenté. Une carte et un diagramme de la distribution des catégories dans le jeu de données d’entraînement indiquent la situation avant le sur-échantillonnage (ci-dessus) et après (ci-dessous).

Sorties

L’outil génère des messages de géotraitement et deux sorties : une classe d’entités en sortie et, éventuellement, une classe d’entités du sous-ensemble d’entités de test en sortie.

Messages de géotraitement

Vous pouvez accéder aux messages en passant le curseur de la souris sur la barre d’avancement, en cliquant sur le bouton de menu contextuel ou en développant la section de messages dans la fenêtre Géotraitement. Vous pouvez également accéder aux messages d’une précédente exécution de cet outil via l’historique de géotraitement. Les messages indiquent une table Diagnostics sur les plages des variables dépendantes et une table Diagnostics sur les plages des variables explicatives.

La table Diagnostics sur les plages des variables dépendantes indique la variable à prévoir, tandis que la table Diagnostics sur les plages des variables explicatives répertorie toutes les variables explicatives spécifiées. Si une variable est continue, la table résume les valeurs minimale et maximale dans le champ. Si une variable est catégorielle, la table répertorie chaque catégorie ainsi que le pourcentage des entités avec cette catégorie. Si le paramètre Type de fractionnement est défini sur Fractionnement aléatoire ou sur Fractionnement spatial, la table inclut également les mêmes diagnostics pour le sous-ensemble d’entités de test.

Sorties supplémentaires

Cet outil produit également une classe d’entités en sortie et une classe d’entités du sous-ensemble d’entités de test en sortie facultative.

Entités en sortie

Les entités en sortie peuvent être utilisées comme entités d’entraînement dans les outils Classification et régression basées sur une forêt et boostées, Régression linéaire généralisée et Prévision de présence seule, ainsi que dans d’autres modèles. Les champs de cette classe d’entités comprennent toutes les variables explicatives, toutes les entités de distance explicatives et la variable à prévoir. Si le paramètre Ajouter tous les champs des entités en entrée est activé, les entités en sortie incluent tous les champs des entités en entrée. Si le paramètre Encoder les variables explicatives catégorielles est activé, un champ est créé pour chaque catégorie de la variable explicative catégorielle. Chaque entité possède une valeur 0 ou 1. 1 indique que l’entité figure dans cette catégorie tandis que 0 indique qu’elle se trouve dans une autre catégorie. Si le paramètre Type de fractionnement est défini sur Aucun, les entités en sortie comprennent toutes les entités en entrée.

Sous-ensemble d’entités de test en sortie

Le sous-ensemble d’entités de test en sortie est un sous-ensemble d’entités en entrée pouvant être utilisées comme entités de test. Par exemple, vous pouvez utiliser le sous-ensemble d’entités de test en sortie pour évaluer la précision du modèle dans l’outil Prévoir à l’aide d’un fichier de modèle de statistiques spatiales.

Un pourcentage des entités en entrée est réservé pour le sous-ensemble d’entités de test en sortie. Spécifiez ce pourcentage à l’aide du paramètre Pourcentage de données comme sous-ensemble de test. Les champs de cette classe d’entités comprennent toutes les variables explicatives, toutes les entités de distance explicatives et la variable à prévoir. Si le paramètre Encoder les variables explicatives catégorielles est activé, un champ est créé pour chaque catégorie. Chaque entité possède une valeur 0 ou 1. 1 indique que l’entité figure dans cette catégorie tandis que 0 indique qu’elle se trouve dans une autre catégorie.

Cette classe d’entités est créée uniquement si le paramètre Type de fractionnement est défini sur Fractionnement aléatoire ou sur Fractionnement spatial.

Bonnes pratiques

Voici les meilleures pratiques concernant l’utilisation de cet outil :

  • Il convient de s’assurer, lors de l’utilisation de variables catégorielles en tant que valeur du paramètre Variable à prévoir ou Variables explicatives, que chaque niveau catégoriel apparaît dans les données d’entraînement. Cela est important, car les modèles doivent voir chaque catégorie possible et s’en inspirer avant d’utiliser de nouvelles données pour la prévision. Si une catégorie qui ne figurait pas dans les données d’entraînement apparaît dans les variables explicatives des données de test ou de validation, le modèle échoue. L’outil échoue s’il ne parvient pas à obtenir tous les niveaux catégoriels dans le jeu de données d’entraînement au bout de 30 tentatives.
  • Une fois que les données sont équilibrées, elles ne doivent pas être utilisées en tant que données de validation ou de test, car elles ne représentent plus la distribution de données qui sera mesurée dans le monde réel. Les données sur-échantillonnées ne doivent jamais être utilisées en tant que données de validation pour évaluer les performances du modèle. Les données sous-échantillonnées peuvent être utilisées, mais cela n’est toutefois pas conseillé. Les jeux de données d’entraînement et de test sont fractionnés avant l’équilibrage et seul le jeu d’entraînement est équilibré.
  • Lors de l’encodage des variables catégorielles, des variables binaires (0 et 1) sont créées pour chaque catégorie et ajoutées aux tables attributaires des entités d’entraînement et de test en sortie. Pour chaque catégorie, 1 indique que l’entité figure dans cette catégorie et 0 indique qu’elle se trouve dans une autre catégorie. Lors de l’utilisation d’un modèle linéaire comme la régression linéaire généralisée, vous devez omettre au moins l’une de ces variables binaires dans les variables explicatives pour éviter la multicolinéarité parfaite.
  • Une fois qu’un modèle final est sélectionné (par exemple, type de modèle finalisé, paramètre sélectionné, variables sélectionnées), vous voudrez peut-être réentraîner un modèle final à l’aide du jeu de données complet. Si vous avez fractionné à l’origine les données en données d’entraînement et de test, vous voudrez peut-être recombiner ces jeux de données ou exécuter à nouveau l’outil Préparer les données pour la prévision avec le paramètre Type de fractionnement défini sur Aucun fractionnement, puis sélectionner le modèle final. Le fichier de modèle final provenant de ces exécutions de modèle, ou des prévisions effectuées, utilisera alors l’ensemble des données disponibles pour l’entraînement. Cette étape d’analyse n’est pas obligatoire, mais de nombreux analystes choisissent de l’exécuter.
  • Lors de l’extraction de données de rasters, la valeur extraite sur un point peut ne pas correspondre exactement à la cellule du raster sous-jacent. Cela vient du fait que l’interpolation bilinéaire est appliquée lors de l’extraction de valeurs numériques de rasters sur des points.

Bibliographie

Les ressources suivantes ont été utilisées pour implémenter l’outil :

Rubriques connexes