Variogram plot for Sill, Nugget, Range

1.5k Views Asked by At

I'm working on Temporal-spatio data. Data is in STFDF structure.

I'm at the stage where applying variogram and try to determine Nugget, Sill, and Range from variogram plot that should look like this enter image description here.

something like this: enter image description here However when I plot my variogram, it shows:

plot(vario, main="Flow")

enter image description here And plot(vario,map=FALSE, main="Spatio-temporal correlation") enter image description here And plot(vario,wireframe=T, main="Spatio-temporal correlation") enter image description here

How to get the plot that can define the range, sill and nugget!! I couldn't define my parameters from these plots. I used the variogramST function and tried too variogram function but both can't produce the plot I need.

vario<-variogramST(Flow~1,data=data,tunit="hours",assumeRegular=F,na.omit=T)

Is there any way to define Range, Nugget, and sill??

####### separable model, least squares fit
separableModel <- vgmST("separable",space=vgm(0.9,"Exp",100,0.1),time=vgm(0.9,"Exp",1000,0.1),sill=40) 
separable_fit <- fit.StVariogram(model=separableModel,object=vario)
plot(vario,separable_fit,all=T,map=F)
attr(separable_fit,"MSE") # calculate the Mean Absolute Error 
### product sum model, least squares fit
ProductSum <- vgmST("productSum",space =vgm(psill= 15000,"Exp",range= 0.07, nugget= 0),time=vgm(psill= 7500,"Exp",range= 0.07, nugget=0),k=0.000649771173341919) 
ProductSum_fit <- fit.StVariogram(model=ProductSum,object=vario)
ProductSum_fit
attr(ProductSum_fit,"MSE") 
plot(vario,ProductSum_fit,all=T,map=F)
plot(vario,ProductSum_fit,all=T)
plot(vario,ProductSum_fit, all=T, wireframe=T)


#### product sum model, manual fit
ProductSum_man <- vgmST("productSum",space=vgm(7500,"Exp",2e5,0,add.to=vgm(10,"Exp",9e3,0)), time=vgm(7500,"Exp",800,9.5,add.to=vgm(0,"Exp",850,0)),k=0.035) 
ProductSum_man_fit <- fit.StVariogram(model=ProductSum_man,object=vario) 
attr(ProductSum_man_fit,"MSE") 
plot(vario,ProductSum_man_fit,all=T,map=F)
plot(vario,ProductSum_man_fit,all=T)
0

There are 0 best solutions below