Regresión ponderada geográficamente (GWR) (Estadística espacial)

Resumen

Realiza una Regresión ponderada geográficamente (GWR), una forma local de regresión lineal que se utiliza para modelar las relaciones que varían espacialmente.

Heredado:
Se ha agregado a ArcGIS Pro 2.3 una versión mejorada de esta herramienta. Esta es la documentación de la herramienta obsoleta antigua. Le recomendamos actualizarse y utilizar la herramienta Regresión ponderada geográficamente disponible en ArcGIS AllSource o posterior.

Ilustración

Ilustración de la herramienta Regresión ponderada geográficamente
GWR es un modelo de regresión local. Se permite que los coeficientes varíen.

Uso

  • GWR construye una ecuación distinta para cada entidad en el dataset al incorporar las variables dependientes y explicativas de las entidades que se encuentran dentro del ancho de banda de cada entidad de destino. La forma y la extensión del ancho de banda depende de la entrada del usuario para los parámetros Tipo kernel, Método ancho de banda, Distancia y Cantidad de vecinos con una restricción: si el número de entidades vecinas es superior a 1000, solo se incorporarán a cada ecuación local las 1000 más próximas.

  • Para obtener mejores resultados, GWR se debe aplicar a los datasets con varios cientos de entidades. No es un método adecuado para datasets pequeños. La herramienta no funciona con datos de multipunto.

  • Nota:

    La herramienta GWR produce una variedad de salidas. Dispone de un resumen del modelo GWR como mensajes en la parte inferior del panel Geoprocesamiento durante la ejecución de la herramienta. Puede acceder a los mensajes desplazándose sobre la barra de progreso, haciendo clic en el botón emergente o expandiendo la sección de mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de la herramienta Regresión ponderada geográficamente ejecutada anteriormente mediante el historial de geoprocesamiento.

    La herramienta GWR también produce una Clase de entidad de salida y una tabla con los valores de diagnóstico del informe del resumen de ejecución de la herramienta. El nombre de esta tabla se genera automáticamente utilizando el nombre de la clase de entidad de salida con el sufijo _supp. La Clase de entidad de salida se agrega automáticamente a la tabla de contenido con un esquema de representación cálida/fría aplicado a los residuales del modelo.

  • El archivo _supp se crea siempre en la misma ubicación que la Clase de entidad de salida, a menos que la clase de entidad de salida se cree dentro de un dataset de entidades. Si la clase de entidad de salida está dentro de un dataset de entidades, la tabla _supp se creará en la geodatabase que contenga el dataset de entidades.

  • Es recomendable usar datos proyectados. Es especialmente importante cuando la distancia es un componente del análisis, como lo es para GWR cuando selecciona Fijo para el Tipo kernel. Se recomienda que los datos estén proyectados mediante un sistema de coordenadas proyectadas (en lugar de un sistema de coordenadas geográficas).

  • Algunos de los cómputos de la herramienta GWR aprovechan varias CPU para incrementar el rendimiento y utilizarán automáticamente hasta ocho subprocesos/CPU para el procesamiento.

  • El análisis de regresión debe comenzar siempre con la regresión Mínimos cuadrados ordinarios (OLS). En primer lugar, encuentre un modelo OLS especificado adecuadamente. A continuación, utilice las mismas variables explicativas para ejecutar GWR (excluya todas las variables explicativas dummy que representen distintos regímenes espaciales).

  • Las variables dependientes y explicativas deben ser campos numéricos que contengan una variedad de valores. Los métodos de regresión lineal, como GWR, no son adecuados para prever resultados binarios (por ejemplo, todos los valores para la variable dependiente son 1 o 0).

  • En los modelos de regresión global, como la Regresión de mínimos cuadrados ordinarios (OLS), los resultados son poco fiables cuando dos o más variables exhiben multicolinealidad (cuando dos o más variables son redundantes o cuentan la misma historia). GWR construye una ecuación de regresión local para cada entidad en el dataset. Cuando los valores para una variable explicativa particular se agrupan espacialmente, es muy probable que tenga problemas con la multicolinealidad local. El campo del número de condición (COND) de la clase de entidad de salida indica el momento en el que los resultados son inestables debido a la multicolinealidad local. En general, sospeche de resultados para entidades con un número de condición mayor que 30, igual que Nulo o, para los shapefiles, igual que -1,7976931348623158e+308.

  • Tenga cuidado al incluir datos nominales o categóricos en un modelo GWR. Donde las categorías se agrupan espacialmente, existe el riesgo de encontrar problemas de multicolinealidad local. El número de condición incluido en la salida de GWR indica cuando la colinealidad local es un problema (un número de condición menor que cero, mayor que 30 o establecido en Nulo). Cuando existe una multicolinealidad local, los resultados son inestables.

  • No utilice variables explicativas artificiales para representar regímenes espaciales diferentes en un modelo GWR (por ejemplo, a los distritos censales que están fuera del núcleo urbano se les asigna un valor de 1, mientras que al resto se les asigna un valor de 0). Ya que GWR permite que los coeficientes de la variable explicativa varíen, estas variables explicativas del régimen espacial no son necesarias, y si se incluyen, crearán problemas con la multicolinealidad local.

  • Para comprender mejor la variación regional entre los coeficientes de las variables explicativas, examine las superficies de ráster de coeficiente opcionales creadas por GWR. Estas superficies de ráster se crean en el Espacio de trabajo coeficiente ráster. Para los datos de polígono, puede utilizar un color graduado o una representación fría a cálida en cada campo de coeficiente en la Clase de entidad de salida para examinar los cambios en el área de estudio.

  • Puede utilizar GWR para hacer una predicción al suministrar una clase de entidad de Ubicaciones de predicción (a menudo, esta clase de entidad es la misma que la Clase de entidad de entrada), las Variables explicativas de predicción y una Salida predicción clase de entidad. Debe haber una correspondencia de uno a uno entre los campos utilizados para calibrar el modelo de regresión (los valores introducidos para el campo Variables explicativas) y los campos utilizados para la predicción (los valores introducidos para el campo Variables explicativas de predicción). El orden de estas variables debe ser el mismo. Por ejemplo, supongamos que está modelando accidentes de tráfico como una función de límites de velocidad, condiciones de carretera, cantidad de vías y cantidad de autos. Puede prever el impacto que podría tener el cambio de los límites de velocidad o la mejora de las carreteras en los accidentes de tráfico mediante la creación de nuevas variables con los límites de velocidad y las condiciones de carretera corregidos. Las variables existentes se utilizarían para calibrar el modelo de regresión y para el parámetro Variables explicativas. Las variables corregidas se utilizarían para las predicciones y serían introducidas como Variables explicativas de predicción.

  • Si se proporciona una clase de entidad de Predicción ubicaciones, pero no se especifican las Variables explicativas de predicción, se crea la Salida predicción clase de entidad solo con los coeficientes calculados para cada ubicación (sin predicciones).

  • Un modelo de regresión está mal especificado si falta una variable explicativa clave. Si la autocorrelación espacial de los residuales de regresión o la variación espacial no esperada entre los coeficientes de una o más variables explicativas son estadísticamente significativas, se puede intuir que el modelo está mal especificado. Debe hacer todo lo posible (por ejemplo, a través del análisis de residual OLS y el análisis de variación del coeficiente GWR) para descubrir cuáles son las variables clave que faltan para poder incluirlas en el modelo.

  • Pregúntese siempre si tiene sentido que una variable explicativa sea no estacionaria. Por ejemplo, supongamos que está modelando la densidad de una especie de planta en particular como función de muchas variables incluida la de la ORIENTACIÓN. Si descubre que el coeficiente de la variable ORIENTACIÓN en el área de estudio cambia, es probable que sea la evidencia de que falta una variable explicativa clave (tal vez, la prevalencia de una vegetación rival, por ejemplo). Debe hacer todo el esfuerzo posible para incluir todas las variables explicativas clave en el modelo de regresión.

  • Precaución:

    Al utilizar shapefiles tenga en cuenta que no pueden almacenar valores nulos. Por consiguiente, las herramientas u otros procedimientos que crean shapefiles a partir de entradas que no son shapefiles pueden almacenar valores nulos como cero o un número negativo muy pequeño (-DBL_MAX = -1,7976931348623158e+308). Esto puede ocasionar resultados inesperados. Para más información, consulte Cuestiones de geoprocesamiento para el shapefile de salida.

  • Cuando el resultado de un cómputo es infinito o indefinido, el resultado para los no shapefiles será Nulo; para los shapefiles, el resultado será -DBL_MAX = -1,7976931348623158e+308.

  • Cuando selecciona Criterio de información de Akaike o Cross Validation para el parámetro Método ancho de banda, GWR buscará la distancia óptima (para un kernel fijo) o la cantidad óptima de vecinos (para un kernel adaptable). Sin embargo, los problemas con la multicolinealidad local evitarán que los métodos de ancho de banda Criterio de información de Akaike y Cross Validation resuelvan una distancia/cantidad de vecinos óptima. Si se produce un error que indica problemas graves de diseño del modelo, trate de especificar una distancia o un recuento de vecindad en particular. Después, examine los números de condiciones en la clase de entidad de salida para ver qué entidades están asociadas con los problemas de colinealidad local

  • Los errores graves de diseño del modelo o los errores que indican que las ecuaciones locales no incluyen suficientes vecinos, por lo general señalan que existe un problema con la multicolinealidad global o local. Para determinar dónde está el problema, ejecute el modelo con OLS y examine el valor VIF para cada variable explicativa. Si algunos de los valores VIF son grandes (por ejemplo, mayores que 7,5), la multicolinealidad global impide que se resuelva la GWR. Sin embargo, es más probable que la multicolinealidad local sea el problema. Intente crear un mapa temático para cada variable explicativa. Si el mapa muestra un clustering espacial de valores idénticos, considere quitar esas variables del modelo o combinarlas con otras variables explicativas para aumentar la variación del valor. Por ejemplo, si está modelando valores de viviendas y tiene variables tanto para los dormitorios como para los cuartos de baño, es posible que desee combinarlas para aumentar la variación del valor o para representarlas como metros cuadrados de cuarto de baño/dormitorio. Evite utilizar variables falsas del régimen espacial, variables categóricas o nominales de clustering espacial o variables con pocos valores posibles al construir modelos GWR.

  • GWR es un modelo lineal que está sujeto a los mismos requisitos que OLS. Revise la sección Cómo dejan de funcionar los modelos de regresión en Conceptos básicos del análisis de regresión para asegurarse de que su modelo GWR esté especificado correctamente.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

