这可能很简单,但我花了很多时间试图弄清楚没有任何运气,也许任何人都可以帮助我。
我通过spatstat中的ppm()函数拟合点模式模型,(下面的可重现代码),当我绘制残差时,它会自动绘制残差图像上的点,这使得很难看到任何东西。有谁知道如何避免它?
代码:
library(spatstat)
pattern <- rpoispp(300)
cov <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window)
fit <- ppm(pattern ~ cov)
res <- residuals.ppm(fit, type = "raw")
plot(res, how = "imagecontour")
答案 0 :(得分:2)
数据点不会在残差之上“过度绘制”:剩余量度包括每个数据点的质量'原子',以及平滑密度,因此情节是正确的。
如果问题是由于表示原子的符号太大而无法看到细节,那么您可以使用其中一个参数markscale
或{{1来减少这些符号的比例将传递给maxsize
。
然后,如果有很多数据点,您可能更好地平滑剩余度量。如果plot.ppp
是您计算的剩余量度,请尝试res
。有关详细信息,请参阅plot(Smooth(res))
的帮助。
如果您确实需要提取剩余度量的平滑密度组件,您可以遵循Ege的建议,或者使用Smooth.msr
。例如
with.msr
给出一个代表剩余测量的连续分量的图像。
这些注释仅适用于原始残差,其中所有原子具有相等的质量1.对于其他类型的残差,原子具有不相等的质量,并且显示它们变得更加重要。
答案 1 :(得分:1)
点过程模型的残差实际上是一个带符号的度量,它具有和离散部分(集中在观察位置)和连续部分。如果您只绘制连续部分,那么您并没有真正绘制残差...
当然,您只想绘制连续部分是一个有效的点,获得此功能的一种简单方法是将type = "n"
传递给plot.msr
,然后将plot.ppp
发送给spatstat
。但是,这仍然会在左侧给出一个奇怪的符号图。
或者,您可以使用内部augment.msr
函数spatstat
将像素图像添加到残留对象,然后使用该图像进行绘图(请注意,使用内部函数不能保证工作在library(spatstat)
pattern <- rpoispp(300)
cov <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window)
fit <- ppm(pattern ~ cov)
res <- residuals.ppm(fit, type = "raw")
plot(res, how = "imagecontour")
res <- augment.msr(res)
den <- attr(res, "smoothdensity")
plot(den)
)的未来版本中:
{{1}}