Сравнивая две пространственные точки?


41

Если бы у меня было два распределения точечных рисунков в одном и том же географическом регионе, как бы я провел визуальное и количественное сравнение этих двух распределений?

Также предположим, что у меня есть много точек в меньшей области, поэтому просто отображение карты выводов неинформативно.

Ответы:


32

Как всегда, это зависит от ваших целей и характера данных. Для полностью сопоставленных данных мощным инструментом является функция Рипли L, близкий родственник функции Рипли . Много программного обеспечения может вычислить это. ArcGIS может сделать это сейчас; Я не проверял. CrimeStat это делает. Так что GeoDa и R . Пример его использования, со связанными картами, появляется в

Синтон, Д.С. и В.Хубер. Картографирование польки и ее этнического наследия в США. Журнал географии Vol. 106: 41-47. 2007

Вот скриншот CrimeStat версии «L function» Ripley's K:

Снимок экрана: функция К Рипли

Синяя кривая документирует очень неслучайное распределение точек, потому что оно не лежит между красной и зеленой полосами, окружающими ноль, где должен находиться синий след для L-функции случайного распределения.

Для выборочных данных многое зависит от характера выборки. Хорошим ресурсом для этого, доступным для тех, кто имеет ограниченный (но не совсем отсутствующий) фон по математике и статистике, является учебник Стивена Томпсона по сэмплированию .

Как правило, большинство статистических сравнений могут быть проиллюстрированы графически, и все графические сравнения соответствуют или предполагают статистический аналог. Поэтому любые идеи, которые вы получаете из статистической литературы, могут предложить полезные способы сопоставления или графического сравнения двух наборов данных.


Спасибо за статью о Диксоне, она кажется отличным ресурсом. Я никогда не сталкивался с различием между пространственным взаимодействием и случайной маркировкой для разных вариантов. Мне нужно будет прочитать.
Энди Ш

+1 Хорошие ресурсы. Таким образом, старый рыболовный трюизм о том, что «90% рыбы находятся в 10% озера», действительно зависит от метода отбора проб?
Кирк Куйкендалл

@Kirk Для многих из нас, 0% рыбы находятся в 10% озера, которого нам действительно удается достичь!
whuber

14

Примечание: следующее было отредактировано после комментария whuber

Возможно, вы захотите принять подход Монте-Карло. Вот простой пример. Предположим, что вы хотите определить, является ли распределение криминальных событий A статистически сходным с распределением событий B, вы можете сравнить статистику между событиями A и B с эмпирическим распределением такой меры для случайно переназначенных «маркеров».

Например, учитывая распределение A (белый) и B (синий),

введите описание изображения здесь

вы случайным образом переназначаете метки A и B на ВСЕ точки в объединенном наборе данных. Это пример одиночной симуляции:

введите описание изображения здесь

Вы повторяете это много раз (скажем, 999 раз), и для каждого моделирования вы вычисляете статистику (среднюю статистику ближайшего соседа в этом примере), используя случайно помеченные точки. Следующие фрагменты кода находятся в R (требуется использование библиотеки 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)
}

Затем вы можете сравнить результаты графически (красная вертикальная линия - исходная статистика),

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

введите описание изображения здесь

или численно.

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

Обратите внимание, что средняя статистика ближайших соседей может быть не лучшим статистическим показателем для вашей проблемы. Такая статистика, как K-функция, может быть более показательной (см. Ответ Уубера).

Вышесказанное может быть легко реализовано внутри ArcGIS с использованием Modelbuilder. В цикле случайное переназначение значений атрибутов каждой точке затем вычисляет пространственную статистику. Вы должны быть в состоянии подсчитать результаты в таблице.


2
Возможно, вы захотите рассмотреть тест перестановки вместо подхода плотности ядра, Мэнни. Нулевая гипотеза состоит в том, что синие и белые метки не зависят от точек. Чтобы проверить это, примите статистику, подходящую для окрестности (например, среднее расстояние между синими и белыми точками, проходя по улицам). Произвольно переназначить цвета для всех точек, сохраняя одинаковое количество синего и белого, и пересчитать статистику. Повторите много раз, чтобы оценить нулевое распределение статистики. Отнесите фактическое значение статистики к этому распределению, чтобы получить p-значение.
whuber

