I have a very sparse set of measurements of a quantity, around 10 measurements at different locations across a continent. The distributions of locations is highly irregular. I would like to smooth these into values on a regularly spaced grid over the continent.
We actually have a much denser set of observations of a related quantity and techniques are being developed to create a map of the first quantity using both sets of measurements. The intention is to estimate the accuracy of this hybrid approach using leave one out cross validation (testing each of the 10 sites in turn having created the map using all the others plus the additional measurements). As a baseline, I first need to see how accurate a map is, using LOOCV, created just from the original network of 10 stations. I should also point out this quantity varies over timescale of minutes and we want to produce a map in near real time.
I am not an expert in geospatial techniques, however I comprehend the basics of Kriging and after checking the task view of CRAN, it seems autoKrige in the automap package would be a suitable function to employ. The results I am getting are nothing like what I expected so any help would be appreciated.
Here is an example of one set of input training data (all available data for one particular time):
lat lon value -27.53 152.92 98 -35.32 149.00 79 -34.05 150.67 81 -12.45 130.95 92 -42.92 147.32 73 -22.25 114.08 91 -29.03 167.97 108 -31.94 115.95 89
As you can see, the target quantity has a range of values over a widely spaced area.
I convert from a data frame containing lat, lon and the value into a spatialPointsDataFrame by doing
coordinates(xtrain) = ~lon + lat coordinates(xtest) = ~lon + lat proj4string(xtrain) <-CRS("") proj4string(xtest) <-CRS("")
where xtest contains the grid of points I want to sample the map over. I then Krige this using
result <- autoKrige(value~1,xtrain,xtest)
I plot the results
and get the following image
As you can see, the result is essentially the mean value at all points. My understanding is that autoKrige should have determined the best values of the Kriging parameters and produced something more realistic than this. Just to illustrate, the range of the predicted values on the grid is 0.22, which is clearly much less than the 30 point scatter seen in the input values.
So, where am I going wrong? Am I misusing the R package, or is my problem more fundamental in the way I am attempting to employ Kriging?