Comparando dois padrões de pontos espaciais?

41

Se eu tiver duas distribuições de padrões de pontos na mesma região geográfica, como compararei visual e quantitativamente essas duas distribuições?

Suponha também que eu tenha muitos pontos em uma região menor, portanto, simplesmente exibir um mapa de pinos não é informativo.

Andy W
fonte

Respostas:

32

Como sempre, isso depende dos seus objetivos e da natureza dos dados. Para dados completamente mapeados , uma ferramenta poderosa é a função L de Ripley, um parente próximo da função K de Ripley . Muitos softwares podem calcular isso. O ArcGIS pode fazê-lo agora; Eu não verifiquei. CrimeStat faz isso. Então faça GeoDa e R . Um exemplo de seu uso, com mapas associados, aparece em

Sinton, DS e W. Huber. Mapeamento da polca e sua herança étnica nos Estados Unidos. Jornal de Geografia, vol. 106: 41-47. 2007

Aqui está uma captura de tela do CrimeStat da versão "L function" do K de Ripley:

Captura de tela da função K de Ripley

A curva azul documenta uma distribuição de pontos muito aleatória, porque ela não fica entre as faixas vermelha e verde ao redor de zero, onde é o local do traço azul da função L de uma distribuição aleatória.

Para dados amostrados, muito depende da natureza da amostragem. Um bom recurso para isso, acessível àqueles com formação limitada (mas não totalmente ausente) em matemática e estatísticas, é o livro de Steven Thompson sobre Sampling .

É geralmente o caso em que a maioria das comparações estatísticas pode ser ilustrada graficamente e todas as comparações gráficas correspondem ou sugerem uma contrapartida estatística. Portanto, todas as idéias que você obtiver da literatura estatística provavelmente sugerirão maneiras úteis de mapear ou comparar graficamente os dois conjuntos de dados.

whuber
fonte
Obrigado pelo artigo de Dixon, parece ser um excelente recurso. Eu nunca havia encontrado a distinção entre interação espacial e rotulagem aleatória para padrões multivariados. Vou precisar ler.
Andy W
+1 Bons recursos. Então, o velho truísmo de pesca de que "90% dos peixes estão em 10% do lago" realmente depende do método de amostragem?
Kirk Kuykendall
@ Kirk Para muitos de nós, 0% dos peixes estão nos 10% do lago que realmente conseguimos alcançar!
whuber
14

Nota: o seguinte foi editado após o comentário do whuber

Você pode querer adotar uma abordagem de Monte Carlo. Aqui está um exemplo simples. Suponha que você queira determinar se a distribuição dos eventos criminais A é estatisticamente semelhante à de B, você pode comparar a estatística entre os eventos A e B com uma distribuição empírica dessa medida para 'marcadores' atribuídos aleatoriamente.

Por exemplo, dada uma distribuição de A (branco) e B (azul),

insira a descrição da imagem aqui

você reatribui aleatoriamente os rótulos A e B para TODOS os pontos no conjunto de dados combinado. Este é um exemplo de uma única simulação:

insira a descrição da imagem aqui

Você repete isso várias vezes (digamos 999 vezes) e, para cada simulação, calcula uma estatística (estatística média do vizinho mais próximo neste exemplo) usando os pontos aleatoriamente rotulados. Trechos de código a seguir estão em R (requer o uso da biblioteca 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)
}

Você pode comparar os resultados graficamente (a linha vertical vermelha é a estatística original),

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

insira a descrição da imagem aqui

ou numericamente.

# 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)) 

Observe que a estatística média do vizinho mais próximo pode não ser a melhor medida estatística para o seu problema. Estatísticas como a função K podem ser mais reveladoras (consulte a resposta da whuber).

O acima pode ser facilmente implementado no ArcGIS usando o Modelbuilder. Em um loop, reatribuindo aleatoriamente os valores dos atributos para cada ponto e calculando uma estatística espacial. Você deve poder contabilizar os resultados em uma tabela.

