Regresión lineal generalizada (Geoanálisis)

Resumen

Realiza una regresión lineal generalizada (GLR) para generar predicciones o para modelar una variable dependiente en términos de su relación con un conjunto de variables explicativas. Esta herramienta se puede usar para ajustarse a modelos continuos (OLS), binarios (logísticos) y de recuento (Poisson).

Uso

  • Esta herramienta puede usarse en dos modos de operación. Puede evaluar el rendimiento de distintos modelos al explorar distintas variables explicativas y ajustes de la herramienta. Una vez encontrado un buen modelo, puede ajustarlo a un dataset nuevo.

  • Use el parámetro Entidades de entrada con un campo que represente el fenómeno que está modelando (el parámetro Variable dependiente) y uno o varios campos que representen las variables explicativas.

  • La herramienta Regresión lineal generalizada también produce entidades y diagnósticos de salida. Las capas de entidades de salida se agregan automáticamente al mapa con un esquema de representación en pantalla que se aplica a los residuales del modelo. A continuación, se proporciona una explicación completa de cada salida.

  • Es importante usar el tipo de modelo correcto (Continuo, Binario o Recuento) para su análisis con el fin de obtener resultados precisos de su análisis de regresión.

  • Los diagnósticos y resultados del resumen del modelo se escriben en la ventana de mensajes y los gráficos se crean bajo la clase de entidad de salida. Los diagnósticos devueltos dependen del valor del parámetro Tipo de modelo. Las tres opciones de tipo de modelo son las siguientes:

    • Use el tipo de modelo Continuo (Gausiano) si la variable dependiente puede admitir un amplio rango de valores, por ejemplo, temperatura o ventas totales. Lo ideal sería que la variable dependiente presentara una distribución normal.
    • Use el modelo Binario (logístico) si la variable dependiente puede admitir uno de dos valores posibles, por ejemplo, éxito y fracaso o presencia y ausencia. El campo que contiene la variable dependiente debe ser un campo numérico o de texto. Si el campo es numérico, debería contener solamente unos y ceros. Si el campo es de texto, debería contener solo dos valores distintos. Si utiliza un campo de texto, debe utilizar el parámetro Asignar variables dependientes para asignar los valores de texto distintos a unos y ceros. Debe existir una variación de los unos y los ceros de los valores de textos distintos de sus datos.

    • Utilice el tipo de modelo Recuento (Poisson) si la variable dependiente es discreta y representa el número de ocurrencias de un evento, por ejemplo, un recuento de delitos. Los modelos de recuento también se pueden utilizar si la variable dependiente representa una tasa y el denominador de esta es un valor fijo como, por ejemplo, las ventas mensuales o el número de gente con cáncer por cada 10.000 habitantes. El modelo Recuento presupone que el valor medio y la varianza de la variable dependiente son iguales y que los valores de la variable dependiente no pueden ser negativos ni contener decimales.

    Los valores de los parámetros Variable dependiente y Variable explicativa deben ser campos numéricos con un rango de valores. Esta herramienta no puede resolver cuando las variables tienen los mismos valores (por ejemplo, si todos los valores de un campo son 9,0).

  • Las entidades con uno o varios valores nulos o valores de cadena de caracteres vacíos en campos explicativos o de predicción se ejecutarán desde la salida. Puede modificar los valores mediante la herramienta Calcular campo si es necesario.

  • Inspeccione sobrepredicciones y las subpredicciones que sean evidentes en los residuales de regresión para ver si proporcionan información acerca de las posibles variables que están ausentes en el modelo de regresión.

  • Puede utilizar el modelo de regresión que se ha creado para realizar predicciones para otras entidades. Crear dichas predicciones requiere que cada una de las entidades de predicción tenga valores para cada una de las variables explicativas proporcionadas. Si los nombres de campo de los parámetros entidades de entrada y ubicaciones de predicción no coinciden, se proporciona una variable que coincide con el parámetro. Al comparar las variables explicativas, los campos de los parámetros Entidades de entrada y Entidades de predicción de entrada deben ser del mismo tipo (los campos dobles deben corresponderse con los campos dobles, por ejemplo).

  • La implementación en GeoAnalytics de GLR presenta las siguientes limitaciones:

    • Es un modelo de regresión global y no tiene en cuenta la distribución espacial de los datos.
    • El análisis no aplica la prueba I de Moran en los residuales.
    • Los datasets de entidades (puntos, líneas, polígonos y tablas) se admiten como entrada; los rásteres no se admiten.
    • No puede clasificar valores en varias clases.

  • Esta herramienta de geoprocesamiento se basa en ArcGIS GeoAnalytics Server. El análisis se completa en su GeoAnalytics Server y los resultados se almacenan en su contenido en ArcGIS Enterprise.

  • Al ejecutar herramientas de GeoAnalytics Server, el análisis se completa en GeoAnalytics Server. Para obtener un rendimiento óptimo, haga que los datos estén disponibles para GeoAnalytics Server mediante capas de entidades alojadas en su portal de ArcGIS Enterprise o mediante recursos compartidos de archivos de big data. Los datos que no son locales para su GeoAnalytics Server se moverán a GeoAnalytics Server antes de que comience el análisis. Significa que ejecutar una herramienta tardará más tiempo y, en algunos casos, mover los datos de ArcGIS Pro a GeoAnalytics Server podría fallar. El umbral de error depende de la velocidad de su red, así como del tamaño y complejidad de los datos. Por lo tanto, se recomienda que siempre comparta sus datos o que cree un recurso compartido de archivos de big data.

    Más información acerca del uso compartido de datos en el portal

    Más información sobre cómo crear un archivo compartido de Big Data mediante Server Manager

