GeoStat-Framework / PyKrige

Kriging Toolkit for Python
https://pykrige.readthedocs.io
BSD 3-Clause "New" or "Revised" License
755 stars 188 forks source link

Local Variogram Model? #41

Open basaks opened 7 years ago

basaks commented 7 years ago

This probably deserves it's own thread.

In many situations an useful and an already used technique in the kriging community, is the local variogram model. Can someone work on this instead?

This may have additional benefits in speeding up the variogram computations for very large problems (with lots of observations).

VESPER is a PC-Windows program developed by the Australian Centre for Precision Agriculture (ACPA) for spatial prediction that is capable of performing kriging with local variograms (Haas, 1990). Kriging with local variograms involves searching for the closest neighbourhood for each prediction site, estimating the variogram from the neighbourhood, fitting a variogram model to the data and predicting the value and its uncertainty. The local variogram is modelled in the program by fitting a variogram model automatically through the nonlinear least-squares method. Several variogram models are available, namely spherical, exponential, Gaussian and linear with sill. Punctual and block kriging is available as interpolation options. This program adapts itself spatially in the presence of distinct differences in local structure over the whole field.

Some context by @bsmurphy

@rth added the moving window function, which is similar to what you're suggesting @basaks except that it assumes a stationary variogram. Adding in the extra layer of re-estimating the variogram for local neighborhoods could certainly be done at some level, but it would require a calculation for each moving window location; therefore, not sure how much it would really boost speed... Anyways, both of these ideas would be nice to implement at some point: the local variogram estimation for max flexibility and the downsampling in global variogram estimation as a useful tool (could be put in the kriging tools module)...

basaks commented 7 years ago

Anyone has this reference who would be kind enough to send me a copy of the relevant pages to my personal email?

VESPER is a PC-Windows program developed by the Australian Centre for Precision Agriculture (ACPA) for spatial prediction that is capable of performing kriging with local variograms (Haas, 1990).

@rth @bsmurphy @MasterOdin @kvanlombeek @whdc ?

whdc commented 7 years ago

I can neither deny nor confirm that someone found it on sci-hub.cc and sent it to @basaks 😀

rth commented 7 years ago

I have only skimmed through that paper, but do we want to use something like scipy.spatial.cKDTree.query_ball_point to find the nearest points that will be included to build the variogram?

I guess we could find some consistent input parameter names for those used to a build a local variogram model and those used to perform local kriging...