MannyG
fonte
2
Você pode considerar um teste de permutação em vez da abordagem de densidade do kernel, Manny. A hipótese nula é que os rótulos azul e branco são independentes dos pontos. Para testar isso, adote uma estatística apropriada para a vizinhança (como a distância média mais próxima entre pontos azuis e brancos, viajando pelas ruas). Reatribua aleatoriamente as cores para todos os pontos, mantendo as mesmas quantidades de azul e branco e recalcule a estatística. Repita várias vezes para estimar a distribuição nula da estatística. Consulte o valor real da estatística para esta distribuição para obter um valor p.
whuber
Obrigado whuber. Nunca me ocorreu ver isso como um problema pontual. Atualizei minha resposta para refletir essa abordagem. No entanto, não está claro para mim por que minha abordagem original (ou seja, usar uma grade de densidade do kernel para gerar pontos aleatórios) resultou em um resultado diferente. De fato, (minha solução original) não refletia fielmente o fato de que A e B vinham de um processo semelhante. Isso ocorre porque a abordagem de densidade do kernel não tira proveito dos detalhes fornecidos a nós pelos dados do ponto?
precisa saber é
1
A densidade do kernel possui um pequeno elemento de arbitrariedade (associado à escolha da meia largura). Isso pode fazer a diferença. Também está um pouco afastado do que realmente está acontecendo: há um processo subjacente que produz pontos; você vê uma realização desse processo; você faz um KDE disso ; então você extrai novas realizações desse KDE. Na verdade, você está apenas reproduzindo novas configurações, como a única configuração que você observa. Na abordagem da permutação, a hipótese nula de que ambas as distribuições são iguais justifica permutar as marcações: isso é direto e poderoso.
whuber
1
Obrigado pela contribuição, darei um comentário mais completo quando tiver mais tempo. Seria bom anotar esse código R (você mencionou que é código R na resposta?) E utiliza funções no spatstatpacote.
21812 Andy W
2
+1, uma das coisas boas sobre a utilização de testes de permutação como este é 1) quando restrito à especificidade do geocoder (intervalos de endereços ou endereços para dados criminais na maioria das circunstâncias) avaliar padrões de pontos em comparação com a aleatoriedade espacial completa não é muito bom. muito sentido. 2) Esses testes de permutação evitam problemas com efeitos de borda. É claro que essas são generalizações excessivas, mas acho que essa estrutura pode ser generalizada para avaliar muitos tipos diferentes de estatísticas de padrões de pontos.
Andy W
4

Você pode conferir o CrimeStat.

De acordo com o site:

CrimeStat é um programa de estatísticas espaciais para a análise de locais de incidentes criminais, desenvolvido pela Ned Levine & Associates, financiado por doações do Instituto Nacional de Justiça (doações 1997-IJ-CX-0040, 1999-IJ-CX-0044, 2002-IJ-CX-0007 e 2005-IJ-CX-K037). O programa é baseado no Windows e faz interface com a maioria dos programas GIS para desktop. O objetivo é fornecer ferramentas estatísticas suplementares para auxiliar as agências policiais e pesquisadores da justiça criminal em seus esforços de mapeamento do crime. O CrimeStat está sendo usado por muitos departamentos policiais ao redor do mundo, bem como por justiça criminal e outros pesquisadores. A versão mais recente é 3.3 (CrimeStat III).

RK
fonte
2

Uma abordagem simples e rápida poderia ser criar mapas de calor e um mapa de diferença desses dois mapas de calor. Relacionado: Como criar mapas de calor eficazes?

