Moindres carrés ordinaires (Statistiques spatiales)

Synthèse

Exécute une régression linéaire globale à l'aide des moindres carrés ordinaires pour générer des prévisions ou modéliser une variable dépendante en fonction de ses relations à un ensemble de variables explicatives.

Remarque :

La fonctionnalité de cet outil est incluse dans l’outil Régression linéaire généralisée ajouté dans ArcGIS Pro 2.3. L’outil Régression linéaire généralisée prend en charge des modèles supplémentaires.

Pour en savoir plus sur la fonction de régression par les moindres carrés ordinaires

Illustration

Illustration de l’outil Moindres carrés ordinaires
Régression par les moindres carrés ordinaires, comparaison des valeurs prédites et des valeurs observées.

Utilisation

  • La sortie principale de cet outil est un fichier de rapport écrit sous forme de messages au bas de la fenêtre Geoprocessing (Géotraitement) au cours de l’exécution de l’outil. Vous pouvez accéder aux messages 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 exploratoire via l’historique du géotraitement.

  • L'outil des moindres carrés ordinaires génère également une classe d'entités en sortie et des tables facultatives contenant des coefficients et des diagnostics. Tous ces éléments sont accessibles dans les messages au bas de la fenêtre Géotraitement. La classe d'entités en sortie est ajoutée automatiquement à la table des matières et un rendu de type chaud/froid (hot/cold) est appliqué aux valeurs résiduelles du modèle. Une explication complète de chaque sortie est fournie dans la rubrique Fonctionnement de la régression des moindres carrés ordinaires.

  • Les résultats de la régression à l'aide des moindres carrés ordinaires ne sont fiables que si vos données et le modèle de régression répondent à toutes les suppositions requises de manière inhérente par cette méthode. Consultez le tableau Problèmes de régression courants, conséquences et solutions dans la rubrique Principes de base de l’analyse de régression pour vous assurer que votre modèle est correctement spécifié.

  • Les variables dépendantes et explicatives doivent être des champs numériques contenant diverses valeurs. La méthode des moindres carrés ordinaires ne peut pas être résolue si les variables possèdent la même valeur (si, par exemple, toutes les valeurs d’un champ sont définies sur 9,0). Les méthodes de régression linéaire, telles qu’OLS, ne sont pas appropriées pour prévoir des résultats binaires (par exemple, toutes les valeurs de la variable dépendante sont égales à 1 ou 0).

  • Le champ Unique ID associe les prévisions du modèle à chaque entité. Par conséquent, les valeurs Unique ID doivent être uniques pour chaque entité et, en général, doivent se trouver dans un champ associé de manière permanente à la classe d’entités. Si vous n’avez pas de champ Unique ID, vous pouvez en créer un en ajoutant un champ d’entier à votre table de classe d’entités et en calculant les valeurs de champ égales au champ FID/OID. Vous ne pouvez pas utiliser directement le champ FID/OID comme paramètre ID unique.

  • Chaque fois que l’autocorrélation spatiale des valeurs résiduelles de régression est statistiquement significative, le modèle des moindres carrés ordinaires est considéré comme mal spécifié. Par conséquent, les résultats de la régression par les moindres carrés ordinaires ne sont pas fiables. Exécutez bien l’outil Autocorrélation spatiale sur vos valeurs résiduelles de régression pour évaluer ce problème potentiel. L'autocorrélation spatiale statistiquement significative de valeurs résiduelles de régression indique presque toujours qu'une ou plusieurs variables explicatives clés manquent dans le modèle.

  • Étudiez visuellement les surestimations et sous-estimations évidentes dans les valeurs résiduelles de régression afin de trouver des indices permettant de déterminer s’il manque des variables dans votre modèle de régression. Il peut être utile d’exécuter l’outil Analyse des points chauds sur les résiduels pour mieux visualiser l’agrégation spatiale des surestimations et des sous-estimations.

  • Lorsqu’une spécification incorrecte est le résultat d’une tentative de modélisation de variables non stationnaires à l’aide d’un modèle global (ce qu’est la méthode des moindres carrés ordinaires), la Régression pondérée géographiquement peut être utilisée pour améliorer les prévisions et mieux comprendre la non stationnarité (variation régionale) inhérente à vos variables explicatives.

  • Si le résultat d'un calcul est l'infini ou s'il est indéfini, la sortie pour les fichiers autres que des fichiers de formes sera Null. Pour les fichiers de formes, le résultat sera -DBL_MAX (-1,7976931348623158e+308, par exemple).

  • Le récapitulatif des diagnostics du modèle est enregistré dans le rapport récapitulatif des moindres carrés ordinaires et dans la table en sortie des diagnostics (générée uniquement si vous le souhaitez). Ces deux documents incluent des diagnostics pour le critère d'information d'Akaike corrigé (AICc), le coefficient de détermination, la statistique F de jointure, la statistique Wald, la statistique Breusch-Pagan de Koenker et la statistique Jarque-Bera. La table des diagnostics inclut également des valeurs "AIC non corrigé" et "Sigma carré".

  • Les tables en sortie facultatives des coefficients et des diagnostics, si elles existent déjà, sont remplacées lorsque l’option Allow geoprocessing tools to overwrite existing datasets (Autoriser les outils de géotraitement à remplacer les jeux de données existants) est sélectionnée.

  • Sur des machines configurées avec les modules linguistiques d'ArcGIS pour l'arabe et d'autres langues qui s'écrivent de droite à gauche, vous remarquerez peut-être du texte manquant ou des problèmes de mise en forme dans le fichier de rapport en sortie (au format PDF). Ces problèmes sont traités dans cet article.

  • Les couches peuvent permettre de définir la classe d'entités en entrée. Lorsque vous utilisez une couche avec une sélection, seules les entités sélectionnées sont comprises dans l'analyse.

  • Attention :

    Lorsque vous utilisez des shapefiles, n'oubliez pas qu'ils ne peuvent pas stocker de valeurs Null. Il se peut que des outils ou autres procédures qui créent des fichiers de formes à partir d'entrées autres que des fichiers de formes stockent ou interprètent des valeurs Null comme étant égales à zéro. Dans certains cas, les valeurs Null sont stockées sous forme de valeurs négatives très élevées dans les fichiers de formes. Cela peut aboutir à des résultats inattendus. Reportez-vous à la rubrique Remarques concernant le géotraitement pour la sortie de fichiers de formes pour plus d'informations.

