二项式数据的回归克里金法

Geo*_*-sp 7 r gstat kriging

我使用gstat来预测二项式数据,但预测值高于1且低于0.有谁知道我如何处理这个问题?谢谢.

data(meuse)
data(meuse.grid)
coordinates(meuse) <- ~x+y
coordinates(meuse.grid) <- ~x+y
gridded(meuse.grid) <- TRUE

#glm model
glm.lime <- glm(lime~dist+ffreq, meuse, family=binomial(link="logit"))
summary(glm.lime)

#variogram of residuals
var <- variogram(lime~dist+ffreq, data=meuse)
fit.var <- fit.variogram(var, vgm(nugget=0.9, "Sph", range=sqrt(diff(meuse@bbox\[1,\])^2 + diff(meuse@bbox\[2,\])^2)/4, psill=var(glm.lime$residuals)))   
plot(var, fit.var, plot.nu=T)

#universal kriging
kri <- krige(lime~dist+ffreq, meuse, meuse.grid, fit.var)
spplot(kri[1])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Pau*_*tra 4

一般来说,使用这种回归克里金方法并不能保证模型有效,因为趋势和残差的计算是分开的。关于您的代码的一些注释。请注意,您用于variogram计算残差变异函数,但variogram使用正态线性模型来计算趋势,从而计算残差。您需要根据 确定残差glm,然后根据该残差计算残差变异函数。

您可以手动执行此操作,或者查看包fit.gstatModel中的函数GSIFbinom.krige您也可以从包装上看一下geoRglmR-sig-geo 上的这个帖子可能也很有趣:

从 GLM 中获取残差与使用指示变量有很大不同。此外,根据您采用的 GLM 残差类型,甚至可能存在一些差异。运行 GLM 并探索残差(例如通过变异函数)是我认为的常规做法,但它并不能告诉您整个故事。拟合 GLGM(通用线性地统计模型)可以更具结论性,因为您可以对模型参数进行推断并更客观地访问空间项的相关性。这是 geoRglm 一次性进行所有建模的最初动机,而不是通过两个步骤,例如拟合没有相关性的模型,然后对残差进行建模。这带来了校准 MCMC 算法的额外负担。后来 spBayes 出现了,看起来确实很有希望提出一个更通用的框架,而 geoRglm 则针对单变量二项式和毒药模型。

正如 Roger 所说,还有空间可以使用其他替代方案,例如 GLMM 或 MCMCpack,但这肯定还没有准备好“开箱即用”,并且需要针对空间目的调整代码。