La clase en entidad que contiene las variables dependientes e independientes.

Feature Layer
Variable dependiente

El campo numérico que contiene los valores que se van a modelar.

Field
Variables explicativas

Una lista de campos que representan variables explicativas independientes en el modelo de regresión.

Field
Clase de entidad de salida

La clase de entidad de salida que recibirá estimaciones y residuales de variables dependientes.

Feature Class
Tipo Kernel (núcleo)

Especifica si el kernel se construye como una distancia fija o si puede variar en extensión como una función de la densidad de entidad.

  • FijoEl contexto espacial (el Kernel gaussiano) que se utiliza para resolver cada análisis de regresión local es una distancia fija.
  • AdaptableEl contexto espacial (el Kernel gaussiano) es una función de una cantidad de vecinos específica. Donde la distribución de entidades es densa, el contexto espacial es más pequeño; donde la distribución de entidades es dispersa, el contexto espacial en más amplio.
String
Método Ancho de banda

Especifica cómo se determinará la extensión del kernel. Cuando se selecciona Criterio de información de Akaike o Validación cruzada, la herramienta buscará la distancia óptima o la cantidad óptima de vecinos. Normalmente seleccionará Criterio de información de Akaike o Validación cruzada si tiene dudas de lo que debe utilizar para los parámetros de Distancia o Cantidad de vecinos. Una vez que la herramienta determine la distancia o la cantidad de vecinos óptimas, deberá utilizar la opción Como se especifica en la parte inferior.

  • Criterio de información de AkaikeLa extensión del kernel se determina mediante el Criterio de información de Akaike.
  • Validación cruzadaLa extensión del kernel se determina mediante la validación cruzada.
  • Como se especifica en la parte inferiorLa extensión del kernel se determina mediante una distancia fija o una cantidad de vecinos fija. Debe especificar un valor para los parámetros Distancia o Cantidad de vecinos.
