autofitVariogram {automap}  R Documentation 
Automatically fitting a variogram to the data on which it is applied. The automatic fitting
is done through fit.variogram. In fit.variogram the user had to supply an initial estimate for the sill,
range etc. autofitVariogram
provides this estimate based on the data and then calls fit.variogram.
autofitVariogram(formula, input_data, model = c("Sph", "Exp", "Gau", "Ste"), kappa = c(0.05, seq(0.2, 2, 0.1), 5, 10), fix.values = c(NA,NA,NA), verbose = FALSE, GLS.model = NA, start_vals = c(NA,NA,NA), miscFitOptions = list(), ...)
formula 
formula that defines the dependent variable as a linear model of independent variables; suppose the dependent variable has name 'z', for ordinary and simple kriging use the formula 'z~1'; for simple kriging also define 'beta' (see below); for universal kriging, suppose 'z' is linearly dependent on 'x' and 'y', use the formula 'z~x+y'. 
input_data 
An object of SpatialPointsDataFrameclass. 
model 
The list of variogrammodels that will be tested. 
kappa 
Smoothing parameter of the Matern model. Provide a list if you want to check more than one value. 
fix.values 
Can be used to fix a variogram parameter to a certain value. It consists of a list with a length of three. The items describe the fixed value for the nugget, range and sill respectively. They need to be given in that order. Setting the value to NA means that the value is not fixed. 
verbose 
logical, if TRUE the function will give extra feedback on the fitting process 
GLS.model 
If a variogram model is passed on through this parameter a Generalized Least Squares sample variogram is calculated. 
start_vals 
Can be used to give the starting values for the variogram fitting. The items describe the fixed value for the nugget, range and sill respectively. They need to be given in that order. Setting the value to NA means that the value will be automatically chosen. 
miscFitOptions 
A list with named arguments that provide additional control over the fitting process.
For example:

... 
parameters that are passed on to variogram when calculating the sample variogram. 
Geostatistical routines are used from package gstat
.
A few simple choices are made when estimating the inital guess for fit.variogram
.
The initial sill is estimated as the mean
of the max
and the median
of the semivariance. The inital range is defined as 0.10 times the diagonal of the bounding
box of the data. The initial nugget is defined as the min
of the the semivariance.
There are five different types of models that are often used:
A shperical model.
An exponential model.
A gaussian model.
A model of the Matern familiy
Matern, M. Stein's parameterization
A list of all permitted variogram models is available by typing vgm() into the R console.
autofitVariogram
iterates over the variogram models listed in model
and picks the model
that has the smallest residual sum of squares with the sample variogram. For the Matern model, all the
kappa values in kappa
are tested.
Note that when using the power model, and not specifying starting values yourself, the sill is set to 1, the range to 1 and the nugget to 0. This is because the normal initial values for those paramters don't work well with the power model. I consider this a temporary solution, any suggestions are appreciated.
It is possible to pass anisotropy parameters to autofitVariogram
. However, autofitVariogram
does not fit anisotropic variogram models. The function sees the anisotropic sample variogram as one big sample variogram. So it fits an average isotropic variogram model from the anisotropic sample variogram. A warning is issued when a users passes alpha
to autofitVariogram
.
An object of type autofitVariogram
is returned. This object contains the experimental variogram,
the fitted variogram model and the sums of squares (sserr
) between the sample variogram and the
fitted variogram model.
autofitVariogram
is mostly used indirectly through the function autoKrige
Paul Hiemstra, paul@numbertheory.nl
fit.variogram
, autoKrige
, posPredictionInterval
data(meuse) coordinates(meuse) =~ x+y variogram = autofitVariogram(zinc~1,meuse) plot(variogram) # Residual variogram data(meuse) coordinates(meuse) =~ x+y variogram = autofitVariogram(zinc ~ soil + ffreq + dist, meuse) plot(variogram) # Settings additional fitting options variogram = autofitVariogram(zinc ~ soil + ffreq + dist, meuse, miscFitOptions = list(merge.small.bins = FALSE)) plot(variogram) # Settings the minimum number of pairs per bin quite high # to see the effect of merging bins variogram = autofitVariogram(zinc ~ soil + ffreq + dist, meuse, miscFitOptions = list(min.np.bin = 500)) plot(variogram) # ...and disable the merging, note the difference between the two plots variogram = autofitVariogram(zinc ~ soil + ffreq + dist, meuse, miscFitOptions = list(min.np.bin = 500, merge.small.bins = FALSE)) plot(variogram) ## Not run: # An example of autofitVariogram with anisotropic sample variogram. # This is not supported, see details section. vm.isotropic = autofitVariogram(log(zinc) ~ dist, meuse) vm.anisotropic = autofitVariogram(log(zinc) ~ dist, meuse, alpha = c(0,45,90,135)) ## End(Not run)