Auto-régression spatiale (Statistiques spatiales)

Synthèse

Permet d’estimer un modèle de régression spatiale global pour une classe d’entités ponctuelle ou surfacique.

Les hypothèses des modèles de régression linéaire traditionnels ne sont souvents pas respectées lors de l’utilisation de données spatiales. Si l’autocorrélation spatiale est présente dans un jeu de données, les estimations des coefficients risquent d’être biaisées et de conduire à une inférence présomptueuse. Cet outil permet d’estimer un modèle de régression fiable en cas de dépendance spatiale et d’hétéroscédasticité, mais également de débordements spatiaux des mesures. Il utilise les tests de diagnostic LM (Lagrange Multiplier), ou score Rao, pour déterminer le modèle le plus approprié. En fonction des diagnostics LM, un modèle OLS (Moindres carrés ordinaires), SLM (Modèle de décalage spatial), SEM (Modèle d’erreur spatiale) ou SAC (Modèle combiné d’auto-régression spatiale) peut être estimé.

En savoir plus sur le fonctionnement de l’outil Spatial Autoregression (Auto-régression spatiale)

Illustration

Illustration de l’outil Spatial Autoregression (Auto-régression spatiale)

Utilisation

  • Cet outil n’accepte que les entrées ponctuelles et surfaciques.

  • La variable dépendante doit être continue (et non binaire ou catégorielle).

  • Les variables explicatives doivent être continues (et non binaires ou catégorielles). N’utilisez pas de variables binaires (contenant uniquement les valeurs 0 et 1) car elles risquent de ne pas respecter les hypothèses du modèle et de générer une erreur.

  • La sortie de cet outil inclut un nuage de points de Moran des valeurs résiduelles qui permet d’identifier l’auto-corrélation dans les valeurs résiduelles du modèle.

  • La matrice de pondérations spatiales utilisée ne doit pas avoir une connectivité supérieure à 30 pourcent. Une erreur est générée si ce seuil est atteint pour empêcher les estimations biaisées.

  • Si les k voisins les plus proches sont utilisés avec une structure de pondération locale, une bande passante adaptive est calculée en l’absence de bande passante.

  • Un modèle Durbin spatial peut être estimé en ajustant un modèle SLM et en incluant chaque variable explicative et son décalage spatial. Utilisez l’outil Neighborhood Summary Statistics (Résumés statistiques de voisinage) pour calculer les décalages spatiaux.

  • Les modèles sont estimés à l’aide des méthodes suivantes liées à l’hétéroscédasticité et la normalité :

    • Le modèle SLM utilise la régression par les moindres carrés spatiaux en deux phases (S2SLS).
    • Le modèle SEM utilise la Méthode des moments généralisée (GMM).
    • Le modèle SAC utilise la régression S2SLS généralisée (GS2SLS).

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités en entrée contenant les variables dépendantes et explicatives.

Feature Layer
Variable dépendante

Champ numérique prédit dans le modèle de régression.

Field
Variables explicatives

Liste des champs permettant de prévoir la variable dépendante dans le modèle de régression.

Field
Entités en sortie

Classe d’entités en sortie contenant les valeurs prédites de la variable dépendante et des valeurs résiduelles.

Feature Class
Type de modèle

Type de modèle utilisé pour l’estimation. Par défaut, les tests de diagnostic LM permettent de déterminer le modèle le plus approprié pour les données en entrée.

  • Détection automatiqueLes tests de diagnostic LM permettent de déterminer si un modèle OLS, SLM, SEM ou SAC est estimé. Il s’agit de l’option par défaut.
  • Modèle d’erreur spatiale (SEM)Un modèle SEM est estimé quel que soit le diagnostic LM.
  • Modèle de décalage spatial (SLM)Un modèle SLM est estimé quel que soit le diagnostic LM.
  • Modèle combiné d’auto-régression spatiale (SAC)Un modèle SAC est estimé quel que soit le diagnostic LM.
String
Type de voisinage
(Facultatif)

