Comparer deux modèles de points spatiaux?

41

Si j'ai deux distributions de motifs ponctuels dans la même région géographique, comment pourrais-je comparer visuellement et quantitativement ces deux distributions?

Supposons également que je possède de nombreux points dans une région plus petite. Il ne suffit donc pas d'afficher une carte d'épingles.

Andy W
la source

Réponses:

32

Comme toujours, cela dépend de vos objectifs et de la nature des données. Pour les données entièrement mappées , un outil puissant est la fonction L de Ripley, un proche parent de la fonction K de Ripley . Beaucoup de logiciels peuvent calculer cela. ArcGIS pourrait le faire maintenant; Je n'ai pas vérifié. CrimeStat le fait. Donc , faire GeoDa et R . Un exemple de son utilisation, avec les cartes associées, apparaît dans

Sinton, DS et W. Huber. Cartographie de la polka et de son héritage ethnique aux États-Unis. Journal of Geography Vol. 106: 41-47. 2007

Voici une capture d'écran CrimeStat de la version "L" de Ripley's K:

Capture d'écran de la fonction K de Ripley

La courbe bleue documente une distribution de points très non aléatoire, car elle ne se situe pas entre les bandes rouge et verte entourant le zéro, position où devrait se trouver la trace bleue de la fonction L d'une distribution aléatoire.

Pour les données échantillonnées, beaucoup dépend de la nature de l'échantillonnage. Le manuel sur l' échantillonnage de Steven Thompson est une bonne ressource pour cela, accessible aux personnes ayant une formation limitée en mathématiques et en statistiques (mais pas totalement absente) .

En règle générale, la plupart des comparaisons statistiques peuvent être illustrées graphiquement et toutes les comparaisons graphiques correspondent ou suggèrent une contrepartie statistique. Par conséquent, toute idée tirée de la littérature statistique suggérera probablement des moyens utiles de mapper ou de comparer graphiquement les deux ensembles de données.

whuber
la source
Merci pour le papier Dixon, il semble être une excellente ressource. Je n'avais jamais découvert la distinction entre interaction spatiale et étiquetage aléatoire pour les modèles à variables multiples. Je vais avoir besoin de lire.
Andy W
+1 Bonnes ressources. Ainsi, le vieil adage de pêche selon lequel "90% des poissons sont dans 10% du lac" dépend vraiment de la méthode d'échantillonnage?
Kirk Kuykendall
@Kirk Pour beaucoup d'entre nous, 0% des poissons se trouvent dans les 10% du lac que nous parvenons à atteindre!
whuber
14

Remarque: ce qui suit a été modifié à la suite du commentaire de whuber.

Vous voudrez peut-être adopter une approche de Monte Carlo. Voici un exemple simple. Supposons que vous souhaitiez déterminer si la distribution des événements criminels A est statistiquement similaire à celle de B, vous pouvez comparer la statistique entre les événements A et B à une distribution empirique de cette mesure pour des «marqueurs» réaffectés de manière aléatoire.

Par exemple, étant donné une distribution de A (blanc) et B (bleu),

entrez la description de l'image ici

vous réaffectez de manière aléatoire les étiquettes A et B à TOUS les points de l'ensemble de données combiné. Voici un exemple de simulation unique:

entrez la description de l'image ici

Vous le répétez plusieurs fois (soit 999 fois) et, pour chaque simulation, vous calculez une statistique (statistique moyenne du voisin le plus proche dans cet exemple) à l'aide des points étiquetés de manière aléatoire. Les extraits de code qui suivent sont en R (nécessite l'utilisation de la bibliothèque spatstat ).

nn.sim = vector()
P.r = P
for(i in 1:999){
  marks(P.r) = sample(P$marks)  # Reassign labels at random, point locations don't change
  nn.sim[i] = mean(nncross(split(P.r)$A,split(P.r)$B)$dist)
}

