Recherche de similarité (Statistiques spatiales)

Résumé

Identifie les entités candidates les plus semblables (ou dissemblables) à une ou plusieurs entités en entrée en fonction d'attributs d'entités.

Pour plus d'informations sur le fonctionnement de l'outil Recherche de similarité

Illustration

Recherche de similarités

Utilisation

  • Vous allez fournir une couche contenant les valeurs du paramètre Input Features To Match (Entités en entrée à apparier) et une seconde couche contenant les valeurs du paramètre Candidate Features (Entités candidates) à partir desquelles les appariements seront obtenus. Ces valeurs résident souvent dans la même couche d’entités. Il est possible de créer deux jeux de données distincts, mais il est peut-être préférable de créer des couches avec deux ensembles de définition différents pour plus de simplicité. Si, par exemple, vous possédez un fichier contenant les délits qui ont eu lieu au cours du mois précédent et que vous désirez rechercher tous les incidents ayant les mêmes particularités que ceux liés à des vols de voiture avec menaces ou violence (car-jacking), vous pouvez procéder comme suit :

    • Copiez et collez la couche affichant tous les délits dans la fenêtre Contents (Contenu) pour créer un double de la couche. Renommez ensuite la couche.
    • Sur la couche renommée, effectuez une sélection ou définissez un ensemble de définition représentant l'entité la plus récente de vol de voiture avec menaces ou violence. Utilisez cette couche pour le paramètre Entités en entrée à apparier.
    • Appliquez une sélection ou définissez un ensemble de définition pour la couche d’origine afin d’exclure le dernier vol de voiture avec menaces ou violence. Utilisez cette couche pour le paramètre Entités candidates.

  • S’il existe plusieurs valeurs pour le paramètre Input Features To Match (Entités en entrée à apparier), l’appariement repose sur les valeurs moyennes des valeurs du paramètre Attributes of Interest (Attributs d’intérêt). Si, par exemple, il existe deux valeurs pour le paramètre Input Features To Match (Entités en entrée à apparier) et que l’une des valeurs du paramètre Attributes of Interest (Attributs d’intérêt) est une variable de population, l’outil recherche les valeurs du paramètre Candidate Features (Entités candidates) dont la population s’approche le plus des valeurs de population moyennes. Si les valeurs de population sont de 100 et 102, par exemple, l’outil examine les candidats dont la population avoisine 101.

    Remarque :

    Lorsque plusieurs valeurs du paramètre Input Features To Match (Entités en entrée à apparier) sont spécifiées, sélectionnez des valeurs similaires pour le paramètre Attributes of Interest (Attributs d’intérêt). Si, par exemple, la valeur de population de l’une des entrées est de 100 et que l’autre entrée est de 100 000, l’outil vérifie les correspondances dont la population avoisine la moyenne de ces deux valeurs, à savoir 50 050. Cette moyenne n’est pas proche de la population des valeurs Input Features To Match (Entités en entrée à apparier).

  • Les valeurs du paramètre Output Features (Entités en sortie) contiendront toujours des points, sauf si les valeurs du paramètre Input Features To Match (Entités en entrée à apparier) et les valeurs du paramètre Candidate Features (Entités candidates) sont des polygones ou des polylignes. La création de valeurs pour le paramètre Output Features (Entités en sortie) de type polygone ou polyligne risque de ralentir les performances pour les jeux de données volumineux. Sélectionnez Collapse Output To Points (Réduire la sortie en points) pour forcer les géométries ponctuelles et optimiser les performances.

  • Avec le paramètre Most Or Least Similar (Les plus ou les moins similaires), vous pouvez rechercher les entités qui sont les plus similaires (option Most similar) ou les moins similaires (option Least similar) aux valeurs Input Features To Match (Entités en entrée à apparier). Dans certains cas, vous pouvez avoir besoin de consulter tous les cas de figure. Si vous saisissez 3 pour le paramètre Number of Results (Nombre de résultats) et choisissez Both (Les deux) pour le paramètre Most Or Least Similar (Les plus ou les moins similaires), par exemple, l’outil renvoie les trois entités candidates les plus similaires et les trois entités candidates les moins similaires.

  • Les solutions données dans le paramètre Output Features (Entités en sortie) sont soit la solution la plus similaire soit la moins similaire au paramètre Input Features To Match (Entités en entrée à apparier) cibles. Une seule solution ne peut pas être les deux à la fois (et les solutions ne sont pas dupliquées dans le paramètre Output Features (Entités en sortie)). En conséquence, lorsque vous sélectionnez Both (Les deux) pour le paramètre Most Or Least Similar (Les plus ou les moins similaires), le nombre maximal de résultats possibles (Number of Results (Nombre de résultats)) correspond à la moitié du nombre de valeurs du paramètre Candidate Features (Entités candidates). Lorsque vous saisissez une valeur pour Number of Results (Nombre de résultats) qui est trop élevée, l’outil l’ajuste sur la valeur maximale possible.

  • Pour explorer le modèle spatial de similarité, vous pouvez être amené à classer la similarité de toutes les valeurs Candidate Features (Entités candidates). Pour cela, saisissez 0 pour le paramètre Number of Results (Nombre de résultats). L’outil identifiera le nombre d’entités valides dans le jeu de données des entités candidates et les inscrit toutes dans le paramètre Output Features (Entités en sortie) en les classant des plus similaires aux moins similaires.

  • Les options du paramètre Match Method (Méthode d’appariement) sont Attribute values (Valeurs attributaires), Ranked attribute values (Valeurs attributaires classées) et Attribute profiles (Profils attributaires).

    • Attribute values (Valeurs attributaires) : les candidats les plus similaires auront la plus petite somme des différences au carré pour toutes les valeurs Attributes of Interest (Attributs d’intérêt). Toutes les valeurs sont normalisées avant le calcul des différences.
    • Ranked attribute values (Valeurs attributaires classées) : les candidats les plus similaires auront la plus petite somme des classements au carré pour toutes les valeurs Attributes of Interest (Attributs d’intérêt). Le paramètre Output Features (Entités en sortie) rend compte de ces sommes dans le champ SIMINDEX (somme des différences de classement au carré).
    • Attribute profiles (Profils attributaires) : la similarité cosinusoïdale est mesurée. La similarité cosinusoïdale étudie les relations identiques parmi les valeurs attributaires normalisées au lieu de se préoccuper de l’appariement des amplitudes des attributs. Par exemple, il existe quatre valeurs Attributes of Interest (Attributs d’intérêt) appelées A1, A2, A3 et A4. A2 est deux fois plus grand qu’A1, A3 est presque identique à A2. Quant à A4, il est trois fois plus grand qu’A3. Pour la méthode Attribute profiles (Profils attributaires), l’outil va examiner les candidats présentant les mêmes relations attributaires : deux fois plus grand, puis presque égal, enfin trois fois plus grand. Comme cette méthode étudie les relations attributaires, vous devez spécifier un minimum de deux valeurs Attributes of Interest (Attributs d’intérêt). Vous pouvez utiliser la méthode de similarité cosinusoïdale (Attribute profiles (Profils attributaires)) pour rechercher des lieux, tels que Los Angeles mais à une échelle globale moindre. L'index de similarité cosinusoïdale s'étend de 1,0 (similarité parfaite) à -1,0 (dissemblance parfaite). L’index de similarité cosinusoïdale est indiqué dans le champ SIMINDEX (similarité cosinusoïdale) du paramètre Output Features (Entités en sortie).

  • Les valeurs du paramètre Attributes of Interest (Attributs d’intérêt) doivent être numériques et être présentes (même nom de champ et même type de champ) à la fois dans les jeux de données Input Features To Match (Entités en entrée à apparier) et Candidate Features (Entités candidates). Pour le paramètre Attributs d'intérêt, l'outil répertorie tous les champs numériques trouvés dans le jeu de données Entités en entrée à apparier. Si l’outil ne trouve aucun champ correspondant pour Candidate Features (Entités candidates), un avertissement indique que les attributs manquants ont été ignorés dans l’analyse. Si toutes les valeurs Attributes of Interest (Attributs d’intérêt) sont ignorées, aucun appariement n’a lieu et un message d’erreur indiquant que l’outil ne peut pas réaliser l’analyse apparaît.

  • Tous les attributs utilisés pour l’appariement sont inscrits dans le paramètre Output Features (Entités en sortie). Le paramètre Fields To Append To Output (Champs à ajouter à la sortie) vous permet d’inclure d’autres champs dans la table en sortie. Comme les champs numériques Attributes of Interest (Attributs d’intérêt) ne sont pas des identifiants efficaces, vous pouvez ajouter un nom ou un autre champ d’identification pour chaque solution. Si vous devez choisir entre plusieurs solutions, vous pouvez également ajouter d’autres attributs non numériques. Si la solution que vous recherchez doit être un type d’utilisation du sol parmi plusieurs, l’ajout d’un attribut d’utilisation du sol catégoriel vous aidera, par exemple, à identifier les solutions qui répondent à ce critère. Vous pouvez également inclure des attributs numériques supplémentaires dans la table en sortie afin de les utiliser en référence uniquement. Imaginons, par exemple, que vous recherchiez un habitat propice à une espèce animale en particulier. Vous pouvez utiliser les endroits connus comme étant appréciés de l’espèce pour le jeu de données du paramètre Input Features To Match (Entités en entrée à apparier). Vous pouvez sélectionner les valeurs Attributes of Interest (Attributs d’intérêt) qui ont trait au bien-être de l’espèce. Vous pouvez en outre ajouter un attribut de superficie numérique dans les valeurs du paramètre Output Features (Entités en sortie), non pas parce que vous souhaitez réaliser l’appariement en fonction de la superficie de la cible, mais parce que votre finalité est de rechercher des solutions avec la plus grande superficie possible.

  • Toutes les valeurs du paramètre Input Features To Match (Entités en entrée à apparier) et les solutions sont inscrites dans le paramètre Output Features (Entités en sortie) avec les paramètres Attributes of Interest (Attributs d’intérêt) et Fields To Append To Output (Champs à ajouter à la sortie). De plus, les champs suivants sont inclus dans les entités en sortie :

    Nom de champAlias du champDescriptionRemarques

    MATCH_ID

    MATCH_ID

    Toutes les entités cibles de la couche Input Features To Match (Entités en entrée à apparier) sont répertoriées en premier avec leur identifiant OID ou FID inscrit dans le champ MATCH_ID. Les solutions ont des valeurs NULL pour ce champ.

    Lorsque la valeur Output Features (Entités en sortie) est un shapefile, les valeurs NULL sont représentées par un nombre négatif très important (par exemple, -21474836).

    CAND_ID

    CAND_ID

    Toutes les solutions sont ensuite répertoriées et cette valeur est leur identifiant OID ou FID. Les entités cibles dans la couche Entités en entrée à apparier ont des valeurs NULL pour ce champ.

    Lorsque la valeur Output Features (Entités en sortie) est un shapefile, les valeurs NULL sont représentées par un nombre négatif très important (par exemple, -21474836).

    SIMRANK

    Classement de similarité

    Lorsque vous sélectionnez Most Similar (Le plus similaire) ou Both (Les deux) pour le paramètre Match Method (Méthode d’appariement), toutes les solutions sont classées des plus similaires aux moins similaires. La valeur de classement de la solution la plus similaire est de 1.

    Ce champ est inclus uniquement dans les valeurs Output Features (Entités en sortie) lorsque vous choisissez Most Similar (Le plus similaire) ou Both (Les deux) pour le paramètre Match Method (Méthode d’appariement).

    DSIMRANK

    Classement de dissemblance

    Lorsque vous sélectionnez Least Similar (Le moins similaire) ou Both (Les deux) pour le paramètre Match Method (Méthode d’appariement), toutes les solutions sont classées des plus similaires aux moins similaires. La valeur de classement de la solution la moins similaire est de 1.

    Ce champ est inclus uniquement dans les valeurs Output Features (Entités en sortie) lorsque vous choisissez Least Similar (Le moins similaire) ou Both (Les deux) pour le paramètre Match Method (Méthode d’appariement).

    SIMINDEX

    Somme des différences de valeurs au carré, Somme des différences de classement au carré ou Similarité cosinusoïdale

    Ce champ quantifie la similarité de chaque solution par rapport à l'entité cible.

    • Lorsque vous spécifiez Attribute values (Valeurs attributaires) pour le paramètre Match Method (Méthode d’appariement), l’alias de champ est Sum of Squared Value Differences.
    • Lorsque vous spécifiez Ranked attribute values (Valeurs attributaires classées) pour le paramètre Match Method (Méthode d’appariement), l’alias de champ est Sum of Squared Rank Differences.
    • Lorsque vous spécifiez Attribute profiles (Profils attributaires) pour le paramètre Match Method (Méthode d’appariement), l’alias de champ est Cosine Similarity.
    Pour en savoir plus sur le calcul de ces index, reportez-vous à la rubrique Fonctionnement de Recherche de similarités.

    Si une seule valeur figure dans le paramètre Input Features To Match (Entités en entrée à apparier) est présente, l’entité cible est cette entité. Si plusieurs valeurs sont spécifiées pour le paramètre Input Features To Match (Entités en entrée à apparier), l’entité cible est l’entité temporaire créée avec les valeurs moyennes de toutes les valeurs Attributes of Interest (Attributs d’intérêt).

    LABELRANK

    Classement de rendu

    Ce champ est fourni uniquement à des fins d'affichage. L'outil utilise ce champ pour fournir le rendu par défaut des résultats d'analyse.

  • La couche Output Features (Entités en sortie) est ajoutée automatiquement à la table des matières et le rendu par défaut est appliqué au champ LABELRANK. Le rendu appliqué est défini par un fichier de couche dans <ArcGIS Pro>\Resources\ArcToolBox\Templates\Layers. Vous pouvez appliquer à nouveau le rendu défaut, si nécessaire, à l’aide de l’outil Appliquer la symbologie d’une couche.

    Remarque :

    La taille de l'échantillon par défaut est de 10 000 enregistrements. Lorsque la valeur Number Of Results (Nombre de résultats) est supérieure à cette valeur par défaut, vous devez augmenter la taille de l’échantillon pour présenter tous les résultats. Pour augmenter la taille de l’échantillon, ouvrez la fenêtre Symbology (Symbologie) et cliquez sur l’onglet Advanced symbology options (Options de symbologie avancées) Options de symbologie avancées. Développez l’option Sample size (Taille de l’échantillon) et modifiez la valeur Maximum sample size (Taille maximale de l’échantillon).

