如何将单个模型拟合到 spatstat 中的多个独立数据集?

How to fit a single model to several independent datasets in spatstat?

我想使用 spatstat 包将单个模型拟合到 R 中的几个独立数据集。在这里,我有 3 个独立的数据集(ppp 个名为 NMJ1NMJ2NMJ3 的对象),我想在其中拟合一个通用模型。方法应该是使用 mppm 函数:

data <- listof(NMJ1,NMJ2,NMJ3)
data <- hyperframe(X=1:3, Points=data)
r <- matrix(c(120, 240, 240, 90), nrow = 2, ncol = 2)
model <- mppm(Points ~marks*abs(sqrt(x^2+y^2)), data, MultiStrauss(r))

在我拟合的模型中,强度是到 window 中心距离的函数,我假设了一个 MultiStrauss 交互方案。

但是,mppm 函数将独立拟合每个数据集。当键入 subfits(model) 时,每个数据集的拟合趋势系数相同,但伽马系数不同。同样,在绘制 simulate(model) 的结果时,我观察到 3 个图之间存在显着且一致的差异。

spatstat 中处理独立数据集(来自同一模型的重复样本)的最佳方法是什么?

这是一个 bug

您的代码在此方面是正确的。 (即,当我们希望将相同的交互系数应用于所有点模式时。)

spatstat.core 中的函数 subfits 有一个 bug

mppm返回的拟合模型是正确的,但是subfits返回的子模型列表部分不正确。

该错误将很快在开发版本 spatstat.core 2.3-0.011 中修复,可从 the GitHub repository

获得