Mac*_*cro 6 statistics r spatstat
在R包中spatstat(我使用的是当前版本1.31-0),有一个选项use.gam.将此设置为true时,可以在线性预测器中包含平滑项,与使用R包时的方式相同mgcv.例如,
g <- ppm(nztrees, ~1+s(x,y), use.gam=TRUE)
Run Code Online (Sandbox Code Playgroud)
现在,如果我想要一个置信的置信区间,你通常可以使用summary或vcov,当你不使用时工作gam但是当你使用gam时失败
vcov(g)
Run Code Online (Sandbox Code Playgroud)
它给出了错误消息
Error in model.frame.default(formula = fmla, data =
list(.mpl.W = c(7.09716796875, :invalid type (list) for variable 's(x, y)'
Run Code Online (Sandbox Code Playgroud)
我知道这个标准误差近似在你使用时是不合理的gam,但警告信息会捕获这个:
In addition: Warning message: model was fitted by gam();
asymptotic variance calculation ignores this
Run Code Online (Sandbox Code Playgroud)
我并不担心这一点 - 我准备证明使用这些标准错误的目的是为了我正在使用它们 - 我只是想要数字并且想避免"自己编写"这样做.
我上面得到的错误消息似乎并不依赖于我正在使用的数据集.我在nztrees这里使用了这个例子,因为我知道它预先加载了spatstat.它似乎在抱怨变量本身,但模型清楚地理解了语法,因为它适合模型(对于我自己的数据集,预测值看起来非常好,所以我知道它不仅仅是抽出垃圾).
有没有人对此有任何提示或见解?这是一个错误吗?令我惊讶的是,我一直无法在网上找到任何关于此的讨论.任何帮助或提示都表示赞赏.
编辑:虽然我已经在这里明确回答了我自己的问题,但我暂时不会接受我的回答.这样,如果有人有兴趣并且愿意为此找到"解决方法"而不等待下一版本spatstat,我可以奖励他/她.否则,我会在赏金期结束时接受我自己的回答.
我已经就此事联系了该软件包的作者之一 Adrian Baddeley。他立即回复并让我知道这确实是该软件的一个错误,显然,我是第一个遇到它的人。幸运的是,他只花了很短的时间就找到了问题并纠正了。该修复将包含在 spatstat 的下一版本 1.31-1 中。
编辑:更新版本spatstat已经发布,不再有这个错误:
g <- ppm(nztrees, ~1+s(x,y), use.gam=TRUE)
sqrt( vcov(g)[1,1] )
[1] 0.1150982
Warning message:
model was fitted by gam(); asymptotic variance calculation ignores this
Run Code Online (Sandbox Code Playgroud)
有关其他发行说明,请参阅spatstat 网站。感谢所有阅读并参与该主题的人!