variofit(vario, ini.cov.pars, cov.model,
fix.nugget = FALSE, nugget = 0,
fix.kappa = TRUE, kappa = 0.5,
simul.number = NULL, max.dist = vario$max.dist,
weights, minimisation.function,
limits = pars.limits(), messages, ...)"variogram", typically an output of the function
variog. The object is a list with information about the
empirical variogram.DETAILS below.cov.spatial. For the linear model use cov.model
= "linear". Read values from fix.nugget = TRUE) or should
be estimated (fix.nugget = FALSE). Defaults to
FALSE.fix.nugget = TRUE or as a initial value for the
minimization algorithm if fix.nugget = FALSE.
Defaults to zero.TRUE.fix.kappa = TRUE or as a initial value for the
minimization algorithm if fix.kappa = FALSE. Only required if
one of the following correlation functionsvario has empirical variograms for more than one
data-set (or simulation). Indicates to which one the model will be
fitted.vario$max.dist.DETAILS below.minimisation.function = "optim".
The auxiliary function pars.limits"optim", "nlm".
If weights = "equal" the option
"nls" is also valid and det as default.
Otherwise defaults to "opcontrol() which controls the
behavior of the minimization algorithm. See documentation for the
selected minimization function for furthclass "variomodel" and "variofit" which is list with the following components:fix.nugget = FALSE or a fixed value if fix.nugget = TRUE.vario. The parameter values are found by numerical optimization using one of
the functions: optim, nlm and nls.
In given circunstances the algorithm may not converge to correct
parameter values when called with default options and the user may
need to pass extra options for the optimizers. For instance the
function optim takes a control argument.
The user should try different initial values and if the parameters have
different orders of magnitude may need to use options to scale the parameters.
Some possible workarounds in case of problems include:
control()options for the
optimiser internallyini.cov.pars. The elements are initial values for
$\sigma^2$ and $\phi$, respectively.
This vector is concatenated with the value of the
argument nugget if fix.nugget = FALSE and kappa
if fix.kappa = TRUE.
Specification of multiple initial values is also possible.
If this is the case, the function
searches for the one which minimizes the loss function and uses this as
the initial value for the minimization algorithm.
Multiple initial values are specified by providing a matrix in the
argument
ini.cov.pars and/or, vectors in the arguments
nugget and kappa (if included in the estimation).
If ini.cov.pars is a matrix, the first column has values of
$\sigma^2$ and the second has values of $\phi$. Alternatively the argument ini.cov.pars can take an object of
the class eyefit or variomodel. This allows the usage
of an output of the functions eyefit, variofit or
likfit be used as initial value.
If minimisation.function = "nls" only the values of
$\phi$ and $\kappa$ (if this is included in the
estimation) are used. Values for the remaning are not need by the algorithm.
If cov.model = "linear" only the value of
$\sigma^2$ is used. Values for the
remaning are not need by this algorithm.
If cov.model = "pure.nugget" no initial values are needed since
no minimisation function is used.
Weights
The different options for the argument weights
are used to define the loss function to be minimised.
The available options are as follows.
[object Object],[object Object],[object Object],Where $\theta$ is the vector with the variogram parameters
and
for each $k^{th}$-bin
$n_k$ is the number of
pairs, $(\hat{\gamma}_k)$ is the
value of the empirical variogram and
$\gamma_k(\theta)$
is the value of the theoretical variogram.
See also Cressie (1993) and Barry, Crowder and Diggle (1997) for further discussions on
methods to estimate the variogram parameters.
Cressie, N.A.C (1993) Statistics for Spatial Data. New York: Wiley.
Further information on the package
cov.spatial for a detailed description of the
available correlation (variogram) functions,
likfit for maximum
and restricted maximum likelihood estimation,
lines.variomodel for graphical output of the fitted
model. For details on the minimization functions see optim,
nlm and nls.vario100 <- variog(s100, max.dist=1)
ini.vals <- expand.grid(seq(0,1,l=5), seq(0,1,l=5))
ols <- variofit(vario100, ini=ini.vals, fix.nug=TRUE, wei="equal")
summary(ols)
wls <- variofit(vario100, ini=ini.vals, fix.nug=TRUE)
summary(wls)
plot(vario100)
lines(wls)
lines(ols, lty=2)
<testonly>vr <- variog(s100, max.dist=1)
## OLS#
o1 <- variofit(vr, ini = c(.5, .5), fix.nug=TRUE, wei = "equal")
o2 <- variofit(vr, ini = c(.5, .5), wei = "equal")
o3 <- variofit(vr, ini = c(.5, .5), fix.nug=TRUE,
fix.kappa = FALSE, wei = "equal")
o4 <- variofit(vr, ini = c(.5, .5), fix.kappa = FALSE, wei = "equal")
## WLS
w1 <- variofit(vr, ini = c(.5, .5), fix.nug=TRUE)
w2 <- variofit(vr, ini = c(.5, .5))
w3 <- variofit(vr, ini = c(.5, .5), fix.nug=TRUE, fix.kappa = FALSE)
w4 <- variofit(vr, ini = c(.5, .5), fix.kappa = FALSE)</testonly>Run the code above in your browser using DataLab