Syntaxe

arcpy.stats.SimilaritySearch(Input_Features_To_Match, Candidate_Features, Output_Features, Collapse_Output_To_Points, Most_Or_Least_Similar, Match_Method, Number_Of_Results, Attributes_Of_Interest, {Fields_To_Append_To_Output})
ParamètreExplicationType de données
Input_Features_To_Match

La couche, ou une sélection sur une couche, contenant les entités que vous voulez apparier. Vous recherchez d’autres entités ressemblant à ces entités. Lorsque plusieurs entités sont fournies, l'appariement repose sur la moyenne des attributs.

Astuce :

Lorsque les valeurs du paramètre Input Features To Match (Entités en entrée à apparier) et du paramètre Candidate Features (Entités candidates) proviennent d’une seule couche de jeux de données, procédez comme suit :

  • Copiez et collez la couche dans la fenêtre Contents (Contenu) pour créer un double de la couche.
  • Renommez la couche dupliquée.
  • Sur la couche renommée, effectuez une sélection ou définissez un ensemble de définition pour les entités de référence que vous souhaitez apparier. Utilisez la nouvelle couche créée pour le paramètre Entités en entrée à apparier.
  • Appliquez une sélection ou définissez un ensemble de définition sur la couche d’origine afin d’exclure les entités de référence. Vous obtenez alors la couche à utiliser pour le paramètre Candidate Features (Entités candidates).