String
Distancia
(Opcional)

Distancia que se debe utilizar cuando el parámetro de Tipo Kernel (núcleo) se establece en Fijo y el parámetro Método ancho de banda se establece en Como se especifica en la parte inferior.

Double
Cantidad de vecinos
(Opcional)

Cantidad exacta de vecinos para incluir en el ancho de banda local del kernel gaussiano cuando el parámetro de Tipo Kernel (núcleo) se establece en Adaptable y el parámetro Método ancho de banda se establece en Como se especifica en la parte inferior.

Long
Pesos
(Opcional)

El campo numérico que contiene una ponderación espacial para las entidades individuales. Este campo de peso permite que algunas entidades sean más importantes que otras en el proceso de calibración del modelo. Es útil cuando el número de muestras tomadas en diferentes ubicaciones varía, los valores de las variables dependientes e independientes se promedian y los lugares con más muestras son más confiables (deben tener una mayor ponderación). Si tiene un promedio de 25 muestras diferentes para una ubicación, pero un promedio de solo 2 muestras para otra, por ejemplo, puede utilizar el número de muestras como campo de peso para que las ubicaciones con más muestras tengan mayor influencia en la calibración del modelo que las ubicaciones con pocas muestras.

Field
Espacio de trabajo coeficiente ráster
(Opcional)