Vous pouvez ensuite comparer les résultats graphiquement (la ligne verticale rouge correspond à la statistique d'origine),

hist(nn.sim,breaks=30)
abline(v=mean(nncross(split(P)$A,split(P)$B)$dist),col="red")

entrez la description de l'image ici

ou numériquement.

# Compute empirical cumulative distribution
nn.sim.ecdf = ecdf(nn.sim)

# See how the original stat compares to the simulated distribution
nn.sim.ecdf(mean(nncross(split(P)$A,split(P)$B)$dist)) 

Notez que la statistique moyenne du plus proche voisin n'est peut-être pas la meilleure mesure statistique pour votre problème. Des statistiques telles que la fonction K pourraient être plus révélatrices (voir la réponse de Whuber).

Ce qui précède pourrait être facilement implémenté dans ArcGIS à l'aide de Modelbuilder. Dans une boucle, réaffectez de manière aléatoire des valeurs d'attribut à chaque point, puis calculez une statistique spatiale. Vous devriez pouvoir compiler les résultats dans un tableau.

MannyG
la source
2
Vous voudrez peut-être envisager un test de permutation au lieu de l'approche de la densité du noyau, Manny. L'hypothèse nulle est que les étiquettes bleues et blanches sont indépendantes des points. Pour tester cela, adoptez une statistique appropriée pour le quartier (telle que la distance moyenne la plus proche entre les points bleus et blancs, parcourant les rues). Réaffectez de manière aléatoire les couleurs à tous les points, en conservant les mêmes quantités de bleu et de blanc, et recalculez la statistique. Répétez plusieurs fois pour estimer la distribution nulle de la statistique. Reportez la valeur réelle de la statistique à cette distribution pour obtenir une valeur p.
whuber
Merci beaucoup. Il ne m'est jamais venu à l'idée de considérer cela comme un problème important. J'ai mis à jour ma réponse pour refléter cette approche. Cependant, je ne comprends pas pourquoi mon approche originale (utiliser une grille de densité du noyau pour générer des points aléatoires) a eu un résultat différent. En fait, cela (ma solution initiale) ne reflétait pas fidèlement le fait que A et B étaient tous deux issus d'un processus similaire. Est-ce parce que l'approche de la densité de noyau ne tire pas parti des détails fournis par les données ponctuelles?
MannyG
1
La densité de noyau a un petit élément d’arbitraire (associé au choix de la demi-largeur). Cela peut faire une différence. C'est aussi un peu éloigné de ce qui se passe réellement: il y a un processus sous-jacent qui produit des points; vous voyez une réalisation de ce processus; vous faites un KDE il ; alors vous dessinez de nouvelles réalisations à partir de ce KDE. En fait, vous ne faites que reproduire de nouvelles configurations, à l'image de la configuration unique que vous observez. Dans l'approche par permutation, l'hypothèse nulle selon laquelle les deux distributions sont identiques justifie de permuter les marquages: c'est direct et puissant.
whuber
1
Merci pour la contribution, je vais faire un commentaire plus complet quand j'ai plus de temps. Il serait bon de noter ce code R (avez-vous même mentionné qu'il s'agit d'un code R dans la réponse?) Et qu'il utilise des fonctions dans le spatstatpackage.
Andy W
2
+1, l'un des avantages de l'utilisation de tests de permutation comme celui-ci est 1) lorsque contraint à la spécificité du géocodeur (adresse ou plages d'adresses pour les données sur la criminalité dans la plupart des circonstances) beaucoup de sens. 2) Ces tests de permutation évitent les problèmes d’effets de bord. Bien sûr, ce sont des généralisations excessives, mais je pense qu'un tel cadre peut être généralisé à l'évaluation de nombreux types différents de statistiques de modèles de points.
Andy W
4

Vous voudrez peut-être consulter CrimeStat.

Selon le site:

CrimeStat est un programme de statistiques spatiales pour l’analyse des lieux de crimes, développé par Ned Levine & Associates et financé par des subventions de l’Institut national de la justice (subventions 1997-IJ-CX-0040, 1999-IJ-CX-0044, 2002-IJ-CX-0007 et 2005-IJ-CX-K037). Le programme est basé sur Windows et s'interface avec la plupart des programmes SIG de bureau. L’objectif est de fournir des outils statistiques supplémentaires pour aider les services de détection et de répression et les chercheurs en justice pénale dans leurs efforts de cartographie de la criminalité. CrimeStat est utilisé par de nombreux services de police à travers le monde, ainsi que par la justice pénale et d'autres chercheurs. La dernière version est la 3.3 (CrimeStat III).

RK
la source
2

Une approche simple et rapide pourrait consister à créer des cartes thermiques et une carte de différence de ces deux cartes thermiques. Connexes: Comment construire des cartes thermiques efficaces?

sous-bois
la source
3
Malheureusement, la différenciation de deux cartes interpolées ou lissées a tendance à vous en dire beaucoup plus sur la méthode d’interpolation ou de lissage que sur les données: juste interpoler l' un des ensembles de données. Vous pouvez comparer les données réelles dans un ensemble aux valeurs interpolées de l'autre, éliminant ainsi la moitié de l'erreur de comparer deux cartes interpolées. Notez que l' interpolation n'est pas valable pour de nombreux types de données et le lissage est inapproprié pour autres types de données.
whuber
Je conviens que cette méthode ne convient pas à de nombreux types de données d'entrée. Je pense que cela peut donner une bonne première impression lors de l’analyse de modèles de densité de points.
underdark
Je ne doute pas que vous ayez raison lorsque l'interpolation est effectuée par un expert et interprétée judicieusement.
whuber
2

Supposons que vous ayez examiné la littérature sur l'auto-corrélation spatiale. ArcGIS dispose de plusieurs outils pour le faire par le biais de scripts Toolbox: Outils de statistiques spatiales -> Analyse de modèles .

Vous pouvez travailler en arrière - Recherchez un outil et passez en revue l'algorithme mis en œuvre pour voir s'il convient à votre scénario. J'ai utilisé Index de Moran il y a quelque temps, alors que j'étudiais la relation spatiale dans l'occurrence de minéraux dans le sol.

Erick
la source
2

Vous pouvez exécuter une analyse de corrélation bivariée dans de nombreux logiciels de statistiques pour déterminer le niveau de corrélation statistique entre les deux variables et le niveau de signification. Vous pouvez ensuite sauvegarder vos résultats statistiques en mappant une variable à l'aide d'un schéma chloroplète et l'autre variable à l'aide de symboles gradués. Une fois superposées, vous pouvez déterminer quelles zones affichent des relations spatiales hautes / hautes, hautes / basses et basses / basses. Cette présentation a de bons exemples.

Vous pouvez également essayer des logiciels de géovisualisation uniques. J'aime beaucoup CommonGIS pour ce type de visualisation. Vous pouvez sélectionner un quartier (votre exemple) et toutes les statistiques et parcelles utiles vous seront immédiatement disponibles. Il facilite l’analyse de cartes multi-variables.

Michael Markieta
la source
2
Ce sont de bonnes idées, mais je remarque que les exemples que vous citez ont du succès, car les attributs correspondent à des ensembles de fonctionnalités communs. Dans la présente question, les entités ont des emplacements différents et ces emplacements sont des variables aléatoires (pas des unités administratives fixes, par exemple). Ce sont des complications importantes, car nous devons maintenant trouver une procédure utile pour relier les valeurs d’un lieu à celles d’autres lieux et nous devons faire face au caractère aléatoire des lieux eux-mêmes.
whuber
Merci pour cette clarification! J'ai mal lu le PO et supposé que c'était pour deux variables indépendantes partageant un emplacement / une étendue géographique (comme avec DA / CT, etc.)
Michael Markieta le
1

Une analyse du quadrat serait idéale pour cela. C'est une approche SIG capable de mettre en évidence et de comparer les modèles spatiaux de différentes couches de données ponctuelles.

Vous trouverez un aperçu d’une analyse du quadrat qui quantifie les relations spatiales entre plusieurs couches de données de points à l’ adresse http://www.nccu.edu/academics/sc/artsandsciences/geospatialscience/_documents/se_daag_poster.pdf .


la source
1
(1) Le lien est un 404 (c'est pourquoi nous demandons aux réponses d'inclure des résumés de tous les liens). (2) Comment une analyse du quadrat comparerait-elle précisément deux distributions de points ?
whuber
(1) Le lien pourrait fonctionner maintenant. (2) Une analyse du quadrat divise une zone donnée en unités égales, de taille appropriée. Il utilise ensuite une analyse de probabilité pour déterminer la fréquence réelle des points dans chaque quadrat par rapport à une valeur attendue pour chaque fréquence. En utilisant la commande de densité de points et les statistiques zonales en tant qu'outils de table dans l'extension d'analyse spatiale d'ArcMap, nous pouvons mettre en évidence les zones situées à proximité des emplacements de points à haute densité, en plus de résumer ces classes d'entités ponctuelles pour l'analyse de régression.
Vous avez décrit une procédure d' analyse univariée de distributions de points. Il pourrait être adapté (en évaluant les corrélations de quadrats) à la comparaison du degré de cooccurrence des deux processus, mais souffre de deux limitations significatives. Premièrement, il n’étudie pas les relations entre les processus en fonction de la distance; deuxièmement, en regroupant les points en quadrats, il perd de la puissance. Une perte de puissance signifie que vous pouvez ne pas identifier les tendances importantes ou vous laisser collecter plus de données pour atteindre les objectifs de l'enquête.
whuber
J'ai utilisé cette "procédure" pour l'analyse multivariée de distributions de points. Bien que cela implique une perte de puissance, il permet également de comparer visuellement et quantitativement les distributions de modèles de points à des niveaux d'agrégation uniques (une solution pour la question initiale ici).
J'espère que ce que vous lisez sur notre site vous incitera à envisager d'autres approches à l'avenir: elles augmenteront votre capacité à exploiter au mieux vos données et vos ressources de recherche limitées.
whuber