Búsqueda de similitud (Estadística espacial)
Resumen
Identifica cuáles entidades candidatas son las más o las menos similares a una o más entidades sobre la base de los atributos de entidad.
Más información acerca del mecanismo de Búsqueda de similitud
Ilustración
Uso
-
Deberá especificar una capa que contenga las Entidades de entrada para coincidencia, y una segunda capa que contenga las Entidades candidatas de las cuales se obtendrán las coincidencias. A menudo, las Entidades de entrada para coincidencia y las Entidades candidatas estarán en la misma capa de entidades. Aunque una de las opciones es crear dos conjuntos de datos independientes, no estará obligado a hacerlo. En su lugar, resulta mucho más fácil crear capas con dos conjuntos de selección diferentes. Supongamos que dispone de un archivo con todos los delitos que se han producido durante el mes precedente. Si desea buscar todos los delitos más similares al caso de robo y asalto de automovilistas más reciente, podría
- Utilizando las herramientas de selección o las herramientas de geoprocesamiento de ArcMap, seleccione el caso de robo y asalto de automovilista más reciente en la capa que contiene todos los incidentes delictivos.
- Haga clic con el botón secundario en la capa con la selección y, a continuación, haga clic en Selección > Crear capa a partir de entidades seleccionadas. Utilice esta nueva capa de entidades en el parámetro Entidades de entrada para coincidencia .
- Pase a la capa que contenga todos los incidentes delictivos. Utilice esta capa para el parámetro Entidades candidatas . Precaución:
Un error habitual cuando todas las entradas proceden de un único conjunto de datos es olvidar cambiar la selección, motivo por el cual las Entidades de entrada para coincidencia tienen exactamente las mismas entidades que las Entidades candidatas. Es muy poco probable que sea esto lo que desea. La situación más típica es tener una sola capa de Entidades de entrada para coincidencia y varias de Entidades candidatas.
Si más de una coincidencia de Entidades de entrada para coincidencia, la coincidencia se basará en los valores de Atributos de interés promediados. Así, por ejemplo, si hay dos Entidades de entrada para coincidencia y uno de los Atributos de interés es una variable de población, la herramienta buscará Entidades candidatas con poblaciones que sean más semejantes al promedio de los valores de población. Por ejemplo, si los valores de población son 100 y 102, la herramienta buscará candidatos con poblaciones próximas a 101.
Nota:Si hay varias Entidades de entrada para coincidencia, tendrá que seleccionar los Atributos de interés que tengan valores similares. Por ejemplo, si el valor de población de una de las entradas es 100 y la otra entrada se 100.000, la herramienta buscará las coincidencias con poblaciones próximas al promedio de ambos valores: 50.050. Obsérvese que el valor promediado no es nada parecido a la población de ninguna de las Entidades de entrada para coincidencia.
Entidades de salida siempre contendrá puntos, a menos que Entidades de entrada para coincidencia y Entidades candidatas sean ambos polígonos o ambos polilíneas. La creación de un polígono o polilínea Entidades de salida es susceptible de desacelerar el rendimiento en el caso de grandes conjuntos de datos, por lo que deberá seleccionar Contraer salida en puntos para forzar geometrías de punto que mejoren el rendimiento.
Con el parámetro Más o menos similar podrá buscar las entidades que sean más similares (MOST_SIMILAR) o menos similares (LEAST_SIMILAR) a las Entidades de entrada para coincidencia. En algunos casos querrá ver ambos extremos del espectro. Por ejemplo, si especifica 3 como parámetro Número de resultados, y BOTH (ambos)como parámetro Más o menos similar, la herramienta presentará las tres entidades candidatas más similares y las tres más distintas.
Una coincidencia de soluciones en las Entidades de salida será una solución que sea la más similar o la menos similar a las Entidades de entrada para coincidencia de destino; una única solución no puede ser las dos cosas (y las coincidencias de soluciones no se duplicarán en las Entidades de salida). En consecuencia, al seleccionar BOTH para el parámetro Más o menos similar, el número máximo de coincidencias resultantes posibles (Número de resultados) será la mitad de las Entidades candidatas. Si se especifica un valor de Número de resultados demasiado grande, la herramienta lo ajustará al máximo posible.
En ocasiones, para explorar el patrón espacial de la similitud quizá resulte conveniente clasificar la similitud de todas las Entidades candidatas. Un método sencillo de indicar que desea clasificar todas las Entidades candidatas consiste en especificar un número muy grande (igual o superior al número de Entidades candidatas) para el parámetro Número de resultados. De este modo, la herramienta determinará el número de candidatos válidos dentro del conjunto de datos de candidatos, y los incluirá a todos en las Entidades de salida en orden de similitud descendente (de más a menos).
Para el parámetro Método de coincidencia podrá seleccionar ATTRIBUTE_VALUES, RANKED_ATTRIBUTE_VALUES, o bien ATTRIBUTE_PROFILES.
- Para ATTRIBUTE_VALUES, los candidatos más similares tendrán la suma más pequeña de diferencias cuadradas de todos los Atributos de interés; todos los valores son normalizados antes de calcular las diferencias.
- Para RANKED_ATTRIBUTE_VALUES, los candidatos más similares tendrán la suma más pequeña de diferencias cuadradas de clasificación de todos los Atributos de interés; todos los valores son normalizados antes de calcular las diferencias. Entidades de salida indica estas sumas en el campo SIMINDEX (Suma de las diferencias cuadradas de clasificación).
- ATTRIBUTE_PROFILES mide la similitud de coseno. La similitud de coseno busca las mismas relaciones entre los valores de atributo estándar, en lugar de intentar hacer coincidir magnitudes. Supongamos que tenemos cuatro Atributos de interés denominados A1, A2, A3 y A4, y que A2 es el doble de grande que A1, que A3 es casi igual a A2, y que A4 es tres veces mayor que A3. Para el Método de coincidencia ATTRIBUTE_PROFILES, la herramienta buscará candidatos con las mismas relaciones de atributo: el doble de grande, luego casi igual, luego tres veces mayor. Por cuanto este método busca las relaciones de atributo, para este método deberá especificar un mínimo de dos Atributos de interés. Podrá utilizar el método de similitud de coseno (ATTRIBUTE_PROFILES) para buscar lugares como Los Ángeles, pero a una menor escala general. El índice de similitud de coseno fluctúa entre 1,0 (similitud perfecta) y -1,0 (disimilitud perfecta). El índice de similitud de coseno se indica en el campo Entidades de salida SIMINDEX (Similitud de coseno).
Los Atributos de interés deben ser numéricos y estar presentes (idéntico nombre y tipo de campo) tanto en los conjuntos de datos Entidades de entrada para coincidencia y Entidades candidatas. En cuanto al parámetro Atributos de interés, la herramienta presentará una lista de todos los campos numéricos que haya encontrando en el conjunto de datos Entidades de entrada para coincidencia. Si la herramienta no encuentra campos correspondientes en Entidades candidatas, aparecerá una advertencia indicando que los atributos faltantes fueron eliminados del análisis. Si se eliminan todos los Atributos de interés, la herramienta no tendrá nada que pueda utilizar para coincidencias, y aparecerá un mensaje de error informando que la herramienta no puede realizar el análisis.
Todos los atributos utilizados para coincidencias se escriben en Entidades de salida. El parámetro Campos para añadir a la salida permite opcionalmente incluir otros campos en la tabla de salida. Por cuanto los Atributos de interés numéricos no son probablemente los identificadores más eficaces, quizá resulte práctico agregar un campo de nombre u otro identificador para cada solución de coincidencia. Si tiene que decidir entre varias soluciones de coincidencia, podrá agregar también otros atributos no numéricos. Por ejemplo, si la solución que busca debe ser uno entre varios tipos de uso de suelo, agregar un atributo categórico de uso de suelo puede ayudarle a obtener soluciones que satisfagan este requisito. En ocasiones puede ser útil incluir atributos numéricos adicionales en la tabla de salida solamente a efectos de referencia. Por ejemplo, supongamos que busca un hábitat adecuado para un determinado animal. Podrá utilizar lugares conocidos en los que las especies medran como Entidades de entrada para coincidencia. Podrá seleccionar Atributos de interés relacionados con el éxito de la especie. Asimismo, podrá agregar un atributo de área numérico como Entidades de salida, no porque realmente desee una coincidencia con el valor de superficie del destino, sino porque en última instancia está buscando soluciones con las mayores superficies posibles.
Todas las Entidades de entrada para coincidencia y las coincidencias de solución se indican en las Entidades de salida, conjuntamente con los Atributos de interés y los Campos para añadir a la salida. Además, en Entidades de salida se incluyen los siguientes campos:
Nombre de campo
Alias de campo
Descripción
Notas
MATCH_ID
MATCH_ID
Primero aparecen todas las entidades de destino de la capa Entidades de entrada para coincidencia, con sus identificadores OID o FID indicados en el campo MATCH_ID. En este campo, las coincidencias de solución tienen valores NULL.
Si Entidades de salida es un shapefile, los valores NULL se representan mediante un número negativo muy grande (como -21474836).
CAND_ID
CAND_ID
Todas las coincidencias de soluciones se indican a continuación, y este valor es su identificador OID o FID. Las entidades de destino en la capa Entidades de entrada para coincidencia tienen valores NULL para este campo.
Si Entidades de salida es un shapefile, los valores NULL se representan mediante un número negativo muy grande (como -21474836).
SIMRANK
Clasificación de similitud
Si se selecciona MOST_SIMILAR o (BOTH para el parámetro Método de coincidencia, todas las coincidencias de solución se clasificarán en orden de similitud descendente (más similar a menos similar). La coincidencia de solución más similar tendrá un valor de clasificación de 1.
Este campo se incluirá en Entidades de salida solamente si ha seleccionado MOST_SIMILAR o BOTH para el parámetro Método de coincidencia.
DSIMRANK
Clasificación de disimilitud
Si se selecciona LEAST_SIMILAR o (BOTH para el parámetro Método de coincidencia, todas las coincidencias de solución se clasificarán en orden de similitud ascendente (menos similar a más similar). La solución que sea menos similar tendrá un valor de clasificación de 1.
Este campo se incluirá en Entidades de salida solamente si ha seleccionado LEAST_SIMILAR o BOTH para el parámetro Método de coincidencia.
SIMINDEX
Suma de las diferencias de valor cuadrado, Suma de las diferencias cuadradas de clasificación o Similitud de coseno
Este campo cuantifica cuán similar es cada coincidencia de solución a la entidad de destino.
- Al especificar ATTRIBUTE_VALUES como Método de coincidencia, el alias del campo es Sum of Squared Value Differences.
- Al especificar RANKED_ATTRIBUTE_VALUES como Método de coincidencia, el alias del campo es Sum of Squared Rank Differences.
- Al especificar ATTRIBUTE_PROFILES como Método de coincidencia, el alias del campo es Cosine Similarity.
Si no hay más de una Entidades de entrada para coincidencia, la entidad de destino será esta entidad. Si se especifican más de una Entidades de entrada para coincidencia, la entidad de destino será una entidad temporal creada con el promedio de los valores de todos los Atributos de interés.
LABELRANK
Clasificación de representación
Este campo se emplea exclusivamente a efectos de visualización. La herramienta utiliza este campo para una representación predeterminada de los resultados del análisis.
-
Cuando esta herramienta se ejecuta en ArcMap, las Entidades de salida se agregan automáticamente a la tabla de contenido con una representación predeterminada aplicada al campo LABELRANK. La representación aplicada está definida por un archivo de capas en <ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers. Puede volver a aplicar la representación predeterminada, de ser necesario, al importar la simbología de capa de plantilla.
Nota:El tamaño de muestra predeterminado es de 10,000 registros. Si el Número de resultados es mayor que este valor predeterminado, lo más práctico es aumentar el tamaño de muestreo para representar todos los resultados.
Sintaxis
Parámetro | Explicación | Tipo de datos |
Input_Features_To_Match |
La capa (o una selección de capa) que contiene las entidades cuya coincidencia se busca; buscará otras entidades que se asemejen a estas. Si se especifica más de una entidad, la coincidencia estará basada en los promedios de los atributos. Sugerencia: las Entidades de entrada para coincidencia y las Entidades candidatas proceden de un único conjunto de datos.
| Feature Layer |
Candidate_Features |
La capa (o una selección de una capa) que contiene las candidatas a entidades coincidentes. La herramienta buscará entre estas candidatas entidades más similares (o menos similares) a las Entidades de entrada para coincidencia. Sugerencia: las Entidades de entrada para coincidencia y las Entidades candidatas proceden de un único conjunto de datos.
| Feature Layer |
Output_Features |
La clase de entidad de salida contiene un registro de cada una de las Entidades de entrada para coincidencia y de todas las entidades coincidentes de la solución detectadas. | Feature Class |
Collapse_Output_To_Points | Seleccione si desea que la geometría de las Output_Features sean puntos o que coincidan con la geometría (líneas o polígonos) de las entidades de entrada. Esta opción solamente estará disponible si tanto las Input_Features_To_Match como las Candidate_Features son ambas polígonos o ambas polilíneas. La elección de COLLAPSE en grandes conjuntos de datos de líneas o de polígonos mejorará el rendimiento de la herramienta.
| Boolean |
Most_Or_Least_Similar |
Seleccione si le interesan las entidades que sean más similares o más diferentes a/de las Entidades de entrada para coincidencia.
| String |
Match_Method |
Especifique si la coincidencia debería basarse en relaciones de valores, clasificaciones o cosenos.
| String |
Number_Of_Results |
El número de coincidencias de solución a buscar Sugerencia: para clasificar la similitud de todas las Entidades candidatas simplemente introduzca un número realmente grande (igual o mayor que el número real de candidatas). | Long |
Attributes_Of_Interest [field,...] |
Una lista de los atributos numéricos que representan los criterios de coincidencia. | Field |
Fields_To_Append_To_Output [field,...] (Opcional) |
Una lista opcional de atributos para incluir con las Entidades de salida. Por ejemplo, posiblemente resulte conveniente incluir un identificador de nombre, campo de categoría o campo de fecha. Estos campos no se utilizan para determinar la similitud, sino que solamente se incluyen en las Entidades de salida como referencia. | Field |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la herramienta SimilaritySearch.
import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\Analysis"
SS.SimilaritySearch ("Crime_selection", "AllCrime", "c:\\Analysis\\CrimeMatches",
"NO_COLLAPSE", "MOST_SIMILAR", "ATTRIBUTE_VALUES", 4,
"HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
La siguiente secuencia de comandos de Python independiente muestra cómo utilizar la herramienta SimilaritySearch.
# Similarity Search of crime data in a metropolitan area
# Import system modules
import arcpy, os
import arcpy.stats as SS
# Set geoprocessor object property to overwrite existing output
arcpy.gp.overwriteOutput = True
try:
# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"C:\Analysis"
# Make a layer from the crime feature class
arcpy.MakeFeatureLayer_management("AllCrime", "Crime_selection")
# Select the target crime to match
# Process: Select By Attribute
arcpy.SelectLayerByAttribute_management("Crime_selection","NEW_SELECTION",
'"OBJECTID" = 1230043')
# Use Similarity Search to find to create groups based on different variables
# or analysis fields
# Process: Group Similar Features
SS.SimilaritySearch("Crime_selection","AllCrime","CJMatches","NO_COLLAPSE",
"MOST_SIMILAR","ATTRIBUTE_VALUES",4,
"HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP","Name;WEAPON")
except:
# If an error occurred when running the tool, print out the error message.
print arcpy.GetMessages()