使用 mppm

问题描述

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

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

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

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

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

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

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

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 对象。@H_502_1@

感谢您的想法和建议。@H_502_1@

解决方法

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。