使用 mppm

问题描述

我最近对空间点模式的探索让我开始研究 LGCP Cox 过程。在我的情况下,我实际上有一系列我想要适合单个模型的点模式。我之前的一个询问让我使用 mppm 来训练这样的模型(感谢 Adrian Baddeley!)。我的下一个问题是在 mppm 的上下文中使用这种类型的 Cox 模型。

这是否可以使用 mppm 将非均匀 LGCP Cox 过程(或其他类型的 Cox 过程)拟合到复制点模式?我看到了一些关于拟合 Gibbs 过程的信息,但并不是真正适用于 Cox 过程。 通过创造性地使用“随机”参数,答案似乎是“可能的”。

举个例子,假设我正在用一个协变量 X(这是一个单一的 im)拟合一个 using 点模式 Y。对 kppm 的调用将是:

myModel = kppm(Y ~ X,"LGCP")

如果我将一个简单的非齐次泊松过程拟合到超帧 G 中的复制点模式和相关协变量,我相信调用将如下所示:

myModel = mppm(Y ~ X,data=G)

在阅读了 SpatStat book 的第 16 章之后,我认为拟合复制的 LGCP Cox 模型可以通过使用对 rLGCP 的调用的模拟强度来完成,也许像这样......

myLGCP = rLGCP(model="exp",mu=0,saveLambda=TRUE,nsim=2,win=myWindow)
myIntensity = lapply(myLGCP,function(x) attributes(x)$Lambda)
G$Z = myIntensity

myModel = mppm(Y ~ X,data=G,random=~Z|id)

上述方法“运行”没有错误……但我不知道我是否离真正完成我想做的事情还差得很远。也有点不清楚如何使用拟合的对象来模拟模型的实现,因为模拟.kppm 需要一个 kppm 对象。

感谢您的想法和建议。

解决方法

mppm 目前不支持 Cox 进程。

您可以执行以下操作

  1. 使用 mppm 将模型的趋势部分拟合到您复制的点模式数据,例如 m <- mppm(Y ~ X,data=G)

  2. 使用 predict.mppm

    提取每个点模式的拟合强度
  3. 对于每个点模式,使用从模型获得的相应强度,使用Kinhom(参数为ratio=TRUE)计算非齐次K函数

  4. 使用 pool

    组合 K 函数
  5. 通过将 lgcp.estK 应用于池化 K 函数来估计 LGCP 的集群参数。

可选地,在第 4 步之后,您可以使用 pcf.fv 将池化 K 函数转换为对相关函数,然后使用 lgcp.estpcf 拟合集群参数。

这种方法假设相同的集群参数将应用于每个点模式。如果您的数据由多个不同的模式组组成,并且您希望模型为不同的模式组分配不同的集群参数值,那么只需对每组分别应用步骤 4 和 5。