R spatstat版本1.61-0中kppm类对象的拟合优度测试存在问题

R spatstat版本1.61-0中kppm类对象的拟合优度测试存在问题,r,spatstat,goodness-of-fit,R,Spatstat,Goodness Of Fit,我对kppm类的对象使用不同的拟合优度测试。所附代码中的拟合优度测试在spatstat版本1.59-0中运行良好,但在最新版本(1.61-0和1.61-0.019)中,存在与rinterval相关的错误 带有种子以复制错误的代码是: library(spatstat) #### Seed to recreate the same results #### set.seed(1234) #### Model from Thomas process #### Data.Example <-

我对kppm类的对象使用不同的拟合优度测试。所附代码中的拟合优度测试在spatstat版本1.59-0中运行良好,但在最新版本(1.61-0和1.61-0.019)中,存在与
rinterval
相关的错误

带有种子以复制错误的代码是:

library(spatstat)

#### Seed to recreate the same results ####
set.seed(1234)
#### Model from Thomas process ####
Data.Example <- rThomas(5, 0.05, 10) # kappa, scale, mu

#### Fitting a Thomas model ####
DE.fit.Thomaskppm <- kppm(Data.Example, ~ 1, "Thomas")

#*********************************************************
#### Goodness-of-fit test                             ####
#*********************************************************
####Using Dao-Genton test ####

#Thomas model
set.seed(100000)
dg.test(DE.fit.Thomaskppm, rinterval = c(0, 0.25))

#### Diggle-Cressie-Loosmore-Ford test ####

#Thomas model
set.seed(100000)
dclf.test(DE.fit.Thomaskppm, rinterval = c(0, 0.2))

#### Maximum Absolute Deviation Tests ####

#Thomas model
set.seed(100000)
mad.test(DE.fit.Thomaskppm, rinterval = c(0, 0.2))
 Error in envelopeTest(Yi, ..., nsim = nsimsub, alternative = alternative,  : 
  Some function values were infinite, NA or NaN at distances r up to 0.25 units. Please specify a shorter ‘rinterval’ 
该错误出现在版本1.59-0中,但通过将
rinterval
从0设置为0.25,已修复该错误。在1.61-0版本中,我将
rinterval
设置得更短,但此错误仍然出现

dclf.test
mad.test
如果我使用10作为种子,效果很好

提前谢谢。

感谢您提供了清晰可复制的示例。我可以确认我也得到了错误。只是一个澄清的问题:使用相同的种子时,行为是否已从spatstat 1.59-0更改为1.61-0

我很有信心,我已经解释了为什么会发生错误,但我不确定解决它的最佳方法是什么。关于这一点,我会尽力回复你。现在解释一下:

您的模型的父级强度为3.78。模型在扩展窗口中模拟,然后限制在目标窗口(单位平方)。膨胀系数为
4*比例
,其中您安装的型号的比例为
scale=0.05
(四舍五入)。因此,模拟窗口的面积
(1+8*比例)^2=1.9
,预期的父点数量为
3.78*1.9=7.2
。泊松分布的双亲数有时可能为零,这会给出一个估计的K函数,该函数在任何地方都是
NA
,因此更改
rinterval
没有帮助。如果在扩展区域中仅获得一个或两个在目标模拟窗口中没有子代的父项,则也可能发生
NA
K函数。总体而言,目标窗口中出现空点模式的概率不可忽略

我将考虑如何在不使统计推断无效的情况下最好地规避这个问题

下面的代码说明了问题(从问题的原始代码开始)

库(spatstat)
####种子以重新创建相同的结果####
种子集(1234)
####托马斯过程模型####

数据示例感谢您提供了详细而翔实的答案。是的,使用相同的种子,行为已从spatstat 1.59-0更改为1.61-0。在1.59-0版本中,附加的代码使用相同的种子,运行良好。OK。我刚刚意识到底层代码最近更新了,不再忽略
NA
值,因此行为确实发生了变化。我们目前正在决定这个问题的最佳解决方案。在此之前,我已经编辑了答案并添加了一个快速解决方案。