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 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 un 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 numérico y solo debe contener unos y ceros. Debe existir una variación de unos y ceros en sus datos.
Considere la posibilidad de utilizar un 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 crímenes. 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. Un 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 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).
Es posible mejorar la velocidad de procesamiento de la herramienta Regresión lineal generalizada con una o varias de las siguientes sugerencias:
- Defina la extensión de procesamiento del análisis para analizar únicamente datos de interés.
- No genere una tabla de coeficientes.
- Utilice datos locales en los que se ejecute el análisis.
Esta herramienta de geoprocesamiento se basa en Spark. El análisis se completa en su equipo de escritorio utilizando varios núcleos en paralelo. Consulte Consideraciones acerca de las herramientas de GeoAnalytics Desktop para obtener más información acerca de la ejecución de análisis.
Al ejecutar herramientas de GeoAnalytics Desktop, el análisis se completa en su equipo de escritorio. Para un rendimiento óptimo, los datos deben estar disponibles en su escritorio. Si utiliza una capa de entidades alojada, se recomienda utilizar ArcGIS GeoAnalytics Server. Si sus datos no están almacenados localmente, se tardará más tiempo en ejecutar una herramienta. Para utilizar ArcGIS GeoAnalytics Server con el fin de realizar un análisis, consulte GeoAnalytics Tools.
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.
Sintaxis
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})
Parámetro | Explicación | Tipo de datos |
input_features | La capa que contiene las variables dependientes e independientes. | Table View |
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.
| String |
explanatory_variables [explanatory_variables,...] | Una lista de campos que representan variables explicativas independientes en el modelo de regresión. | Field |
output_features | El nombre de la clase de entidad que se creará y contendrá las estimaciones y los residuales de la variable dependiente. | Table; Feature Class |
input_features_to_predict (Opcional) | Una capa que contiene entidades que representan las ubicaciones donde se deberían 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 capa de entrada. | Table View |
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, si deseara predecir una detención y tuviera campos con valores de Detener y No detener, introduciría No detener en Valor False (0) y Detener en Valor True (1). | Value Table |
output_predicted_features (Opcional) | La clase de entidad de salida con las estimaciones de variables dependientes para cada input_features_to_predict. La clase de entidad de salida con las estimaciones de variables dependientes para cada una de las Entidades de predicción de entrada. | Table; Feature Class |
coefficient_table (Opcional) | La clase de entidad de salida con las estimaciones de variables dependientes para cada input_features_to_predict. La clase de entidad de salida con las estimaciones de variables dependientes para cada una de las Entidades de predicción de entrada. | Table |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la herramienta GeneralizeLinearRegression.
En este script, crea un modelo y predice si se realizó una detención para un delito reportado.
#-------------------------------------------------------------------------------
# Name: GeneralizedLinearRegression.py
# 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"
# Execute Generalize 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")
Entornos
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí