Я пытаюсь согласовать точечный шаблон с ppm()
в spatstat
, версия 1.60-1, используя комбинацию ковариат первого порядка (в качестве объектов im) и взаимодействия второго порядка термин, в данном случае модель Area-Interaction.
Для моих данных, включающих: ~ 300 точек, 3 ковариатических им.объекта по ~ 110 МБ каждый и член взаимодействия области на r = 15000
единицах карты (метрах), время обработки доказывает быть непомерно длинным - более 72 часов на данный момент.
Использование некоторых данных, включенных в spatstat
:
require(spatstat)
res <- vector()
for (i in seq(1, 9, 0.5)) {
start.time <- Sys.time()
ppm(swedishpines, ~1, AreaInter(r=i))
end.time <- Sys.time()
time.taken <- end.time - start.time
res[i] <- time.taken
}
plot(res)
Выход:
видно, что время обработки увеличивается примерно линейно. Я полагаю, что размер точечного рисунка, окна, включение ковариат и, по-видимому, самое главное, значение r
, также сильно влияют на это.
Моя причина верить в это заключается в том, что ранее я запускал ppm()
с более крупным точечным паттерном, похожими ковариатами, но с гораздо меньшим значением r
(~ 7000 вместо ~ 15000)
По-видимому, сравнительно просто распараллелить функцию envelope()
и объединить результаты с соответствующей функцией, но я ищу совет о том, как распараллелить ppm()
и можно ли комбинировать модели с выходными данными? Кажется, что нет прямой реализации этой задачи для объектов ppm.
В качестве альтернативы, если кто-то более знаком с реализацией модели Area Interaction в spatstat
, я был бы признателен, если бы я просто гонялся за автомобилями с таким большим значением r
, и если бы я лучше попробовать другой подход.