Feature Layer
Candidate_Features

La couche, ou une sélection sur une couche, contenant les entités correspondant aux entités candidates. L’outil examine les entités les plus similaires (ou les plus dissemblables) aux valeurs Input_Features_To_Match parmi ces candidates.

Feature Layer
Output_Features

Classe d’entités en sortie contenant un enregistrement pour chacune des valeurs Input_Features_To_Match pour toutes les solutions trouvées.

Feature Class
Collapse_Output_To_Points

Spécifie si la géométrie du paramètre Output_Features sera réduite aux points ou correspondra à la géométrie d’origine (lignes ou polygones) des entités en entrée si les valeurs des paramètres Input_Features_To_Match et Candidate_Features sont toutes des lignes ou des polygones. Ce paramètre n’est disponible que pour les licences Desktop Advanced. Vous pouvez optimiser les performances de l’outil pour les jeux de données lignes ou polygones volumineux en choisissant COLLAPSE.

  • COLLAPSELes entités linéaires et surfaciques sont représentées sous forme de centroïdes d'entité (points).
  • NO_COLLAPSELa géométrie en sortie correspond à la géométrie de type ligne ou polygone des entités en entrée. Il s’agit de l’option par défaut.
Boolean
Most_Or_Least_Similar

Indique si les entités les plus similaires ou les moins similaires aux valeurs Input_Features_To_Match seront identifiées.

  • MOST_SIMILARLes entités les plus similaires seront identifiées. Il s’agit de l’option par défaut.
  • LEAST_SIMILARLes entités les moins similaires seront identifiées.
  • BOTHLes entités les plus similaires et les entités les moins similaires seront identifiées.
String
Match_Method

Indique si les appariements doivent reposer sur des valeurs, des classement ou des relations cosinusoïdales.

  • ATTRIBUTE_VALUESL’appariement reposera sur la somme des différences des valeurs attributaires standardisées au carré de toutes les valeurs Attributes Of Interest (Attributs d’intérêt). Il s’agit de l’option par défaut.
  • RANKED_ATTRIBUTE_VALUESL’appariement reposera sur la somme des différences de classement au carré de toutes les valeurs Attributes Of Interest (Attributs d’intérêt).
  • ATTRIBUTE_PROFILESL’appariement sera calculé comme une fonction de la similarité cosinusoïdale de toutes les valeurs Attributes Of Interest (Attributs d’intérêt).
String
Number_Of_Results

Le nombre de solutions à rechercher. Pour classer toutes les entités candidates, saisissez zéro ou un nombre supérieur au nombre total de Candidate_Features. La valeur par défaut est 10.

Long
Attributes_Of_Interest
[Attributes_Of_Interest,...]

Attributs numériques représentant les critères d’appariement.

Field
Fields_To_Append_To_Output
[Fields_To_Append_To_Output,...]
(Facultatif)

Champs à inclure avec le paramètre Output_Features. Ces champs ne sont pas utilisés pour déterminer la similarité. Ils sont inclus uniquement dans le paramètre Output_Features à titre de référence.

Field

Exemple de code

Exemple 1 d'utilisation de l'outil SimilaritySearch (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction 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")
Exemple 2 d’utilisation de l’outil SimilaritySearch (script autonome)

Le script Python autonome ci-dessous illustre l'utilisation de la fonction SimilaritySearch.

# Similarity Search of crime data in a metropolitan area
# Import system modules
import arcpy
import os
import arcpy.stats as SS
# Set property to overwrite existing output
arcpy.env.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())

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes