Utiliser les techniques de classification basée sur une forêt
Une méthode de modélisation de la répartition des espèces utilise un algorithme de Machine Learning courant, la forêt aléatoire. Dans l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées et basées sur une forêt) de ArcGIS Pro vous avez le choix entre deux algorithmes : une adaptation de l’algorithme de forêt aléatoire ou l’algorithme Extreme Gradient Boosting (XGBoost). Dans ce module, vous allez utiliser l’algorithme basé sur une forêt, qui entraîne un modèle basé sur des valeurs connues fournies dans le cadre d’un jeu de données d’entraînement qui peut alors être utilisé pour prévoir les valeurs inconnues. Vous allez exécuter l’outil deux fois ; la première pour entraîner un modèle préliminaire et en évaluer la précision et la deuxième pour améliorer ce modèle et générer une couche de raster de prévision.
Configurer le projet
Vous allez tout d’abord télécharger les données requises pour la modélisation de la répartition des espèces. Elles ont été partagées sous forme de paquetage de projet, que vous pouvez télécharger et ouvrir dans ArcGIS Pro. Les données ont déjà été extraites, découpées et projetées (le traitement est décrit ci-après). Pour en savoir plus sur la manière de préparer vos propres données pour la modélisation de la répartition des espèces, reportez-vous au didacticiel Préparer les données de modélisation de la répartition des espèces.
- Téléchargez les données du didacticiel.
- Double-cliquez sur le paquetage de projet Hurricane_Elsa (Ouragan_Elsa) pour ouvrir ArcGIS Pro. Si nécessaire, connectez-vous avec un compte ArcGIS sous licence.
Ce projet contient les données dont vous avez besoin pour la modélisation de la répartition des espèces.
- Les points d’observation des sangliers (Sus scrofa) sont extraits des observations d’iNaturalist. La couche Sus_scrofa_California contient uniquement ces points d’observation. La couche Sus_scrofa_California_absence_presence contient également les points de pseudo-absence, à savoir, les points où aucun sanglier n’a été observé, ce qui constitue une condition requise pour la modélisation de régression basée sur une forêt.
- Les données bioclimatiques représentant 19 variables environnementales sur la température et les précipitations sont extraites de la couche Bioclimate Baseline 1970-2000. Elles ont été projetées sur le système NAD 1983 California (Teale) Albers (Meters) et découpées sur l’État de Californie. Les couches découpées dépassent légèrement les frontières des États afin que les données environnementales puissent être extraites pour les points d’observation ou de pseudo-absence aux frontières des États ou à proximité.
- Les données d’élévation et de pente proviennent du dossier USGS EROS Archive - Digital Elevation - Global Multi-resolution Terrain Elevation Data 2010. Elles sont projetées sur le système NAD 1983 California (Teale) Albers (Meters) et découpées sur l’État de Californie.
- L’occupation du sol a été extraite de la couche USA NLCD Land Cover. Elle a été projetée sur le système NAD 1983 California (Teale) Albers (Meters) et découpée sur l’État de Californie.
Entraîner un modèle Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt)
L’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt) entraîne un modèle basé sur des valeurs connues fournies dans le cadre d’un jeu de données d’entraînement qui peut alors être utilisé pour prévoir les valeurs inconnues. Cet outil peut être exécuté dans trois modes : entraînement uniquement, prévision en entités et prévision en raster. Dans cette section, vous allez utiliser le mode d’apprentissage pour créer un modèle préliminaire. Lorsque l’outil est exécuté, il crée une série de diagrammes et d’autres sorties qui vous permettent d’évaluer la précison du modèle et de prendre des décisions quant à la manière de l’améliorer.
- Dans la fenêtre Geoprocessing (Géotraitement), recherchez l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt) et ouvrez-le.
Vous allez exécuter deux fois cet outil ; la première pour analyser les données en entrée et la deuxième, pour ajuster les entrées afin d’obtenir un meilleur modèle. Cette option permet d’évaluer la précision du modèle avant de générer des prévisions. Elle génère des diagnostics relatifs au modèle dans la fenêtre de messages, ainsi qu’un diagramme sur l’importance des variables.
- Pour Prediction Type (Type de prévision), sélectionnez Train only (Entraînement uniquement) et assurez-vous que l’option Model Type (Type de modèle) est définie sur Forest-based (Basée sur une forêt).
Les modèles basés sur une forêt s’appuient sur plusieurs arbres décisionnels créés en fonction des données d’entraînement. Un arbre décisionnel est un diagramme en forme d’organigramme qui, à partir de caractéristiques connues d’un résultat, détermine la probabilité que le point de données inconnu y correspondent en fonction d’une série de décisions. Chaque arbre décisionnel génère sa propre prévision et ses votes relatifs à un résultat. Le modèle tient compte des votes de tous les arbres décisionnels dans la prévision ou le classement du résultat d’un échantillon inconnu. L’autre option est un modèle Gradient Boosted (À boosting de gradient), qui crée un modèle dans lequel chaque arbre décisionnel est créé de manière séquentielle à l’aide des données d’origine. Chaque arbre corrige les erreurs des arbres précédents.
- Pour Input Training Features (Entités d’entraînement en entrée), sélectionnez Sus_scrofa_California_absence_presence. Pour Variable to Predict (Variable à prévoir), sélectionnez le champ Presence (Présence) et cochez la case Treat Variable as Categorical (Traiter la variable comme catégorielle).
Cette analyse requiert à la fois des points de présence et d’absence. Dans le champ Presence (Présence), les localisations où des sangliers ont été observés sont étiquetées avec le chiffre 1. Tous les autres points sont étiquetés avec le chiffre 0. La véritable absence étant difficile à prouver avec certitude pour le déplacement des espèces, cette couche contient des points de pseudo-absence ; un ensemble de points échantillonnés de manière aléatoire représentant les localisations où aucun sanglier n’a été observé.
- Cochez la case Include All Prediction Probabilities (Inclure toutes les probabilités prévues).
Ce paramètre génère une sortie qui indique la probabilité de toutes les catégories de la variable catégorielle. Dans notre cas, il indique la probabilité à la fois d’absence et de présence à une localisation donnée.
Vous allez maintenant ajouter les données explicatives. Les variables explicatives peuvent provenir de champs, être calculées à partir d’entités de distance ou être extraites de rasters. Vous pouvez utiliser toute combinaison de ces types de variable explicatives, mais le type d’entrée que vous choisissez a un impact sur les sorties disponibles. Comme vous souhaitez que votre sortie ultime soit une surface raster indiquant la prévision de présence, vous allez utiliser l’option Explanatory Training Rasters (Rasters d’entraînement explicatifs).
- Pour Explanatory Training Rasters (Rasters d'entraînement explicatifs), cliquez sur Add Many (Ajouter plusieurs). Cochez les cases permettant d’ajouter les 19 variables bioclimatiques, CA_Elevation, CA_Slope et CA_NCLD, puis cliquez sur Add (Ajouter).
- En regard de la variable CA_NLCD, cochez la case Categorical (Catégoriel).
Les paramètres du modèle ont été définis. Vous allez à présent créer, à partir de l’exécution de l’entraînement, des sorties qui vous permettront d’évaluer et d’améliorer le modèle de prévision.
- Développez la section Additional Outputs (Sorties supplémentaires). Pour Output Trained Features (Entités entraînées en sortie), saisissez fbbcr_output_trained.
Cette sortie va tester la précision de la prévision en indiquant les proportions du jeu de données en entrée classées correctement et incorrectement.
- Pour Output Variable Importance Table (Table de l’importance des variables en sortie), saisissez fbbcr_variable_importance.
La valeur Output Variable Importance Table (Table de l’importance des variables en sortie) contient les variables explicatives utilisées dans le modèle et leur importance. Elle vous aide à évaluer les variables explicatives, parmi les nombreuses que vous utilisez dans l’exécution initiale du modèle, les plus importantes pour prévoir la présence de sangliers. Elle permet également de créer un diagramme illustrant la répartition de l’importance des variables entre les exécutions.
- Pour Output Classification Performance Table (Confusion Matrix) (Table des performances de classification en sortie [Matrice de confusion]), saisissez fbbcr_class_performance.
Cette sortie n’est disponible que si la variable dépendante est catégorielle et fait partie des données en entrée utilisées pour la validation. La table en sortie indique le nombre de vrais positifs (TP), vrais négatifs (TN), faux positifs (FP) et faux négatifs (FN) dans chaque catégorie en fonction des données de validation data.
- Développez le groupe Advanced Model Options (Options de modèle avancées).
Les options de ce groupe, connues sous le nom d’hyperparamètres, permettent de contrôler le nombre d’arbres décisionnels et de caractéristiques des arbres utilisés dans la modélisation. Par exemple, l’augmentation du nombre d’arbres dans la forêt ou le modèle boosté permet généralement d’obtenir des prévisions de modèle plus précises, mais au détriment d’un temps de calcul plus long. Des valeurs Minimum Leaf Size (Taille minimale des feuilles) plus faibles peuvent rendre votre modèle sujet aux bruits dans vos données. Pour mieux comprendre lesquels de ces paramètres vous devez ajuster, vous allez au préalable exécuter le modèle avec les paramètres par défaut. L’utilisation du paramètre Optimize Parameters (Optimiser les paramètres) permet d’effectuer ces ajustements.
- Cochez la case Optimize Parameters (Optimiser les paramètres).
Vous avez le choix entre plusieurs méthodes d’optimisation. Pour limiter le temps de traitement, vous allez utiliser la méthode Random Search (Quick) (Recherche aléatoire [Rapidité]) par défaut et l’optimiser pour la précision du modèle. Plusieurs options vous sont proposées pour Optimize Target (Objective) (Optimiser la cible [Objectif]). Elles mettent l’accent sur l’optimisation de diverses métriques de performance du modèle.
- Pour Number of Runs for Parameter Sets (Nombre d’exécutions pour les jeux de paramètres), saisissez 10.
Pour chaque point de recherche, la méthode Random Search (Robust) (Recherche aléatoire [Précision]) génère un modèle à l’aide de 10 valeurs initiales différentes, sélectionne l’ensemble de valeurs d’hyperparamètre avec les performances de modèle moyennes, puis passe au prochain point de recherche. L’outil recherche tous les points de recherche candidats, puis sélectionne l’ensemble de valeurs d’hyperparamètre avec les meilleures performances de modèle.
- Pour Model Parameter Setting (Réglage des paramètres de modèle), ajoutez les hyperparamètres suivants :
- Parameter (Paramètre) : Number of Trees
- Lower Bound (Limite inférieure) : 100
- Upper Bound (Limite supérieure) : 500
- Interval (Intervalle) : 10
Remarque :
Lorsque vous saisissez les hyperparamètres, l’indicateur d’erreur Erreur 110535 peut apparaître. Cette erreur est résolue une fois que vous avez fini de saisir les hyperparamètres et les critères de test.
- Développez la section Validation Options (Options de validation). Définissez Number of Runs for Validation (Nombre d’exécutions pour la validation) sur 25.
Le niveau de confiance du modèle augmente avec le nombre d’exécutions de l’outil. Avec chaque exécution de validation, 10 pour cent de données différentes sont nécessaires pour tester le modèle. Les diagnostics de l’outil vous permettent de comparer le score de précision de l’entraînement à l’exécution de validation. Ils vous permettent également de mieux comprendre l’importance de chaque variable dans la prévision globale.
- Pour Output Validation Table (Table de validation en sortie), saisissez fbbcr_out_validation.
Cette table est accompagnée d’un diagramme illustrant la répartition des scores de précision. Ce diagramme permet d’évaluer la stabilité du modèle ou de déterminer s’il doit être amélioré.
- Cliquez sur Run (Exécuter).
Au terme de l’exécution de l’outil, la couche fbbcr_output_trained est ajoutée à la carte.
Les tables en sortie que vous avez créées sont ajoutées à la fenêtre Contents (Contenu), sous Standalone Tables (Tables autonomes).
Remarque :
Le modèle basé sur une forêt échantillonne par défaut un échantillon aléatoire de données d’entraînement différent à chaque exécution. Par conséquent, si vous exécutez l’outil plusieurs fois, vous pouvez obtenir des résultats différents.
Interpréter et améliorer le modèle de forêt aléatoire
Maintenant que vous avez exécuté l’outil une première fois, vous allez en utiliser les diagnostics, les diagrammes et les sorties d’entraînement pour évaluer les performances du modèle quant à la prévision de la présence de sangliers. Vous devez évaluer deux domaines pour déterminer les paramètres à améliorer : la performance du modèle et la pertinence des données explicatives. Les diagnostics de l’outil propose une série de statistiques, telles que Model Out of Bag Errors (Erreurs hors section du modèle) et Classification Diagnostics (Diagnostic de classification), qui vous aident à déterminer si les paramètres ou hyperparamètres doivent être mis à jour. La table Top Variable Importance (Importance des variables principales) indique également les variables explicatives ayant le plus grand impact sur la prévision, pour vous permettre de supprimer les données en trop.
Lors de l’entraînement d’un modèle, il est recommandé de l’exécuter plusieurs fois, en testant différents paramètres, pour l’améliorer. Pour gagner du temps, ce didacticiel est limité à deux exécutions de l’outil. Pour une analyse supplémentaire des sorties, reportez-vous à l’article Fonctionnement de l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt) de la documentation.
Remarque :
Vos résultats peuvent être différents de ceux des exemples fournis dans cette section. Ces différences résultent de l’échantillonnage aléatoire effectué par l’outil.
- Une fois que l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt) a été exécuté, dans la partie supérieure de la fenêtre Geoprocessing (Géotraitement), cliquez sur View Details (Afficher les détails).
Remarque :
Si vous avez fermé la fenêtre Geoprocessing (Géotraitement), vous pouvez également accéder aux Details (Détails) à partir de la fenêtre Geoprocessing History (Historique du géotraitement). Sur le ruban, cliquez sur l’onglet Analysis (Analyse). Dans le groupe Géotraitement, cliquez sur Historique. Dans la fenêtre History (Historique), cliquez avec le bouton droit sur l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt) et sélectionnez View Details (Afficher les détails).
Les détails de l’outil contiennent un enregistrement des paramètres utilisés et des messages qui vous aideront à interpréter les résultats.
- Si nécessaire, dans la fenêtre Details (Détails), cliquez sur l’onglet Messages.
La première table indique les Model Characteristics (Caractéristiques du modèle), ou les hyperparamètres permettant de spécifier le modèle basé sur une forêt. Comme vous avez autorisé l’optimisation des paramètres, le modèle a probablement été exécuté avec davantage d’arbres que la valeur par défaut (100). Le nombre d’arbres exact utilisé par votre modèle varie en fonction des échantillons aléatoires utilisés.
Remarque :
Les avertissements de l’outil indiquent que des problèmes ont été rencontrés lors de la lecture de certaines des entités en entrée. En raison de la résolution et de l’étendue des rasters en entrée, qui ont été découpés sur l’État de Californie pour réduire à la fois le temps de traitement et la taille des fichiers, les informations de certains points d’observation proches de la côte n’ont pas pu être extraits des rasters vers les points.
- Accédez à la table Model Out of Bag Errors (Erreurs hors section du modèle).
La table Model Out of Bag Errors (Erreurs hors section du modèle) (OOB) permet d’évaluer la précision du modèle. La MSE (mean squared error) (EQM [Erreur quadratique moyenne]) est basée sur la capacité du modèle à prédire précisément la valeur Variable to Predict (Variable à prévoir). Ces erreurs sont calculées pour la moitié du nombre d’arbres utilisés et pour le nombre total d’arbres utilisés. Si les erreurs et le pourcentage de variation expliqués sont similaires pour ces deux nombres d’arbres, vous n’avez sans doute pas besoin d’augmenter le nombre d’arbres utilisés. La variable de prévision étant catégorielle, les erreurs OOB sont calculées en fonction du pourcentage de classifications incorrectes pour chaque catégorie d’arbres ne contenant pas un sous-ensemble des arbres de la forêt.
- Relevez les variables les plus importantes dans la table Top Variable Importance (Importance des variables principales).
Comme vous avez utilisé un grand nombre de variables explicatives, l’importance de chacune est relativement faible, mais la table reste un moyen utile de déterminer les variables ayant le plus d’influence sur la présence de sangliers. Vous allez utiliser les résultats de cette table, ainsi que la table Summary of Variable Importance (Résumé de l’importance des variables) créée avec la sortie fbbcr_variable_importance, pour réduire le nombre de variables utilisées dans la prochaine exécution de l’outil.
- Comparez les scores de la table Training Data: Classification Diagnostics (Données d’entraînement : diagnostic de classification) à ceux de la table Validation Data: Classification Diagnostics (Données de validation : diagnostic de classification).
La table Training Data: Classification Diagnostics (Données d’entraînement : diagnostic de classification) indique les performances du modèle sur les données d’entraînement et la table de validation, les performances du modèle sur les données inconnues. Si le modèle est performant sur les données d’entraînement, mais non sur la validation, cela indique un éventuel surajustement du modèle. En général, plus le score F1 et le MCC sont proches de 1, meilleur est le modèle.
- Dans la table Validation Data: Classification Diagnostics (Données de validation : diagnostic de classification), comparez les valeurs Sensitivity (Sensibilité) et Accuracy (Précision).
Les statistiques indiquées dans cette table représentent les mesures de performance du modèle. La sensibilité est le pourcentage de fois que les entités temporelles avec une catégorie observée ont été correctement prévues pour cette catégorie et la précision correspond au nombre de fois qu’une catégorie est identifiée correctement parmi le nombre total d’observations pour cette catégorie. Ces deux valeurs étant proches de 1, cela signifie que le modèle a précisément classé la plupart des points lors des exécutions de validation. Vous pouvez afficher les informations sur la sensibilité sous forme graphique en ouvrant le diagramme Validation Performance (Performances de validation) créé avec la table fbbcr_class_performance.
- Fermez la fenêtre Details (Détails). Dans la fenêtre Contents (Contenu), sous la couche fbbcr_output_trained, cliquez avec le bouton droit de la souris sur le diagramme Prediction Performance (Performances de prévision) et sélectionnez Open (Ouvrir).
Le diagramme Prediction Performance (Performances de prévision) s’ouvre. Chaque barre représente la catégorie prévue et la couleur des sous-barres reflète la catégorie réelle. Ce diagramme permet de représenter non seulement la fréquence à laquelle ce modèle a correctement prévu la variable qui vous intéresse, mais également les points ayant posé problème. Comme vous avez exécuté le modèle avec le paramètre Include All Prediction Probabilities (Inclure toutes les probabilités prévues) sélectionné, chaque point de cette couche inclut également la probabilité de l’absence ou de la présence de sangliers.
Ce diagramme illustre les performances du modèle sur les entités d’entraînement en sortie, tandis que le diagramme Validation Accuracy (Précision de validation) créé avec la table fbbcr_out_validation illustre les performances du modèle sur les données de validation.
- Dans le diagramme Prediction Performance (Performances de prévision), dans la barre 0, cliquez sur la plus petite sous-barre affichant des points qui représentent la Presence (Présence) mais ont été incorrectement classés comme des points Absence.
Les points incorrectement classés comme Points d’absence sont sélectionnés sur la carte. Ils sont dispersés dans l’État.
- Sur la carte, cliquez sur l’un des points incorrectement classés. Dans la fenêtre contextuelle, accédez aux attributs Probability (Probabilité).
Dans le point sélectionné affiché, en fonction des attributs environnementaux du point, la probabilité d’absence est de 57 pour cent et la probabilité de présence, de 42 pour cent.
- Dans la fenêtre Contents (Contenu), sous Standalone Tables (Tables autonomes), pour la table fbbcr_variable_importance, double-cliquez sur le diagramme Distribution of Variable Importance (Distribution de l’importance des variables).
Comme vous avez exécuté le modèle 25 fois pour la validation, chaque fois sur un sous-ensemble différent de données en entrée, l’importance des variables varie légèrement. Les variables n’ont pas toutes la même importance, mais les 12 premières sont particulièrement importantes : BIO15_Precipitation_Seasonality, BIO11_Mean_Temperature_of_Coldest_Quarter, CA_Elevation, BIO3_Isothermality, CA_NLCD, BIO18_Precipitation_of_Warmest_Quarter, BIO6_Min_Temperature_of_Coldest_Month, BIO8_Mean_Temperature_of_Wettest_Quarter, CA_Slope, BIO1_Annual_Mean_Temperature, BIO14_Precipitation_of_Driest_Month et BIO12_Annual_Precipitation.
Vous allez exécuter à nouveau l’outil en vous concentrant sur ces 12 variables explicatives. Supprimer les variables explicatives les moins importantes permet de réduire la possibilité de sur-ajuster le modèle.
- Dans la fenêtre Geoprocessing (Géotraitement), dans l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt), remplacez le Prediction Type (Type de prévision) par Predict to Raster (Prévoir un raster).
- Pour Explanatory Training Rasters (Rasters d’entraînement explicatifs), supprimez tous les rasters, à l’exception de Bioclimate 1, 3, 6, 8, 11, 12, 14, 15, 18, CA_Elevation, CA_NLCD et CA_Slope.
- Pour Output Prediction Surface (Surface de prévision en sortie), saisissez fbbcr_feral_swine_prediction.
- Pour toutes les sorties que vous avez créées dans les catégories Additional Outputs (Sorties supplémentaires), Advanced Model Options (Options de modèle avancées) et Validation Options (Options de validation), ajoutez suffix _top12 à la fin du nom de la sortie.
Ainsi, chaque sortie de la surface de prévision est recréée pour vous permettre de comparer les deux modèles et vous assurer que vous améliorez bien la prévision.
- Cliquez sur Run (Exécuter).
- Dans la fenêtre Contents (Contenu), désélectionnez la couche fbbcr_output_trained pour la désactiver. Fermez les tables et diagrammes que vous avez ouverts lors de l’évaluation de la première exécution du modèle.
- Utilisez vos connaissances sur les diagnostics de modèle et les tables en sortie pour évaluer le nouveau modèle.
Les statistiques globales évaluant ce modèle, notamment le MSE, le score F1 et le MCC, doivent avoir été améliorées. Contrairement au premier modèle, cette exécution tendait à prévoir à tord une présence supérieure à l’absence. Dans le cas du sanglier, cela est probablement bénéfique car les populations de sangliers s’adaptent et peuvent survivre dans des conditions variées.
- Dans la fenêtre Contents (Contenu), désélectionnez la couche fbbcr_output_trained_top12 pour la désactiver.
La couche fbbcr_feral_swine_prediction est un raster indiquant les localisations de sangliers probables dans l’État, en fonction des caractéristiques environnementales.
Dans cette section, vous avez exécuté deux fois l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt) pour entraîner un modèle préliminaire et en évaluer la précision avant de générer une couche raster de prévision. En réalité, ce processus peut nécessiter plus de deux itérations pour obtenir les résultats souhaités. Vous allez à présent utiliser un algorithme d’entropie maximale pour effectuer une modélisation similaire et comparer les résultats.
Utiliser les techniques MaxEnt
Une autre méthode de modélisation de la répartition des espèces est disponible dans ArcGIS Pro : la prévision de présence seule (MaxEnt). Celle-ci utilise un algorithme d’entropie maximale afin de modéliser la présence d’un phénomène à l’aide de localisations de présence déjà connues et de variables explicatives. À l’instar du modèle basé sur une forêt, il est possible d’exécuter l’outil Prévision de présence seule à plusieurs reprises pour évaluer et améliorer le modèle, et pour générer une surface de prévision de l’occurrence des espèces. Contrairement au modèle basé sur une forêt, vous n’avez pas besoin d’un jeu de données qui contienne à la fois les points de présence et d’absence (ou de présence et de pseudo-absence, dans la plupart des cas) ; la surface raster montre la probabilité selon laquelle une espèce se trouve dans une zone plutôt qu’une classification binaire de la présence ou l’absence.
Entraîner un modèle Prévision de présence seule
Dans cette section, vous allez utiliser l’outil Prévision de présence seule en mode d’apprentissage pour produire un modèle préliminaire. Vous avez déjà déterminé les variables explicatives les plus importantes à l’aide de la classification basée sur une forêt et allez également les utiliser en tant que variables explicatives dans cet outil.
- Dans la fenêtre Geoprocessing (Géotraitement), recherchez l’outil Presence-only Prediction (MaxEnt) (Prévision de présence seule [MaxEnt]) et ouvrez-le.
À la différence de nombreuses techniques de régression et en particulier de l’outil Forest-based and Boosted Classification and Regression (Classification et régression boostées basées sur une forêt), l’outil Presence-only Prediction (Prévision de présence seule) ne nécessite pas de points d’arrière-plan ou de pseudo-absence. Et, comme pour l’outil Forêt aléatoire, des types spécifiques d’entités en entrée génèrent des sorties différentes. Dans le cas présent, comme vous voulez générer une autre surface raster, vous n’aurez besoin que de points d’observation.
- Pour Input point features (Entités ponctuelles en entrée), choisissez la couche Sus_scrofa_CA.
- Pour Explanatory Training Rasters (Rasters d'entraînement explicatifs), cliquez sur Add Many (Ajouter plusieurs). Cochez les cases pour ajouter les mêmes variables lors de la dernière exécution de l’outil Forêt aléatoire : Bioclimate 1, 3, 6, 8, 11, 12, 14, 15, 18, CA_Elevation, CA_NLCD et CA_Slope. Cliquez sur Add (Ajouter).
Même si vous pouvez exécuter cet outil avec l’ensemble des 19 variables bioclimatiques, il est préférable d’utiliser des outils comme l’outil Forêt aléatoire pour comprendre l’importance des variables à l’égard du modèle. Lors de la génération de modèles, il est important de trouver le bon compromis entre la simplification des modèles visant à réduire le sur-ajustement et la création de modèles suffisamment précis pour obtenir une prévision exacte.
- En regard de la variable CA_NLCD, cochez la case Categorical (Catégoriel).
Ensuite, vous allez sélectionner des expansions de variables. Différentes expansions peuvent vous aider à cerner les relations entre les variables. Les expansions n’étaient pas nécessaires dans le modèle de forêt aléatoire, car l’algorithme gère automatiquement les relations non linéaires entre les variables dépendantes et explicatives. Vous pouvez sélectionner plusieurs fonctions de base au cours d’une même exécution de l’outil en utilisant le paramètre Explanatory Variable Expansions (Basis Functions) [Expansions de variables explicatives (fonctions de base)] pour que toutes les versions transformées des variables explicatives soient ensuite utilisées dans le modèle. Les variables les plus performantes sont sélectionnées par régularisation, une méthode de sélection des variables basée sur un équilibre entre complexité et adéquation du modèle.
- Pour Explanatory Variable Expansions (Basis Functions) (Expansion des variables explicatives [Fonctions de base]), cochez les cases pour sélectionner Original (Linear) (Original [Linéaire]), Squared (Quadratic) (Carré [Quadratique]) et Pairwise interaction (Product) (Interaction deux par deux [Produit]).
La fonction Original (Linear) (Original [Linéaire]) est la seule qui fonctionne pour des données catégorielles, telles que l’occupation du sol. La fonction carrée, qui crée une relation quadratique, tend à modéliser un peu mieux les relations d’une espèce selon les facteurs environnementaux. En effet, il existe des plages spécifiques pour chaque variable qui constituent l’habitat idéal de l’espèce. Par exemple, des espèces qui vivent dans des zones à pluviosité modérée ne sont pas adaptées aux conditions désertiques ou tropicales ; la relation est parabolique. La probabilité de l’adéquation d’un habitat pour l’espèce s’élève à mesure que les précipitations augmentent, puis diminue à mesure que les précipitations continuent de grimper au-delà d’un certain point. La fonction deux par deux est également propice à la modélisation des relations environnementales, car elle est en mesure de représenter les relations entre elles.
- Pour Study area (Zone d’étude), choisissez Polygon study area (Zone d’étude surfacique) et sélectionnez la couche des limites de l’État California comme Study Area Polygon (Polygone de zone d’étude).
- Cochez le paramètre Apply Spatial Thinning (Appliquer un affinage spatial).
L’affinage spatial est appliqué aux points d’arrière-plan et d’observation pour réduire les biais d’échantillonnage potentiels. Comme les données d’observation portant sur les sangliers ont été collectées par des personnes via l’application iNaturalist, on ne peut exclure la présence d’un biais éventuel concernant à la fois les zones de présence humaine et les zones dans lesquelles les utilisateurs de l’application iNaturalist identifient et signalent diverses espèces. L’affinage spatial réduit ce biais en supprimant les points qui sont proches les uns des autres et peuvent représenter plusieurs observations du même animal ou représenter une zone protégée comme un parc national dans lesquelles les interactions entre les hommes et les animaux sont plus susceptibles de se produire ou bien encore d’autres phénomènes.
- Pour Minimum Nearest Neighbor Distance (Distance minimale par rapport au voisin), choisissez 1 kilometer (1 kilomètre).
Les paramètres suivants constituent les hyperparamètres du modèle.
- Si nécessaire, développez Advanced Model Options (Options de modèle avancées). Pour Relative Weight of Presence to Background (Pondération relative de présence par rapport à l’arrière-plan), saisissez 1.
- Pour Presence Probability Transformation (Link Function) (Transformation de la probabilité de présence [Fonction de liaison]), choisissez Logistic (Logistique).
Parmi les deux fonctions Presence Probability Transformation (Transformation de la probabilité de présence), la fonction Logistique se prête mieux aux situations où la présence n’est pas absolument certaine. Dans notre cas de figure, les porcs sauvages ne restent vraisemblablement pas à l’endroit où ils ont été observés, mais se déplacent pour chercher de la nourriture et se mettre à l’abri ; la fonction est donc appropriée. Étant donné que vous avez choisi d’utiliser la fonction Logistique, le paramètre Relative Weight of Presence to Background (Pondération relative de présence par rapport à l’arrière-plan) doit être inférieur. Dans notre exemple, vous pondérez équitablement les points de présence et de pseudo-absence.
Pour le moment, vous allez également accepter la valeur Presence Probability Cutoff (Limite de la probabilité de présence) fixée à 0.5 (0,5). Les diagnostics de la première exécution de cet outil vous aideront à déterminer si une valeur limite différente est nécessaire pour améliorer les exécutions ultérieures.
Vous pouvez maintenant choisir les diagnostics et les graphiques à produire par l’outil. Les sorties de l’outil sont organisées en sorties d’entraînement et sorties de prévision. La principale distinction est que les sorties d’entraînement correspondent aux données qui ont été utilisées dans l’entraînement et la sélection du modèle, tandis que les sorties de prévision correspondent à des données qui n’ont pas encore été soumises au modèle.
- Développez le groupe Training Outputs (Sorties d’entraînement). Pour Output Trained Features (Entités entraînées en sortie), saisissez pop_output_trained.
Le résultat de cette sortie correspond à une classe d’entités contenant les points utilisés dans l’entraînement du modèle et à trois diagrammes à des fins d’interprétation complémentaire. Cette sortie symbolise les points de présence en entrée et les points d’arrière-plan qui sont créés en comparant la classification issue du modèle à la classification observée, ce qui offre une méthode visuelle pour analyser les prévisions du modèle.
Pour le moment, vous allez ignorer le raster entraîné en sortie. Une fois que vous avez exécuté le modèle initial et connaissez son niveau de performances sur les entités ponctuelles en entrée, vous pouvez créer la surface raster. Pour la première exécution, vous allez créer une table de courbe de réponse en sortie via le paramètre Response Curve Table (Table de courbe de réponse) pour montrer l’impact de chaque raster en entrée sur la prévision ainsi qu’une table de sensibilité via le paramètre Sensitivity Table (Table de sensibilité) qui vous aidera à déterminer la valeur correcte du paramètre Presence Probability Cutoff (Limite de la probabilité de présence).
- Pour Output Response Curve Table (Table de courbe de réponse en sortie), saisissez pop_response_curve et pour Output Sensitivity Table (Table de sensibilité en sortie), saisissez pop_sensitivity.
- Développez le groupe Validation Options (Options de validation). Pour Resampling Scheme (Structure de ré-échantillonnage), choisissez Random (Aléatoire) et définissez le paramètre Number of Groups (Nombre de groupes) sur 5.
Le paramètre Resampling Scheme (Structure de ré-échantillonnage) permet à l’outil d’effectuer une validation croisée afin d’évaluer la stabilité du modèle. Les points seront répartis de manière aléatoire en cinq groupes ; chaque groupe sera laissé de côté une fois lors de la validation croisée.
- Cliquez sur Run (Exécuter).
Une fois l’exécution de l’outil terminée, la couche et les tables en sortie sont ajoutées à la fenêtre Contents (Contenu). La couche pop_output_trained a été ajoutée à la carte.
Interpréter et améliorer le modèle Prévision de présence seule
Maintenant que vous avez exécuté l’outil une première fois, vous allez en utiliser les diagnostics, les diagrammes et les sorties d’entraînement pour évaluer les performances du modèle quant à la prévision de la présence de sangliers. Les diagnostics de l’outil permettent d’évaluer la précision du modèle en recensant le nombre de points de présence et d’arrière-plan qui ont été correctement classés. Toutes les statistiques et sorties de l’entraînement initial peuvent vous aider à améliorer les aspects du modèle. Toutefois, dans cette section, vous allez vous intéresser aux statistiques d’aire sous la courbe et d’omission. Celles-ci permettent de déterminer le paramètre de limite de la probabilité de présence qui convient pour la prochaine exécution de l’outil.
Remarque :
Lors de l’entraînement d’un modèle, il est recommandé de l’exécuter plusieurs fois, en testant différents paramètres, pour l’améliorer. Pour gagner du temps, ce didacticiel est limité à deux exécutions de l’outil. Pour une analyse supplémentaire des sorties, reportez-vous à l’article Fonctionnement de l’outil Prévision de présence seule (MaxEnt) de la documentation.
- Dans la fenêtre Contents (Contenu), décochez toutes les couches sauf pop_output_trained, la couche de limites California pour les désactiver.
- Au bas de la fenêtre Geoprocessing (Géotraitement), cliquez sur View Details (Afficher les détails) pour ouvrir les diagnostics de l’outil.
Plusieurs avertissements sont affichés pour cet outil. Comme précédemment, certains points proches des frontières de l’État peuvent ne pas disposer d’informations raster. Aucun point d’arrière-plan n’a été affiné, ce qui n’est pas forcément un problème au vu de la grandeur de votre zone d’étude. Pour finir, l’une des catégories du jeu de données d’occupation du sol (la catégorie de la neige et glace permanente) compte moins de huit points de données. Vous pouvez explorer ce problème de manière approfondie à l’aide de la table Explanatory Variable Category Diagnostics (Diagnostics de catégorie de variables explicatives).
La première table à examiner est la table Count of Presence and Background Points (Nombre de points de présence et d’arrière-plan), qui illustre la précision du modèle.
- Dans la table Count of Presence and Background Points (Nombre de points de présence et d’arrière-plan), comparez la ligne Number of Presence Points (Nombre de points de présence) pour rechercher le nombre de points utilisés dans le cadre de l’entraînement du modèle et le nombre de points correctement classés comme présence.
Plus les nombre de ces deux colonnes sont proches, meilleur est le modèle. Vous voulez également évaluer la ligne Number of Background Points (Nombre de points d’arrière-plan). Comme vous avez défini le paramètre Relative Weight of Presence to Background (Pondération relative de présence par rapport à l’arrière-plan) sur 1, ce nombre doit être relativement faible.
La table Model Characteristics (Caractéristiques du modèle) enregistre les paramètres du modèle qui ont été utilisés.
- Dans la table Model Summary (Résumé du modèle), évaluez la valeur AUC.
La valeur AUC, ou statistique de l’aire sous la courbe, décrit la performance du modèle à estimer les emplacements de présence connue en tant que présence et les emplacements d’arrière-plan connu comme arrière-plan. Plus la valeur est proche de 1, plus le modèle est efficace. La statistique AUC est utilisée avec le taux d’omission, qui affiche le pourcentage de points de présence classés à tort comme ayant une faible chance d’être présents. Vous allez mener une évaluation poussée de ces deux statistiques en utilisant les diagrammes créés à l’aide de la table pop_sensitivity.
- Faites défiler le contenu jusqu’à la table Regression Coefficients (Coefficients de régression).
Cette table recense les variables utilisées au final dans le modèle. La plupart comportent le préfixe product (produit), ce qui indique qu’un grand nombre des variables utilisées ont été transformées à l’aide des expansions de type Interaction deux par deux (Produit).
Les deux tables finales illustrent la plage des valeurs représentées dans les données échantillonnées. Dans la table finale, vous pouvez examiner les données NLCD et voir quelle est la catégorie sous-échantillonnée à l’origine de l’avertissement affiché précédemment.
- Dans la table Explanatory Variable Category Diagnostics (Diagnostics de catégorie de variables explicatives), localisez la catégorie contenant moins de 8 valeurs échantillonnées.
Dans cet exemple, la catégorie 12 comporte quatre points d’échantillonnage. Selon les détails de l’élément de la couche NLCD, la catégorie 12 correspond à la couverture de neige et glace permanente, relativement rare en Californie. Puisque le nombre d’échantillons correspond à peu de choses près à la présence réelle de ce type particulier d’occupation du sol, il est inutile de modifier la taille de cet échantillon.
Vous allez maintenant vous intéresser aux entités entraînées et aux tables que vous avez créées pour évaluer le modèle. La couche pop_output_trained affiche tous les points utilisés dans le modèle. Les points de présence sont affichés comme étant soit correctement classés, soit incorrectement classés par la prévision du modèle. Les points d’arrière-plan sont classés comme des points de présence potentielle ou des points d’arrière-plan restants.
- Fermez la fenêtre de détails.
- Dans la fenêtre Contents (Contenu), sous la couche pop_output_trained, double-cliquez sur le diagramme Classification Result Percentages (Pourcentages du résultat de classification).
Le diagramme affiche une comparaison de la classification observée et de la classification prévue. Vous allez commencer par analyser le pourcentage des points de présence qui ont été correctement classés par le modèle.
- Dans la fenêtre Chart (Diagramme), dans la colonne Presence (Présence), pointez le curseur sur la barre secondaire Presence – Correctly Classified (Présence : correctement classé) pour afficher une synthèse numérique des données.
Dans l’exemple illustré, 65,68 % des points de présence ont été correctement classés. Cela indique des performances de modèle relativement bonnes, mais il est possible de les améliorer.
Réexaminer le paramètre Presence Probability Cutoff (Limite de la probabilité de présence) constitue l’une des méthodes d’amélioration du modèle. Vous allez utiliser les diagrammes Omission Rates (Taux d’omission) et ROC Plot (Courbe ROC) pour rechercher une valeur qui convienne mieux à ce paramètre.
- Fermez le diagramme Classification Result Percentages (Pourcentages du résultat de classification).
- Dans la fenêtre Contents (Contenu), sous Standalone Tables (Tables autonomes), pour la table pop_sensitivity, double-cliquez sur les diagrammes Omission Rates (Taux d’omission) et ROC Plot (Courbe ROC) pour ouvrir ces derniers.
- Cliquez sur le diagramme ROC Plot (Courbe ROC) et faites-le glisser de manière à pouvoir voir également le diagramme Omission Rates (Taux d’omission).
- Sur le diagramme Omission Rates (Taux d’omission), sélectionnez la valeur limite par défaut de probabilité de présence de 0.5 (0,5) et notez la sensibilité obtenue sur l’axe y de la courbe ROC.
Dans l’exemple illustré, une limite de probabilité de 0,5 a produit un taux d’omission de 0,343, ce qui permet d’obtenir une sensibilité de 0,657. Le taux d’omission est le pourcentage de points de présence connus, classés par erreur comme points de non-présence par le modèle.
Utilisés ensemble, les diagrammes Omission Rates (Taux d’omission) et ROC Plot (Courbe ROC) permettent de visualiser comment plusieurs valeurs du paramètre Presence Probability Cutoff (Limite de la probabilité de présence) produisent différents taux de points de présence classés de manière erronée. Même s’il est généralement préférable d’avoir un taux d’omission proche de 0, l’abaissement de la valeur limite augmente également le nombre de points d’arrière-plan classés comme points de présence, ce qui réduit la spécificité du modèle. Comme le sanglier est un prédateur qui s’adapte, il serait utile dans notre cas de figure de rechercher davantage de zones dans lesquelles ces animaux peuvent survivre. Vous allez donc essayer de trouver un équilibre entre spécificité et sensibilité, laquelle affiche plus de points de présence.
- Sur le diagramme ROC Plot (Courbe ROC), cliquez sur l’un des points dont la valeur se trouve vers 0.9 (0,9) sur l’axe y.
Dans le modèle illustré, une sensibilité de 0,9 entraîne un taux d’omission de 0,098 %. Pour parvenir à ce résultat, vous allez relancer l’outil à l’aide d’une valeur Cutoff (Limite) de 0.24 (0,24).
- Dans la fenêtre Geoprocessing (Géotraitement), pour Presence Probability Cutoff (Limite de la probabilité de présence), saisissez 0.24.
- Pour toutes les sorties que vous avez créées dans le groupe Training Outputs (Sorties d’entraînement), ajoutez le suffixe _ppc à la fin du nom de la sortie.
Vous génèrerez également un raster de prévision en sortie.
- Pour Output Trained Features (Entités entraînées en sortie), saisissez pop_trained_raster_ppc et cliquez sur Run (Exécuter).
- Dans la fenêtre Contents (Contenu), décochez toutes les couches sauf pop_trained_raster_ppc, la couche de limites California et le fond de carte.
- Utilisez vos connaissances sur les diagnostics de modèle et les tables en sortie pour évaluer le nouveau modèle.
Comme l’analyse basée sur une forêt que vous avez réalisée auparavant, cette approche de modélisation nécessite souvent plus de deux itérations. Grâce à votre compréhension des paramètres et hyperparamètres, vous pouvez continuer à apporter des modifications et à comparer la précision des sorties jusqu’à ce que vous trouviez la meilleure combinaison pour vos données et votre situation.
Comparer les analyses de forêt aléatoire et MaxEnt
Les deux analyses utilisées dans ce didacticiel permettent de modéliser la répartition des espèces. En fonction de vos objectifs pour l’analyse, des données que vous avez à disposition et d’autres facteurs, vous pouvez choisir d’utiliser l’une ou l’autre des méthodes, voire les deux dans le cadre de votre propre modélisation. Comme toutes les méthodes statistiques et analytiques, la classification basée sur une forêt et l’analyse MaxEnt présentent des points forts et des points faibles à prendre en compte. Dans cette section, vous allez comparer les surfaces de prévision en sortie que vous avez produites et examiner certains avantages des deux approches de modélisation.
- Dans la fenêtre Contents (Contenu), activez la couche fbbcr_feral_swine_prediction.
- Cliquez sur la couche pop_trained_raster_ppc pour la sélectionner.
- Sur le ruban, cliquez sur l’onglet Raster Layer (Couche raster). Dans le groupe Compare (Comparer), cliquez sur le bouton Swipe (Balayer).
- Sur la carte, cliquez et faites glisser le pointeur d’avant en arrière pour comparer les deux surfaces de prévision raster.
Les surfaces de prévision sont similaires, ce qui est un bon indicateur de la précision des modèles.
Lorsque vous faites appel à des méthodes de statistiques spatiales dans le cadre de la prévision, il faut tenir compte des atouts et des inconvénients de chaque méthode afin de veiller à sélectionner la méthode qui correspond le mieux à l’objectif de votre analyse et aux données à votre disposition.
Classification et régression basées sur une forêt
Atouts de l’approche Autres remarques Possibilité de capturer une relation inconnue ou plus complexe entre les variables dépendantes et explicatives.
Les points de présence et d’absence (ou de pseudo-absence) sont nécessaires.
Il est inutile de spécifier les relations comme il est nécessaire de le faire pour la prévision de présence seule.
L’importance des variables nous aide à comprendre la contribution de chaque variable explicative au modèle, mais son interprétation peut s’avérer difficile. Par exemple, vous ne pouvez pas déterminer si la relation est positive ou négative.
Prévision de présence seule
Atouts de l’approche Autres remarques Elle est conçue pour la modélisation de présence seule. Par conséquent, il est inutile de préparer des points d’absence.
Vous devez supposer la relation entre la variable dépendante et les variables explicatives.
Plus grande souplesse en matière de décision de la pondération des points d’arrière-plan à l’aide du paramètre Relative Weight of Presence to Background (Pondération relative de présence par rapport à l’arrière-plan).
Le paramètre d’affinage spatial permet de contrôler les points d’absence.
La surface raster en sortie fournit plus de détails sur la probabilité de l’habitat des sangliers qu’une décision binaire de la présence ou l’absence.
Dans ce didacticiel, vous avez utilisé deux techniques d’analyse pour effectuer la modélisation de la répartition des sangliers en Californie. En tant qu’espèce invasive, les sangliers sont une menace pour les écosystèmes et l’agriculture de l’État. Ces techniques de modélisation peuvent servir à un large éventail d’autres espèces et phénomènes.