Learn R Programming

geoR (version 1.5-6)

loglik.GRF: Log-Likelihood for a Gaussian Random Field

Description

This function computes the value of the log-likelihood for a Gaussian random field.

Usage

loglik.GRF(geodata, coords = geodata$coords, data = geodata$data,
           obj.model = NULL, cov.model = "exp", cov.pars, nugget = 0,
           kappa = 0.5, lambda = 1, psiR = 1, psiA = 0,
           trend = "cte", method.lik = "ML", compute.dists = TRUE,
           realisations = NULL)

Arguments

geodata
a list containing elements coords and data as described next. Typically an object of the class "geodata" - a geoR data-set. If not provided the arguments coords and
coords
an $n \times 2$ matrix, each row containing Euclidean coordinates of the n data locations. By default it takes the element coords of the argument geodata.
data
a vector with data values. By default it takes the element data of the argument geodata.
obj.model
a object of the class variomodel with a fitted model. Tipically an output of likfit or variofit.
cov.model
a string specifying the model for the correlation function. For further details see documentation for cov.spatial.
cov.pars
a vector with 2 elements with values of the covariance parameters $\sigma^2$ (partial sill) and $\phi$ (range parameter).
nugget
value of the nugget parameter. Defaults to $0$.
kappa
value of the smoothness parameter. Defaults to $0.5$.
lambda
value of the Box-Cox tranformation parameter. Defaults to $1$.
psiR
value of the anisotropy ratio parameter. Defaults to $1$, corresponding to isotropy.
psiA
value (in radians) of the anisotropy rotation parameter. Defaults to zero.
trend
specifies the mean part of the model. The options are: "cte" (constant mean), "1st" (a first order polynomial on the coordinates), "2nd" (a second order polynomial on the coordinates), or a formul
method.lik
options are "ML" for likelihood and "REML" for restricted likelihood. Defaults to "ML".
compute.dists
for internal use with other function. Don't change the default unless you know what you are doing.
realisations
optional. A vector indicating replication number for each data. For more details see as.geodata.

Value

  • The numerical value of the log-likelihood.

concept

Likelihood function for a Gaussian Random Field

Details

The expression log-likelihood is: $$l(\theta) = -\frac{n}{2} \log (2\pi) - \frac{1}{2} \log |\Sigma| - \frac{1}{2} (y - F\beta)' \Sigma^{-1} (y - F\beta),$$ where $n$ is the size of the data vector $y$, $\beta$ is the mean (vector) parameter with dimention $p$, $\Sigma$ is the covariance matrix and $F$ is the matrix with the values of the covariates (a vector of $1$'s if the mean is constant.

The expression restricted log-likelihood is: $$rl(\theta) = -\frac{n-p}{2} \log (2\pi) + \frac{1}{2} \log |F' F| - \frac{1}{2} \log |\Sigma| - \frac{1}{2} \log |F' \Sigma F| - \frac{1}{2} (y - F\beta)' \Sigma^{-1} (y - F\beta).$$

References

Further information on the package geoR can be found at: http://www.est.ufpr.br/geoR.

See Also

likfit for likelihood-based parameter estimation.

Examples

Run this code
data(s100)
loglik.GRF(s100, cov.pars=c(0.8, .25), nugget=0.2)
loglik.GRF(s100, cov.pars=c(0.8, .25), nugget=0.2, met="RML")

## Computing the likelihood of a model fitted by ML
s100.ml <- likfit(s100, ini=c(1, .5))
s100.ml
s100.ml$loglik
loglik.GRF(s100, obj=s100.ml)

## Computing the likelihood of a variogram fitted model
s100.v <- variog(s100, max.dist=1)
s100.vf <- variofit(s100.v, ini=c(1, .5))
s100.vf
loglik.GRF(s100, obj=s100.vf)

Run the code above in your browser using DataLab