Régression linéaire généralisée (GeoAnalytics Desktop)

Synthèse

Effectue une régression linéaire généralisée pour générer les prévisions ou pour illustrer une variable dépendante en termes de relations pour définir un ensemble de variables explicatives. Cet outil permet d’adapter des modèles continus (moindres carrés ordinaires), binaires (logistique) et totaux (Poisson).

Utilisation

  • Cet outil peut être utilisé en deux modes opératoires. Vous pouvez évaluer les performances de différents modèles et examiner une diversité de variables explicatives et de paramètres de l’outil. Lorsque vous avez trouvé un modèle adéquat, vous pouvez appliquer le modèle à un nouveau jeu de données.

  • Utilisez le paramètre Entités en entrée avec un champ représentant les phénomènes que vous modélisez (paramètre Variable dépendante) et un ou plusieurs champs représentant les variables explicatives.

  • Cet outil ne prend pas en charge les entrées avec des champs de type date uniquement ou heure uniquement. Supprimez tous les champs de type date uniquement et heure uniquement avant d’exécuter l’analyse.

  • L’outil Régression linéaire généralisée produit également des entités en sortie et des diagnostics. Les couches d’entités en sortie sont automatiquement ajoutées à la carte avec un schéma de rendu appliqué aux valeurs résiduelles du modèle. Une explication de chaque sortie est fournie ci-dessous.

  • Assurez-vous d’utiliser l’option de paramètre Type de modèle (Continu, Binaire ou Total) appropriée afin que l’analyse produise des résultats exacts pour l’analyse de régression.

  • Les résultats récapitulatifs et diagnostics du modèle sont écrits dans la fenêtre de messages et des diagrammes sont créés sous la classe d’entités en sortie. Les diagnostics signalés dépendent de la valeur du paramètre Model Type (Type de modèle). Les trois options de type de modèle sont les suivants :

    • Utilisez le type de modèle Continuous (Continu) (gaussien) si la variable dépendante accepte une plage de valeurs étendue telle que la température ou un volume total de ventes. Il est recommandé que la variable dépendante soit distribuée normalement.
    • Utilisez le type de modèle Binaire (logistique) si la variable dépendante peut prendre l’une de deux valeurs possibles, telles que réussite et échec ou présence et absence. Le champ qui contient la variable dépendante doit être un champ numérique ou de texte. Si le champ est numérique, il ne doit contenir que des uns et des zéros. Un champ de texte ne doit comporter que deux valeurs distinctes. Si vous utilisez un champ de texte, vous devez utiliser le paramètre Map Dependent Variables (Apparier les variables dépendantes) pour mettre en correspondance les valeurs de texte distinctes avec des uns et des zéros. Les données doivent présenter une variation des uns et des zéros des valeurs de texte distinctes.

    • Utilisez le type de modèle Count (Total) (Poisson) si la variable dépendante est discrète et représente le nombre d’occurrences d’un événement, tel que le nombre de délits. Les modèles de type Total peuvent également être utilisés si la variable dépendante représente un taux et que le dénominateur du taux est une valeur fixe telle que les ventes mensuelles ou le nombre de cas de cancer sur 10 000 personnes parmi la population totale. Dans le modèle Total, il est supposé que la moyenne et la variance de la variable dépendante sont identiques et que les valeurs de la variable dépendante ne peuvent pas être négatives, ni contenir de décimale.

    Les valeurs des paramètres Dependent Variable (Variable dépendante) et Explanatory Variable (Variable explicative) doivent être des champs numériques contenant une plage de valeurs. Cet outil ne peut pas fonctionner si les variables ont toutes la même valeur (lorsque toutes les valeurs d’un champ sont définies sur 9,0 par exemple).

  • Les entités qui comportent une ou plusieurs valeurs nulles ou encore des valeurs de chaîne vide dans les champs de prévision ou explicatifs seront exclues de la sortie. Vous pouvez modifier les valeurs à l’aide de l’outil Calculer un champ, si nécessaire.

  • Passez en revue les surestimations et sous-estimations évidentes dans les valeurs résiduelles de régression pour identifier des informations permettant de déterminer s’il manque des variables dans le modèle de régression.

  • Vous pouvez utiliser le modèle de régression qui a été créé pour faire des prévisions pour les autres entités. Pour effectuer ces prévisions, chaque entité de prévision doit posséder des valeurs pour chaque variable explicative fournie. Si les noms des champs des paramètres Input Features (Entités en entrée) et Prediction Locations (Emplacements des prévisions) ne concordent pas, une variable correspondant au paramètre est fournie. En appariant les variables explicatives, les champs des paramètres Input Features (Entités en entrée) et Input Prediction Features (Entités de prévision en entrée) doivent être du même type (les champs doubles doivent être appariés à des champs doubles, par exemple).

  • Vous pouvez optimiser la vitesse de traitement de l’outil Generalized Linear Regression (Régression linéaire généralisée) en effectuant une ou plusieurs des opérations suivantes :

    • Définissez l’étendue de traitement à analyser de manière à analyser uniquement des données d’intérêt.
    • Ne créez pas une table des coefficients en sortie.
    • Utilisez les données locales de l’environnement de l’analyse.

  • Cet outil de géotraitement est mis en œuvre par Spark. L’analyse est effectuée sur votre ordinateur de bureau en utilisant plusieurs cœurs en parallèle. Pour en savoir plus sur l’exécution de l’analyse, reportez-vous à la rubrique Remarques relatives aux outils GeoAnalytics Desktop.

  • Lorsque vous exécutez des outils GeoAnalytics Desktop, l’analyse est effectuée sur votre ordinateur de bureau. Pour des performances optimales, les données doivent être accessibles sur votre bureau. Si vous utilisez une couche d’entités hébergée, il est recommandé d'utiliser ArcGIS GeoAnalytics Server. Si vos données ne sont pas enregistrées en local, l’exécution des outils prendra plus de temps. Pour utiliser votre ArcGIS GeoAnalytics Server en vue d'une analyse, reportez-vous à la rubrique GeoAnalytics Tools.

  • L’implémentation GeoAnalytics de la régression linéaire généralisée possède les limites suivantes :

    • Il s’agit d’un modèle de régression global qui ne tient pas compte de la distribution spatiale des données.
    • L’analyse ne s’applique pas au test de l’outil d’auto-corrélation spatiale (Moran I) sur les résidus.
    • Les jeux de classes d’entités (points, lignes, polygones et tables) sont pris en charge en entrée ; les rasters ne sont pas pris en charge.
    • Vous ne pouvez pas classer les valeurs en plusieurs classes.