Sintaxis

arcpy.geoanalytics.GeneralizedLinearRegression(input_features, dependent_variable, model_type, explanatory_variables, output_features_name, {generate_coefficient_table}, {input_features_to_predict}, {explanatory_variables_to_match}, {dependent_variable_mapping}, {data_store})
ParámetroExplicaciónTipo de datos
input_features

La capa que contiene las variables dependientes e independientes.

Record Set
dependent_variable

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

Field
model_type

Especifica el tipo de datos que se va a modelar.

  • CONTINUOUS dependent_variable es continua. Se usará el modelo Gausiano y la herramienta realizará una regresión de mínimos cuadrados ordinarios. Esta es la opción predeterminada.
  • BINARY dependent_variable representa la presencia o ausencia. Pueden ser 1 y 0 convencionales o valores de cadena de caracteres asignados a 0 y 1 en el parámetro Variables explicativas coincidentes. Se usará el modelo Regresión logística.
  • COUNTdependent_variable es discreta y representa eventos, por ejemplo, recuentos de delitos, incidentes de enfermedades o accidentes de tráfico. Se usará el modelo Regresión Poisson.
String
explanatory_variables
[explanatory_variables,...]

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

Field
output_features_name

El nombre de la clase de entidad que se creará y contendrá las estimaciones y los residuales de la variable dependiente.

String
generate_coefficient_table
(Opcional)

Especifica si se generará una tabla de salida con valores de coeficiente (booleanos).

  • CREATE_TABLESe generará una tabla con valores de coeficiente.
  • NO_TABLENo se generará una tabla con valores de coeficiente. Esta es la opción predeterminada.
Boolean
input_features_to_predict
(Opcional)

Una capa que contiene entidades que representan ubicaciones donde se realizarán 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 capa de entrada.

Record Set
explanatory_variables_to_match
[[Field from Prediction Locations, Field from Input Features],...]
(Opcional)

Hace coincidir las variables explicativas del parámetro input_features_to_predict con las variables explicativas correspondientes del parámetro input_features, por ejemplo, [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]].

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

Dos cadenas que representan los valores utilizados para asignar 0 (ausencia) y 1 (presencia) para la regresión binaria. De forma predeterminada, se utilizarán 0 y 1. Por ejemplo, para predecir una detención con valores de campo Detener y No detener, introduciría No detener en Valor False (0) y Detener en Valor True (1).

Value Table
data_store
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. La predeterminada es SPATIOTEMPORAL_DATA_STORE. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.

  • SPATIOTEMPORAL_DATA_STORELa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • RELATIONAL_DATA_STORELa salida se almacenará en un data store relacional.
String

Salida derivada

NombreExplicaciónTipo de datos
output

El servicio de entidades de salida que contiene las estimaciones de variables dependientes para cada entidad de entrada.

Conjunto de registros
output_predicted_features

Una capa de salida que contiene las variables de entrada y los valores explicativos predichos.

Conjunto de registros
coefficient_table

Una tabla de salida con valores de coeficiente.

Conjunto de registros

Muestra de código

Ejemplo de GeneralizedLinearRegression (script independiente)

El siguiente script independiente muestra cómo utilizar la herramienta GeneralizedLinearRegression.

En este script, crea un modelo y predice si se realizó una detención para delitos determinados.

# Name: GeneralizedLinearRegression.py
# Description: Run GLR on crime data and predict if an arrest was made for a crime reporting.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
trainingDataset = "https://analysis.org.com/server/rest/services/Hosted/old_crimes/FeatureServer/0"
predictionDataset = "https://analysis.org.com/server/rest/services/Hosted/new_crimes/FeatureServer/0"
outputTrainingName = "training"
# Execute GLR
arcpy.geoanalytics.GeneralizedLinearRegression(
    trainingDataset, "ArrestMade", "BINARY", "CRIME_TYPE; WARD; DAY_OF_MONTH", outputTrainingName, 
    "NO_TABLE", predictionDataset, "CRIME_TYPE CRIME_TYPE;WARD WARD;DAY_OF_MONTH DAY_OF_MON", 
    "Arrest NoArrest", "SPATIOTEMPORAL_DATA_STORE")

Entornos

Sistema de coordenadas de salida

El sistema de coordenadas que se usará para el análisis. El análisis se completará en el sistema de coordenadas de entrada salvo que este parámetro especifique otra opción. Para las GeoAnalytics Tools, los resultados finales se almacenarán en el data store espaciotemporal en WGS84.

Información de licenciamiento

  • Basic: Requiere ArcGIS GeoAnalytics Server
  • Standard: Requiere ArcGIS GeoAnalytics Server
  • Advanced: Requiere ArcGIS GeoAnalytics Server

Temas relacionados