I am trying to understand some concepts of variograms. I have made several variogram models in R
and am trying to understand exactly what they mean. My data is Ozone data from Zurich, Switzerland that I found within a blog-post discussing it. I followed most of the blog post to understand the coding aspect but I used my own subset of time to examine new results.
For reference, I took 15 days in January and sampled a random 250 different Ozone measurements on each day. My goal is to use kriging
to interpolate and predict some unknown grid values that I do not have observations for.
I understand the time lag/distance and that Gamma (z axis) is the amount of variation at that given (x,y) config. What does this mean in simple terms? I believe the idea is to fit a plane to the spatial/temporal data so that we can interpolate or assess how much distance and time affects the measurement of ozone at different points. Then we can interpolate for unknown points. Please let me know how far off I am at my understanding.
Here are some plots of my variograms:
library(sp)
# base spatial-temporal variogram
ozone_vgm <- variogramST(PPB~1, data = ozone_time_df, tunit = "hours", assumeRegular = FALSE, na.omit = TRUE)
plot(ozone_vgm, map = TRUE)
plot(ozone_vgm, wireframe = TRUE)
# a collection of different types of variogram models
plot(ozone_vgm,list(separable_vgm_fit, prod_sum_vgm_fit, metric_vgm_fit, sum_metric_vgm_fit, simple_sum_metric_fit),all=TRUE,wireframe=TRUE)
# I attempt to krige with one of my models to predict Ozone (parts per billion aka PPB)
ozone_kriged2 <- krige(PPB ~ 1, ozone_time_df, spat_time_grid, model = metric_vgm_fit)
stplot(ozone_kriged2)
My attempt at kriging on a randomly generated grid within a Zurich Railways Shapefile I found with one of my models with lowest MSE.