如何从 R 中的 mppm 中找出参数
How to figure out the parameters from mppm in R
我正在使用 R 中的 spatstat 库。
我有几个用我自己构建的点图案对象 dataset
。点模式仅包含其中点的 x 和 y 坐标。我想将点模式与 Gibbs 过程 和 Strauss 交互 相匹配,以构建模型并模拟类似的点模式。如果我一次使用一个点模式,我可以为此目的使用 ppm 函数。我对从 ppm
函数返回的 ppm 对象使用了 rmhmodel 函数。 rmhmodel
函数给了我参数 beta
、gamma
和 r
,我需要在 rStrauss 函数中进一步使用它们来模拟新的点模式。仅供参考,我没有直接使用 simulate 函数,因为我希望新的模拟点模式具有模拟不给我的灵活点数。
现在,如果我想使用我拥有的所有点模式,我可以构建一个 hyperframe
点模式,如 复制点模式 章节中所述Baddeley
教科书的,但它需要 mppm 函数而不是 ppm 函数来拟合模型,并且 mppm
无法使用 rmhmodel
当我试图找出模型参数 beta
、gamma
和 r
.
如何从 mppm
对象中提取合适的 beta
、gamma
和 r
?
有几种方法可以做到这一点。
如果您 print
拟合模型(从 ppm
或 mppm
获得)只需键入对象的名称,打印输出包含拟合模型的描述包括模型参数。
如果将函数 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)
.
我正在使用 R 中的 spatstat 库。
我有几个用我自己构建的点图案对象 dataset
。点模式仅包含其中点的 x 和 y 坐标。我想将点模式与 Gibbs 过程 和 Strauss 交互 相匹配,以构建模型并模拟类似的点模式。如果我一次使用一个点模式,我可以为此目的使用 ppm 函数。我对从 ppm
函数返回的 ppm 对象使用了 rmhmodel 函数。 rmhmodel
函数给了我参数 beta
、gamma
和 r
,我需要在 rStrauss 函数中进一步使用它们来模拟新的点模式。仅供参考,我没有直接使用 simulate 函数,因为我希望新的模拟点模式具有模拟不给我的灵活点数。
现在,如果我想使用我拥有的所有点模式,我可以构建一个 hyperframe
点模式,如 复制点模式 章节中所述Baddeley
教科书的,但它需要 mppm 函数而不是 ppm 函数来拟合模型,并且 mppm
无法使用 rmhmodel
当我试图找出模型参数 beta
、gamma
和 r
.
如何从 mppm
对象中提取合适的 beta
、gamma
和 r
?
有几种方法可以做到这一点。
如果您 print
拟合模型(从 ppm
或 mppm
获得)只需键入对象的名称,打印输出包含拟合模型的描述包括模型参数。
如果将函数 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 thatsimulate
does not give me.
这不可能是对的。函数 simulate.mppm
生成具有可变点数的模拟实现。试试 simulate(mfit)
.