Paramètres

ÉtiquetteExplicationType de données
Classe d’entités en entrée

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

Feature Layer
Champ d’ID unique

Champ de nombre entier qui contient une valeur différente pour chaque entité de la Input Feature Class (Classe d’entités en entrée).

Field
Classe d’entités en sortie

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

Feature Class
Variable dépendante

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

Field
Variables explicatives

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

Field
Table en sortie des coefficients
(Facultatif)

Chemin d'accès complet à une table facultative et où sont enregistrés des coefficients de modèle, des coefficients normalisés, des erreurs standard, ainsi que des probabilités pour chaque variable explicative.

Table
Table en sortie des diagnostics
(Facultatif)

Chemin d'accès complet à une table facultative où est enregistré le récapitulatif des diagnostics du modèle.

Table
Fichier de rapport en sortie
(Facultatif)

Chemin d’accès au fichier PDF facultatif à créer par l’outil. Ce fichier de rapport comprend des diagnostics de modèle, des diagrammes et des notes qui vous permettront de mieux interpréter les résultats obtenus à l'aide de l'outil Moindres carrés ordinaires.

File

arcpy.stats.OrdinaryLeastSquares(Input_Feature_Class, Unique_ID_Field, Output_Feature_Class, Dependent_Variable, Explanatory_Variables, {Coefficient_Output_Table}, {Diagnostic_Output_Table}, {Output_Report_File})
NomExplicationType de données
Input_Feature_Class

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

Feature Layer
Unique_ID_Field

Champ de nombre entier qui contient une valeur différente pour chaque entité de la Input Feature Class (Classe d’entités en entrée).

Field
Output_Feature_Class

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

Feature Class
Dependent_Variable

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

Field
Explanatory_Variables
[Explanatory_Variables,...]

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

Field
Coefficient_Output_Table
(Facultatif)

Chemin d'accès complet à une table facultative et où sont enregistrés des coefficients de modèle, des coefficients normalisés, des erreurs standard, ainsi que des probabilités pour chaque variable explicative.

Table
Diagnostic_Output_Table
(Facultatif)

Chemin d'accès complet à une table facultative où est enregistré le récapitulatif des diagnostics du modèle.

Table
Output_Report_File
(Facultatif)

Chemin d’accès au fichier PDF facultatif à créer par l’outil. Ce fichier de rapport comprend des diagnostics de modèle, des diagrammes et des notes qui vous permettront de mieux interpréter les résultats obtenus à l'aide de l'outil Moindres carrés ordinaires.

File

Exemple de code

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

Le script suivant pour la fenêtre Python illustre l’utilisation de la fonction OrdinaryLeastSquares.

import arcpy
arcpy.env.workspace = r"c:\data"
arcpy.stats.OrdinaryLeastSquares("USCounties.shp", "MYID", "olsResults.shp", 
                                 "GROWTH","LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                                 "olsCoefTab.dbf", "olsDiagTab.dbf")
Exemple 2 d’utilisation de l’outil OrdinaryLeastSquares (script autonome)

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

# Analyze the growth of regional per capita incomes in US
# Counties from 1969 -- 2002 using Ordinary Least Squares Regression

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.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

    # Growth as a function of {log of starting income, dummy for South
    # counties, interaction term for South counties, population density}
    # Process: Ordinary Least Squares... 
    ols = arcpy.stats.OrdinaryLeastSquares("USCounties.shp", "MYID", 
                        "olsResults.shp", "GROWTH",
                        "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                        "olsCoefTab.dbf",
                        "olsDiagTab.dbf")

    # Create Spatial Weights Matrix (Can be based on input or output FC)
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.stats.GenerateSpatialWeightsMatrix("USCounties.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6) 
                        
    # Calculate Moran's Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.stats.SpatialAutocorrelation("olsResults.shp", "Residual",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "euclidean6Neighs.swm")

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