Régression pondérée géographiquement (Statistiques spatiales)

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

Régression pondérée géographiquement
La régression pondérée géographiquement (GWR) est un modèle de régression local. Les coefficients peuvent varier dans l’espace.

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.

  • 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.

    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.

  • 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ètreExplicationType 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.

  • CONTINUOUS La valeur dependent_variable est continue. Le modèle gaussien sera utilisé et l’outil effectuera une régression des moindres carrés ordinaires.
  • BINARY La valeur dependent_variable représente la présence ou l’absence. Il peut s’agir de 1s et 0s conventionnels ou de données continues qui ont été codées en fonction d’une valeur de seuil. Le modèle de régression logistique sera utilisé.
  • COUNTLa valeur dependent_variable est une valeur discrète et représente des événements, tels que le nombre de délits, des maladies ou des accidents de la circulation. Le modèle de régression Poisson sera utilisé.
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.

  • NUMBER_OF_NEIGHBORS La taille du voisinage est une fonction d’un nombre spécifié de voisins dans les calculs de chaque entité. Si les entités sont denses, l’étendue spatiale du voisinage est plus restreinte. Si les entités sont rares, l’étendue spatiale du voisinage est plus vaste.
  • DISTANCE_BANDLa taille du voisinage est une distance fixe ou constante de chaque entité.
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.

  • GOLDEN_SEARCHL’outil identifie une distance optimale ou un nombre de voisins optimal en fonction des caractéristiques des données à l’aide de la méthode de recherche absolue.
  • MANUAL_INTERVALS Les voisinages testés seront définis par les valeurs spécifiées dans les paramètres minimum_number_of_neighbors et number_of_neighbors_increment lorsque NUMBER_OF_NEIGHBORS est sélectionné pour le paramètre neighborhood_type, ou les paramètres minimum_search_distance et search_distance_increment lorsque DISTANCE_BAND est sélectionné comme neighborhood_type, ainsi que le paramètre number_of_increments.
  • USER_DEFINED La taille du voisinage sera spécifiée par le paramètre number_of_neighbors ou distance_band.
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.

  • ROBUSTLes entités avec des valeurs égales à plus de trois écarts types de la moyenne (points aberrants de valeur) et les entités dont les pondérations sont égales à 0 (points aberrants spatiaux) seront exclues des calculs de prévision, mais recevront des prévisions dans la classe d’entités en sortie. Il s’agit de l’option par défaut.
  • NON_ROBUSTToutes les entités 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.

  • BISQUAREUne pondération de 0 est attribuée aux entités situées en dehors du voisinage spécifié. Il s’agit de l’option par défaut.
  • GAUSSIANToutes les entités recevront des pondérations, mais ces dernières sont réduites exponentiellement à mesure qu’elles s’éloignent de l’entité cible.
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

NomExplicationType de données
coefficient_raster_layers

Les rasters de coefficient en sortie.

Couche raster

Exemple de code

Exemple 1 d’utilisation de l’outil GWR (fenêtre Python)

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")
Exemple 2 d’utilisation de l’outil GWR (script autonome)

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