Спасибо, что. Мне никогда не приходило в голову рассматривать это как отмеченную проблему. Я обновил свой ответ, чтобы отразить этот подход. Однако мне не ясно, почему мой оригинальный подход (то есть использование сетки плотности ядра для генерации случайных точек) привел к другому результату. На самом деле, это (мое первоначальное решение) не совсем верно отражало тот факт, что и A, и B произошли из одинакового процесса. Это потому, что в подходе к плотности ядра не используются детали, предоставленные нам точечными данными?
MannyG

1
Плотность ядра имеет небольшой элемент произвольности (связанный с выбором полуширины). Это может иметь значение. Это также несколько оторвано от того, что действительно происходит: есть основной процесс, производящий очки; вы видите одну реализацию этого процесса; вы делаете KDE из него ; затем вы получаете новые реализации из этого KDE. По сути, вы просто воспроизводите новые конфигурации, очень похожие на одну наблюдаемую вами конфигурацию. При перестановочном подходе нулевая гипотеза о том, что оба распределения одинаковы, оправдывает перестановку разметок: это прямое и мощное решение.
whuber

1
Спасибо за вклад, я дам более полный комментарий, когда у меня будет больше времени. Было бы хорошо отметить этот R-код (вы даже упоминали, что это R-код в ответе?), И он использует функции из spatstatпакета.
Энди У

2
+1, одна из приятных особенностей использования таких тестов перестановки: 1) когда ограничено спецификой геокодера (адреса или диапазоны адресов для данных о преступности в большинстве случаев), оценка точечных паттернов по сравнению с полной пространственной случайностью не делает слишком много смысла. 2) Такие тесты перестановки позволяют избежать проблем с краевыми эффектами. Конечно, это чрезмерные обобщения, но я думаю, что такую ​​структуру можно обобщить для оценки многих различных типов статистики точечных паттернов.
Энди Ш

4

Возможно, вы захотите проверить CrimeStat.

По данным сайта:

CrimeStat - это программа пространственной статистики для анализа мест совершения преступлений, разработанная Ned Levine & Associates, которая финансировалась за счет грантов Национального института юстиции (гранты 1997-IJ-CX-0040, 1999-IJ-CX-0044, 2002-IJ-CX-0007 и 2005-IJ-CX-K037). Программа основана на Windows и взаимодействует с большинством настольных ГИС-программ. Цель состоит в том, чтобы предоставить дополнительные статистические инструменты, чтобы помочь правоохранительным органам и исследователям уголовного правосудия в их усилиях по составлению карт преступности. CrimeStat используется многими полицейскими управлениями по всему миру, а также уголовным правосудием и другими исследователями. Последняя версия 3.3 (CrimeStat III).


2

Простой и быстрый подход может заключаться в создании тепловых карт и разностных карт этих двух тепловых карт. Связанный: Как построить эффективные тепловые карты?


