Мой вопрос тесно связан с предыдущим: проверка гипотез на основе моделирования на гиперкадрах пространственных точечных шаблонов с использованием функции "конверта" в spatstat.
Я получил mppm
объект, подогнав модель к нескольким независимым наборам данных с помощью mppm
функции из R
пакета spatstat
. Как я могу изучить его оболочку, чтобы сравнить с моими наблюдениями?
Я подогнал свою модель как таковую:
data <- listof(NMJ1,NMJ2,NMJ3)
data <- hyperframe(X=1:3, Points=data)
model <- mppm(Points ~marks*sqrt(x^2+y^2), data)
где NMJ1, NMJ2 и NMJ3 отмечены ppp
и являются независимыми реализациями одного и того же эксперимента.
Однако функция конверта не принимает входные данные типа mppm
:
> envelope(model, Kcross.inhom, nsim=10)
Error in UseMethod("envelope") :
no applicable method for 'envelope' applied to an object of class "c('mppm', 'list')"
Ответ на ранее упомянутый вопрос показывает, как построить глобальные конверты для каждого шаблона и использовать правило продукта для множественного тестирования. Однако моя подобранная модель подразумевает, что мои 3 ppp
объекта статистически эквивалентны и являются независимыми реализациями одного и того же эксперимента (то есть между ними нет разных ковариат). Таким образом, я хотел бы получить один график, сравнивающий мою подогнанную модель с моими тремя наборами данных. Следующий код:
gamma= 1 - 0.95^(1/3)
nsims=round(1/gamma-1)
sims <- simulate(model, nsim=2*nsims)
SIMS <- list()
for(i in 1:nrow(sims)) SIMS[[i]] <- as.solist(sims[i,,drop=TRUE])
Hplus <- cbind(data, hyperframe(Sims=SIMS))
EE1 <- with(Hplus, envelope(Points, Kcross.inhom, nsim=nsims, simulate=Sims))
pool(EE1[1],EE1[2],EE1[3])
приводит к следующей ошибке:
Error in pool.envelope(`1` = list(r = c(0, 0.78125, 1.5625, 2.34375, 3.125, :
Arguments 2 and 3 do not belong to the class “envelope”
Неверный тип индекса подмножества. Использовать
pool(EE1[[1]], EE1[[2]], EE1[[3]])
или просто
pool(EE1)
Это привело бы к сообщению об ошибке, с которым envelope
должны были быть вызваны команды savefuns=TRUE
. Так что вам просто нужно изменить этот шаг.
Однако статистически эта процедура не имеет большого смысла. Вы уже создали модель, которая позволяет делать строгие статистические выводы с использованием anova.mppm
и других инструментов. Вместо этого вы генерируете смоделированные данные из подобранной модели и выполняете тест Монте-Карло со всеми опасными проблемами, связанными с многократным тестированием и низким энергопотреблением. У этого подхода есть дополнительные проблемы - например, даже если модель «одинакова» для каждой строки гиперкадра, шаблоны не являются статистически эквивалентными, если окна точечных шаблонов не идентичны, и так далее.
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения