likfit(geodata, coords = geodata$coords, data = geodata$data,
trend = "cte", ini.cov.pars, fix.nugget = FALSE, nugget = 0,
fix.kappa = TRUE, kappa = 0.5, fix.lambda = TRUE, lambda = 1,
fix.psiA = TRUE, psiA = 0, fix.psiR = TRUE, psiR = 1,
cov.model = "matern", realisations,
method.lik = "ML", components = FALSE,
nospatial = TRUE, limits = likfit.limits(),
print.pars = FALSE, messages.screen = TRUE, ...)coords and
data as described next.
Typically an object of the class "geodata" - a geoR
data-set.
If not provided the arguments
coords and datacoords of the argument geodata, if provided.data of the argument geodata, if provided.trend.spatial for further details.
Defaults to "cte".DETAILS below.fix.nugget = TRUE) or should be
estimated (fix.nugget = FALSE). Defaults to
FALSE.fix.nugget = TRUE otherwise
as the initial value for the
minimization algorithm.
Defaults to zero.fix.kappa = TRUE) or should be
estimated (fix.kappa = FALSE). Defaults to
TRUE.fix.kappa = TRUE
otherwise as the initial value for the
minimization algorithm. Defaults to
$0.5$. This parameter is valid only if the covariance function is fix.lambda = TRUE) or should be
be estimated (fix.lambda = FALSE). Defaults to
TRUE.fix.lambda = TRUE otherwise
as the initial value for the
minimization algorithm. Defaults to
$1$. Two particular cases are $\lambda = 1fix.psiA = TRUE) or should
be estimated (fix.psiA = FALSE). Defaults to
TRUE.fix.psiA = TRUE
otherwise as the initial value for the
minimization algorithm.
Defaults to $0$. See fix.psiR = TRUE) or should be
estimated (fix.psiR = FALSE). Defaults to
TRUE.fix.psiR = TRUE
otherwise as the initial value for the
minimization algorithm.
Defaults to $1$. See cov.spatial.
Defaults are equivalent to the exponential model.as.geodata."ML" for maximum likelihood and "REML" for
restricted maximum likelihood. Defaults to "ML".DETAILS below for the model specification.TRUE parameter estimates for the
model without spatial component are included in the output.likfit.limits() is called to set the
limits.TRUE the parameters and the value
of the negative log-likelihood (up to a constant) are printed each
time the function to be minimised is called.control() which controls the
behavior of the minimization algorithm. For further details see documentation
for the minimization fu"likGRF" and "variomodel".
The function summary.likGRF is used to print a summary
of the fitted model.
The object is a list with the following components:fix.nugget = FALSE otherwise, a fixed
value."matern",
"powered.exponential", "cauchy"
or "gneiting.matern".fix.lambda = TRUE otherwise the estimate value."ML" (maximum likelihood)
or "REML" (restricted maximum likelihood).likfit. Two cases of particular interest are $\lambda = 1$
indicating no transformation and $\lambda = 0$
indicating log-transformation.
Parameter estimation is performed numerically using the Rfunction optim to minimize the
negative log-likelihood computed by negloglik.GRF.
Lower and upper limits for parameter values can be
individually specified using the function likfit.limits().
For example, including the following in the function call:
limits = likfit.limits(phi=c(0, 10), lambda=c(-2.5, 2.5)),
will change the limits for the parameters $\phi$ and $\lambda$.
Default values are used if the argument limits is not provided.
If the fix.lambda = FALSE and nospatial = FALSE the
Box-Cox parameter for the model without the spatial component is
obtained numerically, with log-likelihood computed by the function
boxcox.ns.
Multiple initial values can be specified providing a $n
\time 2$ matrix for the argument ini.cov.pars and/or
providing a vector for the values of the remaining model parameters.
In this case the log-likelihood is computed for all combinations of
model parameters. The set with results in the maximum value of the
log-likelihood is then used to start the minimisation algorithm.
summary.likGRF for summary of the results,
plot.variogram, lines.variogram and
lines.variomodel for graphical output,
proflik for computing profile likelihoods,
variofit and for other estimation methods,
and optim for the numerical minimization function.if(is.R()) data(s100)
ml <- likfit(s100, ini=c(0.5, 0.5), fix.nug = TRUE)
ml
summary(ml)
reml <- likfit(s100, ini=c(0.5, 0.5), fix.nug = TRUE, met = "REML")
summary(reml)
plot(variog(s100))
lines(ml)
lines(reml, lty = 2)
<testonly>ap <- grf(50, cov.pars=c(1, .3), nug=.3)
ml <- likfit(ap, ini=c(0.5, 0.5), nug=0.2)
ml <- likfit(ap, ini=c(0.5, 0.5), fix.nug=TRUE, nug=0.2)
ml <- likfit(ap, data=exp(ap$data), ini=c(0.5, 0.5), nug=0.2, fix.lambda=FALSE)
ml <- likfit(ap, ini=c(0.5, 0.5), nug=0.2, fix.psiR = FALSE)
ml <- likfit(ap, ini=c(0.5, 0.5), nug=0.2, fix.psiA = FALSE, fix.psiR = FALSE)
ml <- likfit(ap, ini=c(0.5, 0.5), cov.model="matern", fix.kappa=TRUE, kappa=2)
ml <- likfit(ap, ini=c(0.5, 0.5), cov.model="matern", fix.kappa=FALSE)
ml <- likfit(ap, ini=expand.grid(c(.5,1,1.5),c(.1,.2,.3)))
ml <- likfit(ap, ini=expand.grid(c(.5,1),c(.1,.2)), nug=c(.2,.3))
## Multiple realizations
ap1 <- grf(30, cov.pars=c(1, .3))
ap2 <- grf(20, cov.pars=c(1, .3))
ap3 <- grf(40, cov.pars=c(1, .3))
ap <- list(coords = rbind(ap1$coords, ap2$coords, ap3$coords), data = c(ap1$data, ap2$data, ap3$data))
ap$realisations <- c(rep(1,30), rep(2,20), rep(3,40))
ap.fit <- likfit(ap, ini=c(.5, .5), reali=ap$real)</testonly>Run the code above in your browser using DataLab