La ruta completa del espacio de trabajo en el que se crearán los rásteres de coeficiente. Cuando se proporciona este espacio de trabajo, se crean rásteres para la intercepción y para cada variable explicativa.

Workspace
Tamaño de celda de salida
(Opcional)

El tamaño de celda (un número) o la referencia al tamaño de celda (una ruta al dataset ráster) para utilizar cuando se crean los rásteres de coeficiente.

El tamaño de celda predeterminado es el más corto del ancho o la altura de la extensión especificada en el sistema de coordenadas de salida del entorno de geoprocesamiento, dividido por 250.

Analysis Cell Size
Predicción ubicaciones
(Opcional)

Una clase de entidad que contiene entidades que representan ubicaciones donde se deben realizar los cálculos. Cada entidad en este dataset debe incluir valores para todas las variables explicativas especificadas; la variable dependiente para estas entidades se calculará con el modelo calibrado para los datos de la clase de entidad de entrada.

Feature Layer
Variables explicativas de predicción
(Opcional)

Una lista de campos que representan las variables explicativas en la clase de entidad de Predicción ubicaciones. Los nombres de estos campos se deben proporcionar en el mismo orden (una correspondencia de uno a uno) que los nombres enumerados para el parámetro Variables explicativas de la clase de entidad de entrada. Si no se proporcionan variables explicativas de predicción, la clase de entidad de predicción de salida solo incluirá valores de coeficiente calculados para cada ubicación de predicción.

Field
Salida predicción clase de entidad
(Opcional)

La clase de entidad de salida que recibirá los cálculos de la variable dependiente para cada entidad en la clase de entidad de Predicción ubicaciones.

Feature Class

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla de salida

La tabla con los valores de diagnóstico del informe del resumen de ejecución de la herramienta.

Table
Rásteres de regresión de salida

El espacio de trabajo donde se crearán todos los rásteres de coeficiente.

Raster Layer

arcpy.stats.GeographicallyWeightedRegression(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})
NombreExplicaciónTipo de datos
in_features

La clase en entidad que contiene las variables dependientes e independientes.

Feature Layer
dependent_field

El campo numérico que contiene los valores que se van a modelar.

Field
explanatory_field
[explanatory_field,...]

Una lista de campos que representan variables explicativas independientes en el modelo de regresión.

Field
out_featureclass

La clase de entidad de salida que recibirá estimaciones y residuales de variables dependientes.

Feature Class
kernel_type

Especifica si el kernel se construye como una distancia fija o si puede variar en extensión como una función de la densidad de entidad.

  • FIXEDEl contexto espacial (el Kernel gaussiano) que se utiliza para resolver cada análisis de regresión local es una distancia fija.
  • ADAPTIVEEl contexto espacial (el Kernel gaussiano) es una función de una cantidad de vecinos específica. Donde la distribución de entidades es densa, el contexto espacial es más pequeño; donde la distribución de entidades es dispersa, el contexto espacial en más amplio.
String
bandwidth_method

Especifica cómo se determinará la extensión del kernel. Cuando se selecciona AICc o CV, la herramienta buscará la distancia o la cantidad de vecinos óptimas. Normalmente seleccionará AICc o CV si no está seguro de lo que debe utilizar para los parámetros de distance o number_of_neighbors. Sin embargo, una vez que la herramienta determine la distancia o la cantidad de vecinos óptimas, deberá utilizar la opción BANDWIDTH_PARAMETER.

  • AICcLa extensión del kernel se determina mediante el Criterio de información de Akaike (AICc).
  • CVLa extensión del kernel se determina mediante la Validación cruzada.
  • BANDWIDTH_PARAMETERLa extensión del kernel se determina mediante una distancia fija o una cantidad de vecinos fija. Debe especificar un valor para el parámetro distance o number_of_neighbors.