Spécifie comment les voisins seront sélectionnés pour chaque entité en entrée. Pour pouvoir identifier les schémas spatiaux locaux, les entités voisines doivent être identifées pour chaque entité en entrée.

  • Canal de distance constanteLes entités qui se trouvent à une distance donnée de chaque entité sont considérées comme voisines.
  • K voisins les plus prochesLes k entités les plus proches sont considérées comme voisines. Le nombre de voisins est spécifié à l’aide du paramètre Number of Neighbors (Nombre de voisins).
  • Segments de contiguïté uniquementLes entités surfaciques qui partagent un segment seront incluses en tant que voisines.
  • Angles des segments de contiguïtéLes entités surfaciques qui partagent un segment ou un angle sont incluses en tant que voisines. Il s’agit de la valeur par défaut pour les entités surfaciques.
  • triangulation de DelaunayLes entités dont la triangulation de Delaunay partage un segment sont incluses comme voisines. Il s’agit de la valeur par défaut pour les entités ponctuelles.
  • Extraire les pondérations spatiales à partir du fichierLes voisins et pondérations sont définis par un fichier de pondérations spatiales spécifié. Le fichier est spécifié à l’aide du paramètre Weights Matrix File (Fichier de matrice des pondérations).
String
Canal de distance
(Facultatif)

Distance selon laquelle les entités sont incluses comme voisins. Si aucune valeur n’est fournie, une valeur est estimée pendant le traitement et incluse sous forme de message de géotraitement.

Linear Unit
Nombre de voisins
(Facultatif)

Nombre de voisins inclus comme voisins. Le nombre n’inclut pas l’entité focale. La valeur par défaut est 8.

Long
Fichier de matrice de pondérations
(Facultatif)

Chemin d’accès et nom du fichier de matrice de pondérations spatiales définissant les relations spatiales entre des entités.

File
Structure de pondération locale
(Facultatif)

Spécifie la structure de pondération appliquée aux voisins. Les pondérations sont toujours standardisées par ligne à moins qu’un fichier de matrice de pondérations spatiales ne soit fourni.

  • Non pondéréLes voisins reçoivent une pondération égale à 1 (par défaut).
  • BicarréLes voisins sont pondérés en utilisant un noyau bicarré (quartique).
  • GaussienLes voisins sont pondérés en utilisant un noyau Gaussien (distribution normale).
String
Bande passante de noyau
(Facultatif)

Bande passante du noyau de pondération. Si aucune valeur n’est spécifiée, un noyau adaptatif est utilisé. Un noyau adaptatif utilise la distance maximale entre un voisin et une entité focale comme bande passante.

Linear Unit

arcpy.stats.SAR(in_features, dependent_variable, explanatory_variables, out_features, model_type, {neighborhood_type}, {distance_band}, {number_of_neighbors}, {weights_matrix_file}, {local_weighting_scheme}, {kernel_bandwidth})
NomExplicationType de données
in_features

Entités en entrée contenant les variables dépendantes et explicatives.

Feature Layer
dependent_variable

Champ numérique prédit dans le modèle de régression.

Field
explanatory_variables
[explanatory_variables,...]

Liste des champs permettant de prévoir la variable dépendante dans le modèle de régression.

Field
out_features

Classe d’entités en sortie contenant les valeurs prédites de la variable dépendante et des valeurs résiduelles.

Feature Class
model_type

Type de modèle utilisé pour l’estimation. Par défaut, les tests de diagnostic LM permettent de déterminer le modèle le plus approprié pour les données en entrée.

  • AUTOLes tests de diagnostic LM permettent de déterminer si un modèle OLS, SLM, SEM ou SAC est estimé. Il s’agit de l’option par défaut.
  • ERRORUn modèle SEM est estimé quel que soit le diagnostic LM.
  • LAGUn modèle SLM est estimé quel que soit le diagnostic LM.
  • COMBINEDUn modèle SAC est estimé quel que soit le diagnostic LM.
String
neighborhood_type
(Facultatif)