3
К сожалению, различие двух интерполированных или сглаженных карт, как правило, говорит вам гораздо больше о методе интерполяции или сглаживания, чем о данных :-(. Если вам нужно интерполировать, позаботьтесь о том, чтобы сделать это хорошо (например, krige после выполнения EDA и вариографии) и просто интерполируйте один из наборов данных. Вы можете сравнить фактические данные в одном наборе с интерполированными значениями другого, тем самым устраняя половину ошибки сравнения двух интерполированных карт. Обратите внимание, что интерполяция недопустима для многих типов данных, а сглаживание не подходит для другие виды данных.
whuber

Я согласен, что этот метод не подходит для многих видов входных данных. Я думаю, что это может дать хорошее первое впечатление при анализе паттернов плотности точек.
Подземье

Я не сомневаюсь, что вы правы, когда интерполяция выполняется экспертом и интерпретируется разумно.
whuber

2

Предположим, вы просмотрели литературу по пространственной автокорреляции. В ArcGIS есть различные инструменты для создания точек и щелчков, чтобы сделать это с помощью сценариев Toolbox: Инструменты пространственной статистики -> Анализ образцов .

Вы можете работать в обратном направлении - найдите инструмент и просмотрите алгоритм, чтобы реализовать его в соответствии с вашим сценарием. Я использовал Индекс Морана некоторое время назад, исследуя пространственные отношения в появлении минералов почвы.


2

Вы можете запустить двумерный корреляционный анализ во многих статистических программах, чтобы определить уровень статистической корреляции между двумя переменными и уровень значимости. Затем вы можете подтвердить свои статистические данные, сопоставив одну переменную с помощью схемы хлороплетов, а другую - с помощью градуированных символов. После наложения вы можете определить, какие области отображают пространственные отношения «высокий / высокий», «высокий / низкий» и «низкий / низкий». В этой презентации есть несколько хороших примеров.

Вы также можете попробовать несколько уникальных программ для геовизуализации. Мне действительно нравится CommonGIS для этого типа визуализации. Вы можете выбрать район (ваш пример), и вся полезная статистика и графики будут вам доступны сразу же. Это делает анализ многопараметрических карт довольно легким.


2
Это хорошие идеи, но я заметил, что примеры, на которые вы ссылаетесь, успешны, потому что атрибуты соответствуют общим наборам функций. В данном вопросе объекты имеют разные местоположения, и эти местоположения являются случайными переменными (например, не фиксированными административными единицами). Это важные осложнения, потому что теперь нам нужно найти какую-то значимую процедуру, чтобы связать значения в одном месте с теми, что в других местах, и нам нужно справиться со случайным характером самих мест.
whuber

Спасибо за это разъяснение! Я неправильно прочитал ОП и предположил, что это было для двух независимых переменных, которые разделяли местоположение / географический экстент (как с DA / CT и т. Д.)
Майкл Маркиета

1

Квадратный анализ был бы хорош для этого. Это ГИС-подход, позволяющий выделять и сравнивать пространственные структуры различных точечных слоев данных.

Схему анализа квадрата, которая количественно определяет пространственные отношения между несколькими точечными слоями данных, можно найти по адресу http://www.nccu.edu/academics/sc/artsandsciences/geospatialscience/_documents/se_daag_poster.pdf .


1
(1) Ссылка 404 (именно поэтому мы просим ответы, чтобы включить резюме всех ссылок). (2) Насколько точно анализ квадрата сравнил бы двухточечные распределения ?
whuber

(1) Ссылка может работать сейчас. (2) Квадратный анализ делит данную область на равные по размеру единицы, имеющие соответствующий размер. Затем он использует анализ вероятности для определения фактической частоты точек в каждом квадрате в сравнении с ожидаемым значением для каждой частоты. Используя команду плотности точек и зональную статистику в качестве табличных инструментов в расширении пространственного аналитика для ArcMap, мы можем выделить области в непосредственной близости от точек с высокой плотностью в дополнение к суммированию этих классов точечных объектов для регрессионного анализа.

Вы описали процедуру одномерного анализа распределений точек. Его можно адаптировать (оценивая квадратичные корреляции) для сравнения степени совместного возникновения двух процессов, но имеет два существенных ограничения. Во-первых, он не изучает отношения между процессами как функцию расстояния; во- вторых, биннинга точки в quadrats она теряет силу. Потеря власти означает, что вы можете не определить важные закономерности или же вам потребуется собрать больше данных для достижения целей расследования.
whuber

Я использовал эту «процедуру» для многомерного анализа распределений точек. Хотя это подразумевает потерю мощности, оно также предоставляет способ визуального и количественного сравнения двухточечных распределений паттернов на уникальных уровнях агрегации (решение исходного вопроса здесь).

Я надеюсь, что то, что вы прочтете на нашем сайте, вдохновит вас рассмотреть альтернативные подходы в будущем: они расширят вашу способность максимально использовать ваши данные и ограниченные исследовательские ресурсы.
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.