如何从 R 中的 mppm 中找出参数

How to figure out the parameters from mppm in R

我正在使用 R 中的 spatstat 库。

我有几个用我自己构建的点图案对象 dataset。点模式仅包含其中点的 x 和 y 坐标。我想将点模式与 Gibbs 过程Strauss 交互 相匹配,以构建模型并模拟类似的点模式。如果我一次使用一个点模式,我可以为此目的使用 ppm 函数。我对从 ppm 函数返回的 ppm 对象使用了 rmhmodel 函数。 rmhmodel 函数给了我参数 betagammar,我需要在 rStrauss 函数中进一步使用它们来模拟新的点模式。仅供参考,我没有直接使用 simulate 函数,因为我希望新的模拟点模式具有模拟不给我的灵活点数。

现在,如果我想使用我拥有的所有点模式,我可以构建一个 hyperframe 点模式,如 复制点模式 章节中所述Baddeley 教科书的,但它需要 mppm 函数而不是 ppm 函数来拟合模型,并且 mppm 无法使用 rmhmodel 当我试图找出模型参数 betagammar.

如何从 mppm 对象中提取合适的 betagammar

有几种方法可以做到这一点。

如果您 print 拟合模型(从 ppmmppm 获得)只需键入对象的名称,打印输出包含拟合模型的描述包括模型参数。

如果将函数 parameters 应用于从 ppm 获得的拟合模型,您将获得具有适当名称的参数值列表。

fit <- ppm(cells ~ 1, Strauss(0.12))
fit
parameters(fit)

对于从 mppm 获得的模型,可能有不同的参数值应用于数据超帧的每一行,因此您必须执行 lapply(subfits(model), parameters),结果是一个列表超帧的每一行一个条目,包含与每一行相关的参数。

A <- hyperframe(Bugs=waterstriders)
mfit <- mppm(Bugs ~ 1, data=A, Strauss(5))
lapply(subfits(mfit), parameters)

或者,您可以通过 coef 提取规范参数并将它们转换为自然参数。

您写道:

I am not using the simulate function directly as I want the new simulated point pattern to have flexible number of points that simulate does not give me.

这不可能是对的。函数 simulate.mppm 生成具有可变点数的模拟实现。试试 simulate(mfit).