Spécifie comment les voisins seront sélectionnés pour chaque entité en entrée. Pour pouvoir identifier les schémas spatiaux locaux, les entités voisines doivent être identifées pour chaque entité en entrée.

  • DISTANCE_BANDLes entités qui se trouvent à une distance donnée de chaque entité sont considérées comme voisines.
  • K_NEAREST_NEIGHBORSLes k entités les plus proches sont considérées comme voisines. Le nombre de voisins est spécifié à l’aide du paramètre number_of_neighbors.
  • CONTIGUITY_EDGES_ONLYLes entités surfaciques qui partagent un segment seront incluses en tant que voisines.
  • CONTIGUITY_EDGES_CORNERSLes entités surfaciques qui partagent un segment ou un angle sont incluses en tant que voisines. Il s’agit de la valeur par défaut pour les entités surfaciques.
  • DELAUNAY_TRIANGULATIONLes entités dont la triangulation de Delaunay partage un segment sont incluses comme voisines. Il s’agit de la valeur par défaut pour les entités ponctuelles.
  • GET_SPATIAL_WEIGHTS_FROM_FILELes voisins et pondérations sont définis par un fichier de pondérations spatiales spécifié. Le fichier est spécifié à l’aide du paramètre weights_matrix_file.
String
distance_band
(Facultatif)

Distance selon laquelle les entités sont incluses comme voisins. Si aucune valeur n’est fournie, une valeur est estimée pendant le traitement et incluse sous forme de message de géotraitement.

Linear Unit
number_of_neighbors
(Facultatif)

Nombre de voisins inclus comme voisins. Le nombre n’inclut pas l’entité focale. La valeur par défaut est 8.

Long
weights_matrix_file
(Facultatif)

Chemin d’accès et nom du fichier de matrice de pondérations spatiales définissant les relations spatiales entre des entités.

File
local_weighting_scheme
(Facultatif)

Spécifie la structure de pondération appliquée aux voisins. Les pondérations sont toujours standardisées par ligne à moins qu’un fichier de matrice de pondérations spatiales ne soit fourni.

  • UNWEIGHTEDLes voisins reçoivent une pondération égale à 1 (par défaut).
  • BISQUARELes voisins sont pondérés en utilisant un noyau bicarré (quartique).
  • GAUSSIANLes voisins sont pondérés en utilisant un noyau Gaussien (distribution normale).
String
kernel_bandwidth
(Facultatif)

Bande passante du noyau de pondération. Si aucune valeur n’est spécifiée, un noyau adaptatif est utilisé. Un noyau adaptatif utilise la distance maximale entre un voisin et une entité focale comme bande passante.

Linear Unit

Exemple de code

Exemple 1 d’utilisation du modèle SAR (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction SAR.

# Fit SAR model and auto-detect the regression model.
arcpy.stats.SAR(
    in_features=r"C:\data\data.gdb\house_price",
    dependent_variable="price",
    explanatory_variables=["crime", "income", "school_rate"],
    out_features=r"C:\data\data.gdb\house_price_SAR",
    model_type="AUTO",
    neighborhood_type="DELAUNAY_TRIANGULATION",
    distance_band=None,
    number_of_neighbors=None,
    weights_matrix_file=None,
    local_weighting_scheme="UNWEIGHTED",
    kernel_bandwidth=None
)
Exemple 2 d’utilisation du modèle SAR (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction SAR.

# Fit SAR model using SLM.  

# Import modules
import arcpy

# Set the current workspace
arcpy.env.workspace = r"C:\data\data.gdb"


# Run SAR tool with Spatial Lag model
arcpy.stats.SAR(
    in_features=r"health_factors_CA",
    dependent_variable="Diabetes",
    explanatory_variables=["Drink", "Inactivity"],
    out_features=r"Diabetes_SAR",
    model_type="LAG",
    neighborhood_type="CONTIGUITY_EDGES_CORNERS",
    distance_band=None,
    number_of_neighbors=None,
    weights_matrix_file=None,
    local_weighting_scheme="UNWEIGHTED",
    kernel_bandwidth=None
)

Rubriques connexes