Résumé
Calcule la régression pondérée géographiquement (Geographically Weighted Regression, GWR), qui est une forme locale de régression linéaire utilisée pour modéliser des relations variant spatialement.
Remarque :
Cet outil a été ajouté dans ArcGIS Pro 2.3 pour remplacer l’outil similaire mais désormais obsolète Régression pondérée géographiquement. Ce nouvel outil comprend des améliorations apportées à la méthode développée au cours des dernières années et prend en charge davantage de modèles.
Pour en savoir plus sur le fonctionnement de l’outil Régression pondérée géographiquement
Illustration
Utilisation
Calcule la régression pondérée géographiquement (Geographically Weighted Regression, GWR), forme locale de régression utilisée pour modéliser des relations variant spatialement. Cet outil offre un modèle local de la variable ou du processus que vous tentez de comprendre ou de prévoir en ajustant une équation de régression à chaque entité du jeu de données. L’outil Régression pondérée géographiquement crée ces équations distinctes en insérant les variables dépendantes et explicatives des entités contenues dans le voisinage de chaque entité cible. La forme et l’étendue de chaque voisinage analysé dépendent de l’entrée des paramètres Neighborhood Type (Type de voisinage) et Neighborhood Selection Method (Méthode de sélection de voisinage) . Il existe néanmoins une restriction : lorsque le nombre d’entités voisines dépasse 1 000, seules les 1 000 entités les plus proches sont incorporées dans chaque équation locale.
Pour obtenir des résultats optimaux, appliquez l’outil GWR à des jeux de données contenant plusieurs centaines d’entités. La méthode n'est pas appropriée pour les petits jeux de données. L'outil ne fonctionne pas avec les données multi-points.
Utilisez le paramètre Input Features (Entités en entrée) avec un champ représentant les phénomènes que vous modélisez (Dependent Variable (Variable dépendante)) et un ou plusieurs champs représentant Explanatory Variable(s) (Variables explicatives). Ces champs doivent être numériques et comporter une plage de valeurs. Les entités qui comportent des valeurs manquantes dans la variable dépendante ou explicative seront exclues de l’analyse. Vous pouvez toutefois utiliser l’outil Fill Missing Values (Renseigner les valeurs manquantes) pour renseigner le jeu de données avant d’exécuter l’outil Régression pondérée géographiquement.
- L’outil Régression pondérée géographiquement génère également des entités en sortie et ajoute des champs indiquant des valeurs de diagnostic locales. Les entités en sortie et les diagrammes associés sont automatiquement ajoutés à la table des matières et un schéma de rendu chaud/froid (hot/cold) est appliqué aux résiduels du modèle. Une explication complète de chaque sortie et diagramme est fournie dans Fonctionnement de l’outil Régression pondérée géographiquement.
Remarque :
L’outil Régression pondérée géographiquement produit différentes sorties. Un résumé du modèle de régression pondérée géographiquement est disponible sous forme de message au bas de la fenêtre Geoprocessing (Géotraitement) au cours de l’exécution de l’outil. Vous pouvez accéder au message 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 Geoprocessing (Géotraitement). Vous pouvez également accéder aux messages d’une précédente exécution de l’outil Régression pondérée géographiquement (GWR) via l’historique du géotraitement.
Le paramètre Model Type (Type de modèle) spécifié dépend des données que vous modélisez. Il est important d’utiliser le modèle approprié à votre analyse pour obtenir des résultats exacts de votre analyse de régression.
Il est recommandé d’utiliser des données projetées. Ceci est particulièrement important lorsque la distance est un composant de l’analyse, comme c’est le cas pour la régression pondérée géographiquement lorsque vous sélectionnez Distance band (Canal de distance) pour le paramètre Neighborhood Type (Type de voisinage paramètre). Il est recommandé de projeter vos données à l’aide d’un système de coordonnées projetées (et non avec un système de coordonnées géographiques).
Certains calculs de l’outil Régression pondérée géographiquement peuvent s’effectuer sur plusieurs unités centrales de traitement pour augmenter la performance et utilisent automatiquement jusqu’à huit threads/unités centrales de traitement.
Il est courant d’explorer les données globalement à l’aide de l’outil Régression linéaire généralisée avant de les explorer localement avec l’outil Régression pondérée géographiquement.
Les paramètres Dependent Variable (Variable dépendante) et Explanatory Variable(s) (Variables explicatives) doivent être des champs numériques contenant différentes valeurs. Ces valeurs doivent présenter une variation, à la fois globalement et localement. C’est pour cela que vous ne devez pas utiliser de variables explicatives fictives pour représenter différents régimes spatiaux dans votre modèle de régression pondérée géographiquement (en affectant par exemple la valeur 1 aux secteurs de recensement situés à l’extérieur du noyau urbain, tandis que tous les autres ont la valeur 0). Étant donné que l’outil Régression pondérée géographiquement permet aux coefficients variables explicatifs de varier, ces variables explicatives de régime spatial sont inutiles, et si elles sont incluses, elles sont susceptibles de créer des problèmes de multicolinéarité locale.
Dans les modèles de régression globaux, tels que la régression linéaire généralisée, les résultats sont peu fiables lorsque deux variables ou plus présentent un phénomène de multicolinéarité (lorsque deux variables ou plus sont redondantes ou racontent la même histoire). L’outil Régression pondérée géographiquement génère une équation de régression locale pour chaque entité dans le jeu de données. Lorsque les valeurs d’une variable explicative particulière s’agrègent spatialement, vous risquez de rencontrer des problèmes de multicolinéarité locale. Le champ de conditionnement (COND) dans la classe d’entités en sortie indique quand les résultats sont instables en raison d’un problème de multicolinéarité local. En règle générale, soyez critique à l’égard des résultats d’entités présentant un conditionnement supérieur à 30, nul ou, pour les shapefiles, égal à -1.7976931348623158e+308. Le numéro de condition est ajusté à l’échelle pour corriger le nombre de variables explicatives dans le modèle. Cela permet de comparer directement le numéro de condition entre les modèles utilisant des nombres de variables explicatives différents.
Soyez prudent lorsque vous incluez des données nominales ou catégorielles dans un modèle de régression pondérée géographiquement. Lorsque les catégories s’agrègent spatialement, vous risquez de rencontrer des problèmes de multicolinéarité locale. Le numéro de condition compris dans la sortie GWR indique quand la colinéarité locale présente un problème (numéro de condition inférieur à 0, supérieur à 30, ou défini sur nul). En présence de multicolinéarité locale, les résultats sont instables.
Pour mieux comprendre la notion de variation régionale parmi les coefficients de variables explicatives, examinez les surfaces de coefficient raster facultatives créées par l’outil Régression pondérée géographiquement. Ces surfaces raster sont créées dans le paramètre Coefficient Raster Workspace (Espace de travail raster du coefficient) sous Additional Options (Options supplémentaires), si spécifié. Pour les données surfaciques, vous pouvez utiliser des couleurs graduées ou un rendu de tonalités froides à chaudes pour chaque champ de coefficient dans Output Features (Entités en sortie) afin d’examiner les modifications survenues dans la zone d’étude.
Vous pouvez utiliser l’outil Régression pondérée géographiquement pour les prévisions en fournissant une classe d’entités Predictions Locations (Emplacements des prévisions) (cette classe d’entités est souvent la même que Input Features (Entités en entrée)), en appariant les variables explicatives et en spécifiant Output Predicted Features (Entités prévues en sortie). Si les champs Explanatory Variables to Match (Variables explicatives à apparier) de Input Features (Entités en entrée) correspondent aux champs Fields From Prediction Locations (Champs issus des emplacements des prévisions), ils sont automatiquement renseignés. Sinon, spécifiez les champs appropriés.
Un modèle de régression est incorrectement spécifié s’il manque une variable explicative clé. Une autocorrélation spatiale statistiquement signifiante des résiduels de régression ou une variation spatiale inattendue parmi les coefficients d’une ou de plusieurs variables explicatives indique que votre modèle est incorrectement spécifié. Vous devez tout faire pour découvrir (via l’analyse des résiduels du modèle de régression linéaire généralisée et l’analyse de la variation des coefficients du modèle de régression pondérée géographiquement, par exemple) ces variables manquantes clés afin de pouvoir les inclure dans le modèle.
Examinez toujours la pertinence de la nature non stationnaire d’une variable explicative. Par exemple, supposons que vous modélisiez la densité d'une espèce de plante particulière en tant que fonction de plusieurs variables, notamment ASPECT (exposition). Si le coefficient varie pour la variable ASPECT dans la zone d'étude, c'est vraisemblablement qu'il manque une variable explicative clé (la prédominance de la végétation concurrente, par exemple). Assurez-vous d'inclure toutes les variables explicatives clés dans votre modèle de régression.
Lorsque le résultat d’un calcul est l’infini ou indéfini, le résultat pour les fichiers qui ne sont pas des shapefiles sera nul ; pour les shapefiles, le résultat sera - DBL_MAX = -1.7976931348623158e+308.
Attention :
Lorsque vous utilisez des shapefiles, n'oubliez pas qu'ils ne peuvent pas stocker de valeurs Null. Les outils ou autres procédures qui créent des shapefiles à partir d'entrées dans d'autres formats peuvent stocker des valeurs Null, comme zéro ou certains nombres négatifs très petits (- DBL_MAX = -1.7976931348623158e+308). Cela peut aboutir à des résultats inattendus. Pour plus d’informations, reportez-vous à la rubrique Remarques concernant le géotraitement pour la sortie de shapefiles.
Trois options sont disponibles pour le paramètre Neighborhood Selection Method (Méthode de sélection de voisinage). Lorsque vous sélectionnez Golden search (Recherche absolue), l’outil recherche les valeurs les mieux adaptées au paramètre Distance band (Canal de distance) ou Number of Neighbors (Nombre de voisins) à l’aide de la méthode de recherche absolue. L’option Manual intervals (Intervalles manuels) teste les voisins par incréments entre les distances spécifiées. Dans tous les cas, la taille utilisée pour les voisins est celle qui minimise la valeur du critère d'information Akaike (AICc). Toutefois, les problèmes de multicolinéarité locale empêcheront ces deux méthodes de trouver un canal de distance ou un nombre de voisins optimaux. Si vous rencontrez une erreur ou de graves problèmes de conception de modèle, vous pouvez spécifier une distance ou un nombre de voisins en particulier à l’aide de l’option User defined (Définir par l’utilisateur). Examinez ensuite les conditionnements dans la classe d’entités en sortie pour voir quelles entités sont associées à des problèmes de colinéarité locale.
Les problèmes graves de conception de modèle ou les erreurs indiquant que les équations locales ne comprennent pas assez de voisins, signalent souvent un problème de multicolinéarité globale ou locale. Pour déterminer l’origine du problème, exécutez un modèle global à l’aide de la régression linéaire généralisée et examinez la valeur VIF de chaque variable explicative. Si certaines valeurs VIF sont élevées (supérieures à 7,5, par exemple), la multicolinéarité globale empêche la résolution de la régression pondérée géographiquement. Toutefois, la multicolinéarité locale est plus vraisemblablement à l'origine du problème. Essayez de créer une carte thématique pour chaque variable explicative. Si la carte révèle une agrégation spatiale de valeurs identiques, envisagez la suppression de ces variables du modèle ou leur combinaison avec d’autres variables explicatives afin d’augmenter la variation des valeurs. Par exemple, si vous modélisez des valeurs d’habitat et que vous disposez de variables pour les chambres et les salles de bains, vous pouvez les combiner pour augmenter la variation des valeurs ou les représenter en tant que superficie salle de bain/chambre. Évitez d’utiliser des variables de régime spatiale fictives, des variables catégorielles/nominales spatialement agrégées ou des variables avec très peu de valeurs possibles, lorsque vous créez des modèles GWR.
Le modèle Régression pondérée géographiquement est un modèle linéaire soumis aux mêmes conditions requises que le modèle Régression linéaire généralisée. Examinez les diagnostics expliqués dans la rubrique Fonctionnement de l’outil Régression pondérée géographiquement pour vérifier que votre modèle GWR est correctement spécifié. La section Corruption des modèles de régression de la rubrique Principes de base de l’analyse de régression explique également comment s’assurer de l’exactitude du modèle.
Syntaxe
arcpy.stats.GWR(in_features, dependent_variable, model_type, explanatory_variables, output_features, neighborhood_type, neighborhood_selection_method, {minimum_number_of_neighbors}, {maximum_number_of_neighbors}, {minimum_search_distance}, {maximum_search_distance}, {number_of_neighbors_increment}, {search_distance_increment}, {number_of_increments}, {number_of_neighbors}, {distance_band}, {prediction_locations}, {explanatory_variables_to_match}, {output_predicted_features}, {robust_prediction}, {local_weighting_scheme}, {coefficient_raster_workspace})
Paramètre | Explication | Type de données |
in_features | Classe d'entités qui contient les variables dépendantes et explicatives. | Feature Layer |
dependent_variable | Champ numérique contenant les valeurs observées qui seront modélisées. | Field |
model_type | Précise le type de données à modéliser.
| String |
explanatory_variables [explanatory_variables,...] | Liste des champs qui représentent des variables explicatives indépendantes dans le modèle de régression. | Field |
output_features | Nouvelle classe d’entités contenant des estimations de variable dépendante et des résiduels. | Feature Class |
neighborhood_type | Indique si le voisinage utilisé est construit en tant que distance fixe ou autorisé à varier dans l’étendue spatiale en fonction de la densité des entités.
| String |
neighborhood_selection_method | Indique la manière dont la taille du voisinage est déterminée. Le voisinage sélectionné avec les options GOLDEN_SEARCH et MANUAL_INTERVALS repose sur la minimisation de la valeur AICc.
| String |
minimum_number_of_neighbors (Facultatif) | Nombre minimal de voisins que chaque entité inclura dans ses calculs. Il est conseillé d’utiliser au moins 30 voisins. | Long |
maximum_number_of_neighbors (Facultatif) | Nombre maximal de voisins (1 000 au maximum) que chaque entité inclura dans ses calculs. | Long |
minimum_search_distance (Facultatif) | La distance de recherche minimale des voisins. Il est conseillé d’utiliser une distance à laquelle chaque entité possède au moins 30 voisins. | Linear Unit |
maximum_search_distance (Facultatif) | La distance de recherche maximum des voisins. Si une distance génère des entités avec plus de 1000 voisins, l’outil utilise les 1000 premiers dans les calculs pour l’entité cible. | Linear Unit |
number_of_neighbors_increment (Facultatif) | Nombre de voisins en fonction duquel les intervalles manuels vont augmenter pour chaque test de voisinage. | Long |
search_distance_increment (Facultatif) | Distance en fonction de laquelle les intervalles manuels vont augmenter pour chaque test de voisinage. | Linear Unit |
number_of_increments (Facultatif) | Le nombre de tailles de voisinage à tester à partir du paramètre minimum_number_of_neighbors ou minimum_search_distance. | Long |
number_of_neighbors (Facultatif) | Le nombre le plus proche de voisins (1000 au maximum) à prendre en compte pour chaque entité. Le nombre must être un entier compris entre 2 et 1 000. | Long |
distance_band (Facultatif) | L’étendue spatiale du voisinage. | Linear Unit |
prediction_locations (Facultatif) | Une classe d’entités contenant des entités qui représentent des localisations pour lesquelles des estimations vont être calculées. Chaque entité dans ce jeu de données doit contenir des valeurs pour toutes les variables explicatives spécifiées. La variable dépendante pour ces entités sera estimée à l’aide du modèle calibré pour les données de la classe d’entités en entrée. Pour être prévues, ces entités doivent se trouver dans la même zone d’étude que in_features ou à proximité (dans l’étendue plus 15 pour cent). Une classe d’entités contenant des entités qui représentent des localisations pour lesquelles des estimations vont être calculées. Chaque entité dans ce jeu de données doit contenir des valeurs pour toutes les variables explicatives spécifiées. La variable dépendante pour ces entités sera estimée à l’aide du modèle calibré pour les données de la classe d’entités en entrée. Pour être prévues, ces entités doivent se trouver dans la même zone d’étude que les entités en entrée ou à proximité (dans l’étendue plus 15 pour cent). | Feature Layer |
explanatory_variables_to_match [explanatory_variables_to_match,...] (Facultatif) | Variables explicatives du paramètre prediction_locations qui correspondent aux variables explicatives du paramètre in_features. [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]] sont des exemples. | Value Table |
output_predicted_features (Facultatif) | Classe d’entités en sortie qui recevra des estimations de variable dépendante pour chaque prediction_location. | Feature Class |
robust_prediction (Facultatif) | Désigne les entités qui seront utilisées dans les calculs de prévision.
| Boolean |
local_weighting_scheme (Facultatif) | Spécifie le type de noyau qui sera utilisé pour fournir la pondération spatiale dans le modèle. Le noyau indique comment les entités sont associées entre elles dans leur voisinage.
| String |
coefficient_raster_workspace (Facultatif) | Espace de travail au sein duquel les rasters de coefficient vont être créés. Quand cet espace de travail est fourni, les rasters sont créés pour l'intersection et chaque variable explicative. | Workspace |
Sortie dérivée
Nom | Explication | Type de données |
coefficient_raster_layers | Les rasters de coefficient en sortie. | Couche raster |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil GWR.
import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb”
arcpy.stats.GWR("US_Counties", "Diabetes_Percent", "CONTINUOUS",
"Inactivity_Percent;Obesity_Percent", "out_features",
"NUMBER_OF_NEIGHBORS", "GOLDEN_SEARCH", None, None, None,
None, None, None, None, None, None, None, None, None, "ROBUST",
"BISQUARE")
Le script Python autonome ci-dessous illustre l'utilisation de l'outil GWR.
# Linear regression using a count model to predict the number of crimes.
# The depend variable (total number of crimes) is predicted using total
# population, the median age of housing, and average household income.
import arcpy
# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.GWR("crime_counts", "total crimes", "COUNT", "YRBLT;TOTPOP;AVGHINC",
"out_features", "NUMBER_OF_NEIGHBORS", "GOLDEN_SEARCH", 30, None, None, None,
None, None, None, None, None, "prediction_locations",
"YRBLT YRBLT;TOTPOP TOTPOP;AVGHINC AVGHINC", "predicted_counts",
"NON_ROBUST", "BISQUARE", r"c:\data\out_rasters")
Environnements
- Système de coordonnées en sortie
La géométrie de l’entité est projetée sur le système de coordonnées en sortie une fois l’analyse terminée.
Informations de licence
- Basic: Limité
- Standard: Limité
- Advanced: Oui
Rubriques connexes
- Présentation générale du jeu d'outils Modélisation de relations spatiales
- Fonctionnement de la régression linéaire généralisée
- Fonctionnement de la régression pondérée géographiquement
- Moindres carrés ordinaires
- Principes de base de l'analyse de régression
- Régression exploratoire
- Classification et régression basées sur une forêt
- Rechercher un outil de géotraitement
Vous avez un commentaire à formuler concernant cette rubrique ?