R: Moran-автокорреляция <==> Geary-автокорреляция?

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

R: Moran-автокорреляция <==> Geary-автокорреляция?

Сообщение nickleb » 16 окт 2015, 16:55

Здравствуйте. Кто просветит безграмотного: чем Moran-автокорреляция отличается от Geary-автокорреляции?
Нашёл такой вот пример:

Код: Выделить всё

library(raster)
r  <-  raster(nrows=10,  ncols=10)
r[]  <-  1:ncell(r)
### Moran
Moran(r) #this is the global index of autocorrelation
x1  <-  MoranLocal(r) #local measure of autocorr as a raster object that can be plotted
plot(x1) #this will plot the autocorrelation raster results
### Geary 
Geary(r) #this is the global index of autocorrelation
x1  <-  GearyLocal(r) #local measure
plot(x1)

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: R: Moran-автокорреляция <==> Geary-автокорреляция?

Сообщение gamm » 17 окт 2015, 08:18

nickleb писал(а):Здравствуйте. Кто просветит безграмотного: чем Moran-автокорреляция отличается от Geary-автокорреляции?
1) оба индекса на растре считать не принято (хотя теоретически и возможно - но непонятно, зачем), на растре есть методы и получше, та же вариограмма. Индексы используют, когда точки распределены произвольно.

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

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

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: R: Moran-автокорреляция <==> Geary-автокорреляция?

Сообщение nickleb » 17 окт 2015, 09:03

gamm писал(а):
nickleb писал(а):Здравствуйте. Кто просветит безграмотного: чем Moran-автокорреляция отличается от Geary-автокорреляции?
1) оба индекса на растре считать не принято (хотя теоретически и возможно - но непонятно, зачем), на растре есть методы и получше, та же вариограмма. Индексы используют, когда точки распределены произвольно.

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

3) для полученной выборки либо считается коэффициент корреляции (получается Моран), либо некий аналог вариограммы (получается Джири). Считать можно для точки и ее соседей (локальный индекс), или для всех пар (глобальный), подробнее - тут, учтите, что значения центрованные, как там и указано
Уважаемый gamm, огромное спасибо за - как и всегда - краткое, ёмкое и чёткое разъяснение...

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: R: Moran-автокорреляция <==> Geary-автокорреляция?

Сообщение nickleb » 23 окт 2015, 13:17

nickleb писал(а):
gamm писал(а):
nickleb писал(а):Здравствуйте. Кто просветит безграмотного: чем Moran-автокорреляция отличается от Geary-автокорреляции?
1) оба индекса на растре считать не принято (хотя теоретически и возможно - но непонятно, зачем), на растре есть методы и получше, та же вариограмма. Индексы используют, когда точки распределены произвольно.

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

3) для полученной выборки либо считается коэффициент корреляции (получается Моран), либо некий аналог вариограммы (получается Джири). Считать можно для точки и ее соседей (локальный индекс), или для всех пар (глобальный), подробнее - тут, учтите, что значения центрованные, как там и указано
Уважаемый gamm, огромное спасибо за - как и всегда - краткое, ёмкое и чёткое разъяснение...
а по точкам регулярного растра посчитать и построить "треки"-ломанные линии, каждый из отрезков которой соединяет пару точек: центральную и "румбовую" (из восьми максимум - окрестных ближайших "румбовых" в коипАсной нотации относительно центральной) с максимальным коэффициентом корреляции, - это в R - какой package лучше задействовать? и как правильно и грамотно в вариографии и пространственном анализе таковые "треки" называть? - позвольте мне - несведущему - спросить :oops:

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: R: Moran-автокорреляция <==> Geary-автокорреляция?

Сообщение gamm » 23 окт 2015, 15:26

nickleb писал(а):а по точкам регулярного растра посчитать и построить "треки"-ломанные линии, каждый из отрезков которой соединяет пару точек: центральную и "румбовую" (из восьми максимум - окрестных ближайших "румбовых" в коипАсной нотации относительно центральной) с максимальным коэффициентом корреляции, - это в R - какой package лучше задействовать? и как правильно и грамотно в вариографии и пространственном анализе таковые "треки" называть? - позвольте мне - несведущему - спросить :oops:
боюсь, что готового пакета нет. Более того, если брать соседей с небольшой окрестностью, то выборка ненадежная, особенно для малых окрестностей типа 3х3.

Но если считать, то я бы считал руками, и не в R (для скорости). Если растр небольшой то можно и в R, для этого нужно уложить раст столбцом, и рядом столбцы со сдвигом, что должно дать соседство (сдвиг +1 - сосед справа, сдвиг -1 - сосед слева, сдвиг +nx - сосед снизу, и т.д.). Тогда все локальные окна уложены по строкам, и можно посчитать корреляции по румбам (сдвиг для строк для каждого румбы - фиксированный, см. выше, что позволяет генерировать пары строк, и по ним гнать итератор apply() - фнкуция получает пару номеров, вытаскивает строки, и выдает назад корреляцию). А потом рисовать их палочками, толщина - пропорциональна корреляции, будет красиво ...

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: R: Moran-автокорреляция <==> Geary-автокорреляция?

Сообщение nickleb » 23 окт 2015, 15:51

боюсь, что готового пакета нет. Более того, если брать соседей с небольшой окрестностью, то выборка ненадежная, особенно для малых окрестностей типа 3х3.

Но если считать, то я бы считал руками, и не в R (для скорости). Если растр небольшой то можно и в R, для этого нужно уложить раст столбцом, и рядом столбцы со сдвигом, что должно дать соседство (сдвиг +1 - сосед справа, сдвиг -1 - сосед слева, сдвиг +nx - сосед снизу, и т.д.). Тогда все локальные окна уложены по строкам, и можно посчитать корреляции по румбам (сдвиг для строк для каждого румбы - фиксированный, см. выше, что позволяет генерировать пары строк, и по ним гнать итератор apply() - фнкуция получает пару номеров, вытаскивает строки, и выдает назад корреляцию). А потом рисовать их палочками, толщина - пропорциональна корреляции, будет красиво ...
Спасибо, gamm, за дельный ответ!

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей