Régression pondérée géographiquement (GeoAnalytics)

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 correspond à un sous-ensemble de fonctionnalités ajouté à l’outil Geographically Weighted Regression (Régression pondérée géographiquement) intégré à ArcGIS Pro 2.3.

Pour mieux comprendre les algorithmes de l’outil, reportez-vous à la rubrique Fonctionnement de la régression pondérée géographiquement. Cette rubrique décrit l’outil Spatial Statistics toolbox (Boîte à outils Statistiques spatiales) ; à l’heure actuelle, les fonctionnalités ne sont pas toutes incluses dans l’outil GeoAnalytics Server Toolbox (Boîte d’outils GeoAnalytics Server).

Utilisation

  • Cet outil de géotraitement est disponible avec ArcGIS Enterprise 10.8.1 ou version ultérieure.

  • Cet outil calcule la régression pondérée géographiquement (GWR), une 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é repose sur l’entrée des paramètres Neighborhood Type (Type de voisinage) et Neighborhood Selection Method (Méthode de sélection de voisinage).

  • Pour obtenir des résultats optimaux, appliquez l’outil GWR aux jeux de données contenant plusieurs centaines d'entités. Cet outil ne convient pas aux 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 les valeurs de paramètre Explanatory Variable(s) (Variables explicatives). Ces champs doivent être numériques et comporter une plage de valeurs. Les entités qui contiennent les valeurs manquantes dans la variable dépendante ou explicative seront exclues de l’analyse. Vous pouvez utiliser l’outil Calculate Field (Calculer un champ) pour modifier les valeurs. Si vos données peuvent être utilisées dans ArcGIS Pro, utilisez l’outil Fill Missing Values (Remplir les valeurs manquantes) pour ajouter des valeurs manquantes au jeu de données avant d’exécuter l’outil Geographically Weighted Regression (Régression pondérée géographiquement).

  • L’outil Geographically Weighted Regression (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 valeurs de paramètre Output Features (Entités en sortie) et les diagrammes associés sont automatiquement ajoutés à la table des matières et un schéma de rendu hot/cold (chaud/froid) est appliqué aux résiduels du modèle. Une explication complète de chaque sortie est fournie dans la rubrique Fonctionnement de l’outil Geographically Weighted Regression (Régression pondérée géographiquement) (GWR).

    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.

  • Vous devez utiliser des données projetées.

  • Il est courant d’explorer des données globalement à l’aide de l’outil Generalized Linear Regression (Régression linéaire généralisée) avant de les explorer localement avec l’outil Geographically Weighted Regression (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). L’outil Geographically Weighted Regression (Régression pondérée géographiquement) permettant aux coefficients variables explicatifs de varier, ces variables explicatives de régime spatial sont inutiles, et si elles sont incluses, sont susceptibles de créer des problèmes de multicolinéarité locale.

  • Dans les modèles de régression globaux, tels que Generalized Linear Regression (Régression linéaire généralisée), les résultats sont peu fiables si plusieurs variables présentent une multicolinéarité (lorsque plusieurs variables sont redondantes ou racontent la même histoire). L’outil Geographically Weighted Regression (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. Si les valeurs d’une variable explicative particulière s’agrègent spatialement, vous risquez de rencontrer des problèmes de multicolinéarité locale. Un champ de conditionnement ajusté (COND_ADJ) dans la classe d’entités en sortie indique quand les résultats sont instables en raison d’un problème de multicolinéarité locale. En règle générale, soyez critique à l’égard des résultats d’entités présentant un conditionnement ajusté supérieur à 30, nul ou, pour les shapefiles, égal à -1.7976931348623158e+308.

  • 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 conditionnement ajusté compris dans la sortie GWR indique quand la colinéarité locale présente un problème (conditionnement ajusté inférieur à 0, supérieur à 30, ou défini sur Nul). En présence de multicolinéarité locale, les résultats sont instables.

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

  • 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 la combinaison de ces variables 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 de 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 Geographically Weighted Regression (Régression pondérée géographiquement) est un modèle linéaire soumis aux mêmes conditions requises que Generalized Linear Regression (Régression linéaire généralisée). Examinez attentivement les diagnostics expliqués dans la rubrique Fonctionnement de l’outil Geographically Weighted Regression (Régression pondérée géographiquement) (GWR) pour vérifier que votre modèle GWR est correctement spécifié. Tous les diagnostics décrits ne sont pas disponibles dans la boîte d’outils GeoAnalytics Desktop. 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.

  • Vous pouvez améliorer les performances de l’outil Geographically Weighted Regression (Régression pondérée géographiquement) (GWR) en effectuant toutes les tâches suivantes ou certaines d’entre elles :

    • Définissez l’environnement de l’étendue de manière à analyser uniquement des données d’intérêt.
    • Diminuez le nombre de voisins dans votre calcul.
    • Utilisez l’option Number of neighbors (Nombre de voisins) au lieu de l’option Distance band (Canal de distance) dans le paramètre Neighborhood Type (Type de voisinage) (neighborhood_type = "NUMBER OF NEIGHBORS" dans Python).
    • Si possible, utilisez moins de variables explicatives.
    • Utilisez les données locales de l’environnement de l’analyse.

  • Cet outil de géotraitement est mis en œuvre par ArcGIS GeoAnalytics Server. L’analyse est réalisée sur le GeoAnalytics Server et les résultats sont stockés dans votre contenu dans ArcGIS Enterprise.

  • Lors de l’exécution des outils GeoAnalytics Server, l’analyse est réalisée sur GeoAnalytics Server. Pour des performances optimales, GeoAnalytics Server doit pouvoir accéder aux données via les couches d’entités hébergées sur votre portail ArcGIS Enterprise ou les partages de fichiers Big Data. Les données qui ne sont pas locales pour GeoAnalytics Server sont transférées sur GeoAnalytics Server avant le début de l’analyse. Autrement dit, l’exécution d’un outil prend plus de temps et, dans certains cas, le transfert des données entre ArcGIS Pro et GeoAnalytics Server peut échouer. Le seuil d’échec dépend aussi bien des débits du réseau que de la taille et de la complexité des données. Il est par conséquent recommandé de toujours partager les données ou créer un partage de fichiers Big Data.

    Pour en savoir plus sur le partage des données dans votre portail.

    Pour en savoir pus sur la création d'un partage de fichiers Big Data via ArcGIS Server Manager

  • Une analyse semblable peut également être réalisée à l’aide de l’outil Geographically Weighted Regression (Régression pondérée géographiquement) de la boîte d’outils Spatial Statistics (Statistiques spatiales). Utilisez l’outil de la boîte d’outils Spatial Statistics (Statistiques spatiales) pour effectuer les processus suivants :

    • Utilisez des couches locales de votre machine ArcGIS Pro (par exemple, des classes d’entités dans une géodatabase fichier).
    • Effectuez une prévision sur une autre couche ou créez une couche de coefficient raster.
    • Modélisez une variable binaire (logistique) ou une variable de total (valeur Poisson).
    • Définissez la recherche dans le voisinage à l’aide de la recherche absolue ou d’intervalles manuels.

Syntaxe

arcpy.geoanalytics.GWR(in_features, dependent_variable, model_type, explanatory_variables, output_features, neighborhood_type, neighborhood_selection_method, {number_of_neighbors}, {distance_band}, {local_weighting_scheme}, {data_store})
ParamètreExplicationType de données
in_features

Classe d’entités ponctuelles qui contient les variables dépendantes et explicatives.

Feature Set
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.
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

Nom du service d'entités en sortie.

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

  • USER_DEFINED La taille du voisinage est déterminée par le paramètre number_of_neighbors ou distance_band.
String
number_of_neighbors
(Facultatif)

Le nombre le plus proche de voisins (1000 au maximum) à prendre en compte pour chaque entité. Ce nombre doit être un entier compris entre 2 et 1 000.

Long
distance_band
(Facultatif)

L’étendue spatiale du voisinage.

Linear Unit
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 reçoivent des pondérations, mais ces dernières sont réduites exponentiellement à mesure qu’elles s’éloignent de l’entité cible.
String
data_store
(Facultatif)

Indique le ArcGIS Data Store dans laquelle la sortie est enregistrée. La valeur par défaut est SPATIOTEMPORAL_DATA_STORE. Tous les résultats stockés dans un répertoire de données Big Data spatio-temporelles seront stockés en WGS84. Les résultats stockés dans un répertoire de données relationnelles conservent leur système de coordonnées.

  • SPATIOTEMPORAL_DATA_STORELa sortie sera stockée dans un stockage de Big Data spatio-temporelles. Il s’agit de l’option par défaut.
  • RELATIONAL_DATA_STORELa sortie sera stockée dans un data store relationnel.
String

Sortie dérivée

NomExplicationType de données
output

Les entités en sortie.

Jeu d'enregistrements

Exemple de code

Exemple d’utilisation de la fonction GeographicallyWeightedRegression (script autonome)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil GWR.

Dans ce script, vous créez un modèle permettant de déterminer les variables environnementales qui ont un impact sur la fréquence des incendies de forêt.

# Name: GWR.py
# Description: Run GWR on forest fire occurrence report data to understand 
#              which variables explain reoccurring forest fires
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inputFeatures = "https://analysis.org.com/server/rest/services/DataStoreCatalogs/bigDataFileShares_EcoData/BigDataCatalogServer/fireLocations"
outputLayerName = "GWR_ForestFireFrequency"
dependentVariable = "Fire_Frequency"
explanatoryVariables = "GroundCover, TreeCover, SoilMoisture, slope"
distanceValue = "5 Miles"
# Execute GWR
arcpy.geoanalytics.gwr(inputFeatures, dependentVariable, 
                                                    "CONTINUOUS", explanatoryVariables, 
                                                    outputLayerName, "DISTANCE_BAND", 
                                                    "USER_DEFINED", None, distanceValue, 
                                                    "GAUSSIAN", "SPATIOTEMPORAL_DATA_STORE"))

Environnements

Système de coordonnées en sortie

Système de coordonnées qui sera utilisé pour l'analyse. L’analyse sera réalisée dans le système de coordonnées en entrée, à moins que ce paramètre en spécifie un autre. Pour les Outils GeoAnalytics, les résultats finaux seront stockés dans le stockage des données spatio-temporelles dans WGS84.

Informations de licence

  • Basic: Requiert ArcGIS GeoAnalytics Server
  • Standard: Requiert ArcGIS GeoAnalytics Server
  • Advanced: Requiert ArcGIS GeoAnalytics Server

Rubriques connexes