Paramètres

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

Couche qui contient les variables dépendantes et indépendantes.

Table View
Variable dépendante

Champ numérique contenant les valeurs observées à modéliser.

Field
Type de modèle

Précise le type de données à modéliser.

  • Continu (gaussien)La valeur dependent_variable est continue. Le modèle gaussien sera utilisé et l’outil effectuera une régression des moindres carrés ordinaires. Il s’agit de l’option par défaut.
  • Binaire (logistique)La valeur dependent_variable représente la présence ou l’absence. Il peut s’agir de 1 et de 0 conventionnels, ou de valeurs de chaîne appariées à 0 ou 1 dans le paramètre Apparier les variables explicatives. Le modèle de régression logistique sera utilisé.
  • Total (Poisson)La valeur dependent_variable est discrète et représente des événements (par exemple, le nombre de délits, des maladies ou des accidents de la circulation). Le modèle de régression Poisson sera utilisé.
  • Continu (gaussien)La valeur Dependent Variable (Variable dépendante) est continue. Le modèle gaussien sera utilisé et l’outil effectuera une régression des moindres carrés ordinaires. Il s’agit de l’option par défaut.
  • Binaire (logistique)La valeur Dependent Variable (Variable dépendante) représente la présence ou l’absence. Il peut s’agir de 1 et de 0 conventionnels, ou de valeurs de chaîne appariées à 0 ou 1 dans le paramètre explanatory_variables_to_match. Le modèle de régression logistique sera utilisé.
  • Total (Poisson)La valeur Variable dépendante est discrète et représente des événements (par exemple, le nombre de délits, des maladies ou des accidents de la circulation). Le modèle de régression Poisson sera utilisé.
String
Variables explicatives

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

Field
Entités en sortie

Nom de la classe d’entités qui sera créée contenant des estimations de variable dépendante et les valeurs résiduelles.

Table; Feature Class
Entités de prévision en entrée
(Facultatif)

Couche contenant des entités qui représentent des localisations pour lesquelles des estimations seront 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 couche en entrée.

Table View
Apparier les variables explicatives
(Facultatif)

Apparie les variables explicatives du paramètre Input Prediction Features (Entités de prévision en entrée) aux variables explicatives correspondantes du paramètre Input Features (Entités en entrée).