String
distance
(Opcional)

La distancia que se desea usar si kernel_type es FIXED y bandwidth_method es BANDWIDTH_PARAMETER.

Double
number_of_neighbors
(Opcional)

Cantidad exacta de vecinos para incluir en el ancho de banda local del kernel gaussiano cuando kernel_type es ADAPTIVE y bandwidth_method es BANDWIDTH_PARAMETER.

Long
weight_field
(Opcional)

El campo numérico que contiene una ponderación espacial para las entidades individuales. Este campo de peso permite que algunas entidades sean más importantes que otras en el proceso de calibración del modelo. Es útil cuando el número de muestras tomadas en diferentes ubicaciones varía, los valores de las variables dependientes e independientes se promedian y los lugares con más muestras son más confiables (deben tener una mayor ponderación). Si tiene un promedio de 25 muestras diferentes para una ubicación, pero un promedio de solo 2 muestras para otra, por ejemplo, puede utilizar el número de muestras como campo de peso para que las ubicaciones con más muestras tengan mayor influencia en la calibración del modelo que las ubicaciones con pocas muestras.

Field
coefficient_raster_workspace
(Opcional)

La ruta completa del espacio de trabajo en el que se crearán los rásteres de coeficiente. Cuando se proporciona este espacio de trabajo, se crean rásteres para la intercepción y para cada variable explicativa.

Workspace
cell_size
(Opcional)

El tamaño de celda (un número) o la referencia al tamaño de celda (una ruta al dataset ráster) para utilizar cuando se crean los rásteres de coeficiente.

El tamaño de celda predeterminado es el más corto del ancho o la altura de la extensión especificada en el sistema de coordenadas de salida del entorno de geoprocesamiento, dividido por 250.

Analysis Cell Size
in_prediction_locations
(Opcional)

Una clase de entidad que contiene entidades que representan ubicaciones donde se deben realizar los cálculos. Cada entidad en este dataset debe incluir valores para todas las variables explicativas especificadas; la variable dependiente para estas entidades se calculará con el modelo calibrado para los datos de la clase de entidad de entrada.

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

Una lista de campos que representan las variables explicativas en la clase de entidad de Predicción ubicaciones. Los nombres de estos campos se deben proporcionar en el mismo orden (una correspondencia de uno a uno) que los nombres enumerados para el parámetro Variables explicativas de la clase de entidad de entrada. Si no se proporcionan variables explicativas de predicción, la clase de entidad de predicción de salida solo incluirá valores de coeficiente calculados para cada ubicación de predicción.

Field
out_prediction_featureclass
(Opcional)

La clase de entidad de salida que recibirá los cálculos de la variable dependiente para cada entidad en la clase de entidad de Predicción ubicaciones.

Feature Class

Salida derivada

NombreExplicaciónTipo de datos
out_table

La tabla con los valores de diagnóstico del informe del resumen de ejecución de la herramienta.

Table
out_regression_rasters

El espacio de trabajo donde se crearán todos los rásteres de coeficiente.

Raster Layer

Muestra de código

Ejemplo de GeographicallyWeightedRegression (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función GeographicallyWeightedRegression.

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.stats.GeographicallyWeightedRegression("CallData.shp", "Calls", ["BUS_COUNT", "RENTROCC00", "NoHSDip"],
                                             "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER",
                                             "#", "25", "#","CoefRasters", "135", "PredictionPoints", 
                                             "#", "GWRCallPredictions.shp")
Ejemplo de GeographicallyWeightedRegression (script independiente)

El siguiente script independiente de Python muestra cómo utilizar la función GeographicallyWeightedRegression.

# Model 911 emergency calls using GWR

# 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

    # 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.stats.GeographicallyWeightedRegression("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.stats.GenerateSpatialWeightsMatrix("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.stats.SpatialAutocorrelation("CallsGWR.shp", "StdResid",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "CallData25Neighs.swm")

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

Entornos

Casos especiales

Sistema de coordenadas de salida

La geometría de entidades se proyecta en el sistema de coordenadas de salida una vez que se completa el análisis. Como consecuencia, el valor introducido para el parámetro Distancia se debe especificar con las mismas unidades que la Clase de entidad de entrada. Los valores introducidos para Tamaño de celda de salida se deben especificar con las mismas unidades que el sistema de coordenadas de salida.