如何将单个模型拟合到 spatstat 中的多个独立数据集?
How to fit a single model to several independent datasets in spatstat?
我想使用 spatstat
包将单个模型拟合到 R
中的几个独立数据集。在这里,我有 3 个独立的数据集(ppp
个名为 NMJ1
、NMJ2
和 NMJ3
的对象),我想在其中拟合一个通用模型。方法应该是使用 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
获得
我想使用 spatstat
包将单个模型拟合到 R
中的几个独立数据集。在这里,我有 3 个独立的数据集(ppp
个名为 NMJ1
、NMJ2
和 NMJ3
的对象),我想在其中拟合一个通用模型。方法应该是使用 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