问题描述
我正在使用包 gstat 将指数模型拟合到经验半变异函数。
我的数据集(数据)具有十进制度数的纬度和经度值。
使用 fit.variogram()
估计的范围与我通过查看模型图所期望的范围不匹配。请参阅下面的代码和图表。
这是 fit.variogram()
的输出:
model psill range
1 Nug 26.66719 0.00000
2 Exp 26.26643 25.76976
从这里开始,我预计与 ~53 (26.66719+26.26643) 对应的范围是 25.76976。然而,当查看该图时,对应于~53 的门槛的范围是 >60 公里。
library(gstat)
library(sp)
coordinates(data)= ~ longitude+latitude
proj4string(data)=CRS("+longlat")
TheVariogram=variogram(Svmean~1,data=data,cutoff=90)
plot(TheVariogram) #to get seed parameters
lzn.fit <- fit.variogram(TheVariogram,model = vgm(psill=60,model="Exp",nugget=20,range=70),fit.method=6)
plot(TheVariogram,pl=F,model=lzn.fit,xlab="distance (km)",ylab=expression(Semivariance (dB^2)))
解决方法
报告的范围是模型 exp(-h/a) 中的范围参数 a,而不是指数模型达到其(部分)基台的 95% 时的值。要获得后一个值,请乘以(大约)3。