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

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Calcule la régression pondérée géographiquement (Geographically Weighted Regression, GWR), formule locale de régression linéaire utilisée pour modéliser des relations variant spatialement.

Pour en savoir plus sur la 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.

Utilisation

Syntaxe

GeographicallyWeightedRegression_stats (in_features, dependent_field, explanatory_field, out_featureclass, kernel_type, bandwidth_method, {distance}, {number_of_neighbors}, {weight_field}, {coefficient_raster_workspace}, {cell_size}, {in_prediction_locations}, {prediction_explanatory_field}, {out_prediction_featureclass})
ParamètreExplicationType de données
in_features

Classe d'entités qui contient les variables dépendantes et indépendantes.

Feature Layer
dependent_field

Champ numérique qui contient des valeurs pour la modélisation.

Field
explanatory_field
[explanatory_field,...]

Liste des champs qui représentent des variables explicatives indépendantes dans votre modèle de régression.

Field
out_featureclass

Classe d'entités en sortie pour recevoir des estimations de variable dépendante et des résiduels.

Feature Class
kernel_type

Spécifie si le noyau est de type distance fixe ou s'il est autorisé à varier en étendue en fonction de la densité de l'entité.

  • FIXEDLe contexte spatial (le noyau Gaussien) utilisé pour résoudre chaque analyse de régression locale correspond à une distance fixe.
  • ADAPTIVELe contexte spatial (le noyau Gaussien) est une fonction relative à un nombre spécifié de voisins. Quand la répartition des entités est dense, le contexte spatial est plus petit ; à l'inverse, si la répartition des entités est peu dense, le contexte spatial est plus important.
String
bandwidth_method

Spécifie le mode de détermination de l'étendue du noyau. Lorsque AICc ou CV est sélectionné, l'outil calcule le paramètre de distance ou de nombre de voisins optimal. En général, vous sélectionnez AICc ou CV si vous ne savez pas quoi utiliser pour les paramètres distance (kernel_type = FIXED) ou number_of_neighbors (kernel_type = ADAPTIVE). Si vous sélectionnez BANDWIDTH PARAMETER, vous devez spécifier une valeur pour les paramètres distance ou number_of_neighbors.

  • AICcL'étendue du noyau est déterminée à l'aide du Critère d'information Akaike (Akaike Information Criterion /AICc).
  • CVL'étendue du noyau est déterminée à l'aide de la Validation croisée (Cross Validation/CV).
  • BANDWIDTH_PARAMETERL'étendue du noyau est déterminée par une distance fixe ou un nombre constant de voisins.
String
distance
(Facultatif)

Spécifie une étendue ou une distance fixe pour la bande passante quand le type de noyau est FIXED et la méthode de bande passante est BANDWIDTH_PARAMETER.

Double
number_of_neighbors
(Facultatif)

Nombre entier qui reflète le nombre exact de voisins à inclure dans la bande passante locale du noyau Gaussien quand le type de noyau est ADAPTIVE et la méthode de bande passante est BANDWIDTH_PARAMETER.

Long
weight_field
(Facultatif)

Champ numérique qui contient une pondération spatiale pour les entités individuelles. Ce champ de pondération permet à certaines entités d'être prioritaires dans le processus de calibrage du modèle. Principalement utile quand le nombre d'échantillons prélevés à des localisations différentes varie, les valeurs des variables dépendantes et indépendantes sont moyennées et les lieux contenant plus d'échantillons sont plus fiables (doivent avoir une pondération plus importante). Si vous disposez, en moyenne, de 25 échantillons différents pour une localisation, mais d'une moyenne de 2 échantillons uniquement pour une autre, vous pouvez utiliser le nombre d'échantillons comme valeur de pondération afin que les localisations qui ont le plus d'échantillons aient une plus grande influence sur le calibrage du modèle que les autres.

Field
coefficient_raster_workspace
(Facultatif)

Chemin d'accès complet à l'espace de travail où tous les rasters de coefficient seront créés. Quand cet espace de travail est fourni, les rasters sont créés pour l'intersection et chaque variable explicative.

Folder
cell_size
(Facultatif)

Taille de cellule (nombre) ou référence à la taille de cellule (chemin d'accès à un jeu de données raster) à utiliser lors de la création des rasters de coefficient.

La taille de cellule par défaut correspond à la largeur ou la hauteur la plus petite de l'étendue spécifiée dans le système de coordonnées en sortie de l'environnement de géotraitement, divisée par 250.

Analysis Cell Size
in_prediction_locations
(Facultatif)

Classe d'entités contenant des entités qui représentent des localisations pour lesquelles des estimations doivent être calculées. Chaque entité de 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.

Feature Layer
prediction_explanatory_field
[prediction_explanatory_field,...]
(Facultatif)

Liste des champs qui représentent des variables explicatives dans la classe d'entités Emplacements des prévisions. Ces noms de champ doivent être fournis dans le même ordre (correspondance un vers un) que ceux répertoriés pour le paramètre des variables explicatives de la classe d'entités en entrée. Si aucune variable explicative de prévision n'est fournie, la classe d'entités de prévision en sortie contiendra uniquement des valeurs de coefficient calculées pour chaque emplacement de prévisions.

Field
out_prediction_featureclass
(Facultatif)

Classe d'entités en sortie destinée à recevoir des estimations de variable dépendante pour chaque entité dans la classe d'entités Emplacements des prévisions.

Feature Class

Exemple de code

Exemple d'utilisation de l'outil GeographicallyWeightedRegression (fenêtre Python)

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

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls","BUS_COUNT;RENTROCC00;NoHSDip",
                                             "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER",
                                             "#", "25", "#","CoefRasters", "135", "PredictionPoints", 
                                             "#", "GWRCallPredictions.shp")
Exemple d'utilisation de l'outil GeographicallyWeightedRegression (script autonome Python)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil GeographicallyWeightedRegression.

# Model 911 emergency calls using GWR

# Import system modules
import arcpy

# Set the geoprocessor object property to overwrite existing outputs
arcpy.gp.overwriteOutput = True

# Local variables...
workspace = r"C:\Data"

try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace

    # 911 Calls as a function of {number of businesses, number of rental units,
    # number of adults who didn't finish high school}
    # Process: Geographically Weighted Regression... 
    gwr = arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls", 
                        "BUS_COUNT;RENTROCC00;NoHSDip",
                        "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER","#", "25", "#",
                        "CoefRasters", "135", "PredictionPoints", "#", "GWRCallPredictions.shp")

    # Create Spatial Weights Matrix to use with Global Moran's I tool
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("CallsGWR.shp", "UniqID",
                        "CallData25Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 25) 
                        
    # Calculate Moran's Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.SpatialAutocorrelation_stats("CallsGWR.shp", "StdResid",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "CallData25Neighs.swm")

except:
    # If an error occurred when running the tool, print out the error message.
    print arcpy.GetMessages()

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 après l'analyse. Par conséquent, la valeur entrée pour le paramètre Distance doit être spécifiée dans les mêmes unités que celles de la classe d'entités en entrée. Les valeurs entrées pour la Taille de cellule en sortie doivent être spécifiées dans les mêmes unités que celles du système de coordonnées en sortie.

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis Spatial Analyst ou Geostatistical Analyst
ArcGIS for Desktop Standard: Requis Spatial Analyst ou Geostatistical Analyst
ArcGIS for Desktop Advanced: Oui
5/10/2014