Value Table
Apparier les variables dépendantes
(Facultatif)

Deux chaînes représentant les valeurs à apparier à 0 (absence) et à 1 (présence) pour la représentation binaire. Par défaut, 0 et 1 sont utilisés. Par exemple, pour prévoir une arrestation avec les valeurs de champ Arrestation et Pas d’arrestation, saisissez Pas d’arrestation pour False Value (0) et Arrestation pour True Value (1).

Value Table
Entités prévues en sortie
(Facultatif)

Classe d’entités en sortie destinée à recevoir des estimations de variable dépendante pour chaque valeur Input Prediction Features (Entités de prévision en entrée).

Table; Feature Class
Table en sortie de coefficients
(Facultatif)

Table en sortie contenant les coefficients de l’adéquation du modèle.

Table

arcpy.geoanalytics.GeneralizedLinearRegression(input_features, dependent_variable, model_type, explanatory_variables, output_features, {input_features_to_predict}, {explanatory_variables_to_match}, {dependent_variable_mapping}, {output_predicted_features}, {coefficient_table})
NomExplicationType de données
input_features

Couche qui contient les variables dépendantes et indépendantes.

Table View
dependent_variable

Champ numérique contenant les valeurs observées à modéliser.

Field
model_type

Précise le type de données à modéliser.

  • CONTINUOUSLa valeur dependent_variable est continue. Le modèle gaussien sera utilisé et l’outil effectuera une régression des moindres carrés ordinaires. Il s’agit de l’option par défaut.
  • BINARYLa valeur dependent_variable représente la présence ou l’absence. Il peut s’agir de 1 et de 0 conventionnels, ou de valeurs de chaîne appariées à 0 ou 1 dans le paramètre Apparier les variables explicatives. Le modèle de régression logistique sera utilisé.
  • COUNTLa valeur dependent_variable est discrète et représente des événements (par exemple, 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

Nom de la classe d’entités qui sera créée contenant des estimations de variable dépendante et les valeurs résiduelles.

Table; Feature Class
input_features_to_predict
(Facultatif)

Couche contenant des entités qui représentent des localisations pour lesquelles des estimations seront 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 couche en entrée.

Table View
explanatory_variables_to_match
[[Field from Prediction Locations, Field from Input Features],...]
(Facultatif)

Apparie les variables explicatives du paramètre input_features_to_predict et les variables explicatives correspondantes du paramètre input_features (par exemple, [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]]).

Value Table
dependent_variable_mapping
[dependent_variable_mapping,...]
(Facultatif)

Deux chaînes représentant les valeurs à apparier à 0 (absence) et à 1 (présence) pour la représentation binaire. Par défaut, 0 et 1 sont utilisés. Par exemple, pour prévoir une arrestation avec les valeurs de champ Arrestation et Pas d’arrestation, saisissez Pas d’arrestation pour Valeur fausse (0)) et Arrestation pour Valeur vraie (1).

Value Table
output_predicted_features
(Facultatif)

Classe d’entités en sortie destinée à recevoir des estimations de variable dépendante pour chaque valeur input_features_to_predict.

Classe d’entités en sortie destinée à recevoir des estimations de variable dépendante pour chaque valeur Input Prediction Features (Entités de prévision en entrée).

Table; Feature Class
coefficient_table
(Facultatif)

Table en sortie contenant les coefficients de l’adéquation du modèle.

Table

Exemple de code

Exemple d’utilisation de l’outil GeneralizedLinearRegression (script autonome)

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

Dans ce script, vous créez un modèle et prévoyez si une arrestation a été effectuée pour un crime signalé.

# Description: Run GLR on crime data and predict if an arrest was made for a crime reporting.
#
# Requirements: Advanced License

# Import system modules
import arcpy
arcpy.env.workspace = "c:/data/city.gdb"

# Set local variables
trainingDataset = "old_crimes"
predictionDataset = "new_crimes"
outputTrainingName = "training"
outputPredictedName = "predicted"

# Run Generalized Linear Regression
arcpy.geoanalytics.GeneralizedLinearRegression(
    trainingData, "ArrestMade", "BINARY", ["CRIME_TYPE", "WARD", "DAY_OF_MONTH"], 
    outputTrainingName, None, outputPredictedName, 
    [["CRIME_TYPE", "CRIME_TYPE"], ["WARD", "WARD"], ["DAY_OF_MONTH", "DAY_OF_MON"]], 
    [["Arrest", "NoArrest"]])