library(spatstat)
# Definir a janela espacial
Window <- owin(c(0, 10), c(0, 10))
# Definir uma função de intensidade espacial
intensity_function <- function(x, y) {
# Intensidade aumenta com a distância da origem
intensity <- 1 + 0.2 * sqrt(x^2 + y^2)
return(intensity)
}
# Gerar um processo de Poisson não homogêneo
process <- rpoispp(intensity_function, win=Window)
# Plotar o processo
fit <- kppm(process, ~1,"Thomas")
fit1 <- kppm(process, ~1,"MatClust")
fit2 <- kppm(process, ~1,"LGCP")
我确实使用了AIC,但他们返回了错误,我确实测试了残差,但功能诊断不可用,我确实使用了qqplot,但也返回了错误。
您似乎想要同时进行模型选择(使用AIC或
anova
等工具)和模型验证(使用残差和诊断)。
对于型号选择:
我尝试使用AIC,但他们返回错误
(提示:发布问题时,请包含您键入的命令和返回的错误消息。)
您输入的命令大概是
AIC(fit)
。当我尝试此操作时,错误消息显示
错误:logLik 仅适用于配备 method='palm' 或 method='clik2' 的 kppm 对象
这表明,在对
kppm
的调用中,您应该设置 method='palm'
或 method='clik2'
。
如果您在错误消息后立即键入
traceback()
,则会打印函数调用的嵌套序列。我们可以看到命令AIC(fit)
被分派到方法AIC.kppm
。 AIC.kppm
的帮助文件特别提到了
这些方法仅适用于通过最大化 复合可能性:Palm 可能性(Tanaka 等人, 2008)或二阶复合似然(Guan,2006),通过 使用参数“method=”palm“”调用“kppm”或 分别是‘method="clik2"’。
因此,获取拟合模型的 AIC 值的方法是使用参数
method="palm"
或 method="clik2"
来拟合模型。示例:
fitT <- kppm(redwood ~ 1, "Thomas", method="p")
AIC(fitT)
当一个模型是另一个模型的特例时,您还可以执行诸如
anova
之类的操作来比较两个模型。
对于模型验证,恐怕可用的工具仅限于
kppm
对象。你可以用
diagnose.ppm(as.ppm(fitT), compute.sd=FALSE)
获得趋势分量的标准非正式诊断,忽略聚类分量。拟合集群过程模型的非正式验证仍然是一个研究领域。
顺便说一下,
diagnose
不是spatstat
中定义的泛型,所以diagnose(fitT)
不起作用。