underdark
fonte
3
Infelizmente, diferenciar dois mapas interpolados ou suavizados tende a dizer muito mais sobre o método de interpolação ou suavização do que sobre os dados :-(. Se você precisar interpolar, tome cuidado para fazê-lo bem (por exemplo, krige após executar EDA e variografia) e basta interpolar um dos conjuntos de dados. Você pode comparar dados reais em um conjunto com os valores interpolados do outro, eliminando metade do erro de comparar dois mapas interpolados. Observe que a interpolação não é válida para muitos tipos de dados e a suavização é inadequada para outros tipos de dados
whuber
Concordo que este método não é adequado para muitos tipos de dados de entrada. Eu acho que pode dar uma boa primeira impressão ao analisar padrões de densidade de pontos.
underdark
Não tenho dúvidas de que você está correto quando a interpolação é realizada por um especialista e interpretada criteriosamente.
whuber
2

Supondo que você tenha revisado a literatura sobre autocorrelação espacial. O ArcGIS possui várias ferramentas de apontar e clicar para fazer isso por meio dos scripts da Caixa de ferramentas: Ferramentas de estatística espacial -> Analisando padrões .

Você pode trabalhar de trás para frente - encontre uma ferramenta e revise o algoritmo implementado para verificar se ele se adapta ao seu cenário. Eu usei o Índice de Moran algum tempo atrás, enquanto investigava a relação espacial na ocorrência de minerais do solo.

Erick
fonte
2

Você pode executar uma análise de correlação bivariada em muitos softwares estatísticos para determinar o nível de correlação estatística entre as duas variáveis ​​e o nível de significância. Em seguida, você pode fazer backup de suas descobertas estatísticas mapeando uma variável usando um esquema de cloroplasto e a outra variável usando símbolos graduados. Uma vez sobreposto, é possível determinar quais áreas exibem relações espaciais alta / alta, alta / baixa e baixa / baixa. Esta apresentação tem alguns bons exemplos.

Você também pode experimentar alguns softwares exclusivos de geovisualização. Eu realmente gosto do CommonGIS para esse tipo de visualização. Você pode selecionar um bairro (seu exemplo) e todas as estatísticas e parcelas úteis estarão disponíveis para você imediatamente. Faz análise de mapas multi-variável bastante fácil.

Michael Markieta
fonte
2
Essas são boas idéias, mas noto que os exemplos aos quais você se refere são bem-sucedidos porque os atributos correspondem a conjuntos comuns de recursos. Na presente pergunta, os recursos têm locais diferentes e esses locais são variáveis ​​aleatórias (não unidades administrativas fixas, por exemplo). Essas são complicações importantes, porque agora precisamos encontrar algum procedimento significativo para relacionar valores em um local àqueles em outros locais e precisamos lidar com o caráter aleatório dos próprios locais.
whuber
Obrigado por esse esclarecimento! I mis-ler a OP e assumido que era para duas variáveis independentes que tinham um local de extensão / geográfica (como com DA / CT etc)
Michael Markieta
1

Uma análise quadrática seria ótima para isso. É uma abordagem GIS capaz de destacar e comparar os padrões espaciais de diferentes camadas de dados pontuais.

Um resumo de uma análise quadrática que quantifica as relações espaciais entre várias camadas de dados de pontos pode ser encontrado em http://www.nccu.edu/academics/sc/artsandsciences/geospatialscience/_documents/se_daag_poster.pdf .


fonte
1
(1) O link é um 404 (é por isso que pedimos respostas para incluir resumos de todos os links). (2) Com que precisão uma análise quadrática compara duas distribuições de pontos ?
whuber
(1) O link pode funcionar agora. (2) Uma análise quadrática divide uma determinada área em unidades de tamanho igual, dimensionadas adequadamente. Em seguida, ele usa a análise de probabilidade para determinar a frequência real de pontos dentro de cada quadrat versus um valor esperado para cada frequência. Usando o comando de densidade de pontos e as estatísticas zonais como ferramentas de tabela na extensão de analista espacial do ArcMap, podemos destacar áreas próximas a locais de pontos de alta densidade, além de resumir essas classes de recursos de pontos para análise de regressão.
Você descreveu um procedimento para análise univariada de distribuições de pontos. Poderia ser adaptado (avaliando as correlações quadráticas) para comparar o grau de coocorrência dos dois processos, mas sofre de duas limitações significativas. Primeiro, não estuda as relações entre os processos em função da distância; segundo, ao dividir os pontos em quadrantes, ele perde poder. Uma perda de energia significa que você pode falhar na identificação de padrões importantes ou isso implica que você precisa coletar mais dados para alcançar os objetivos da investigação.
whuber
Eu usei esse "procedimento" para análise multivariada de distribuições de pontos. Embora implique uma perda de potência, também fornece uma maneira de comparar visualmente e quantitativamente duas distribuições de padrões de pontos em níveis únicos de agregação (uma solução para a pergunta original aqui).
Espero que o que você lê em nosso site o inspire a considerar abordagens alternativas no futuro: elas expandirão sua capacidade de aproveitar ao máximo seus dados e recursos limitados de pesquisa.
whuber