Learn R Programming

spMC (version 0.3.15)

multi_tpfit_ils: Iterated Least Squares Method for Multidimensional Model Parameters Estimation

Description

The function estimates the model parameters of a \(d\)-D continuous lag spatial Markov chain by the use of the iterated least squares and the bound-constrained Lagrangian methods. Transition rates matrices along axial directions and proportions of categories are computed.

Usage

multi_tpfit_ils(data, coords, max.dist = Inf, mpoints = 20,
                tolerance = pi/8, rotation = NULL, q = 10,
                echo = FALSE, ..., mtpfit)

Value

An object of the class multi_tpfit is returned. The function print.multi_tpfit is used to print the fitted model. The object is a list with the following components:

coordsnames

a character vector containing the name of each axis.

coefficients

a list containing the transition rates matrices computed for each axial direction.

prop

a vector containing the proportions of each observed category.

tolerance

a numerical value which denotes the tolerance angle (in radians).

Arguments

data

a categorical data vector of length \(n\).

coords

an \(n \times d\) matrix where each row denotes the \(d\)-D coordinates of data locations.

max.dist

a numerical value which defines the maximum lag value. It is Inf by default.

mpoints

a numerical value which defines the number of lag intervals.

tolerance

a numerical value for the tolerance angle (in radians). It is pi/8 by default.

rotation

a numerical vector of length \(d - 1\) with rotation angles (in radians), in order to perform the main axes rotation. No rotation is performed by default.

q

a numerical value greater than one for a constant which controls the growth of the penalization term in the loss function. It is equal to 10 by default.

echo

a logical value; if TRUE, the function prints some information about the optimization. It is FALSE by default.

...

other arguments to pass to the function nlminb.

mtpfit

an object multi_tpfit to optimize. If missing, the algorithm starts with null transition rates matrices.

Author

Luca Sartore drwolf85@gmail.com

Warning

If the process is not stationary, the optimization algorithm does not converge.

Details

A \(d\)-D continuous-lag spatial Markov chain is probabilistic model which is developed by interpolation of the transition rate matrices computed for the main directions. It defines transition probabilities \(\Pr(Z(s + h) = z_k | Z(s) = z_j)\) through $$\mbox{expm} (\Vert h \Vert R),$$ where \(h\) is the lag vector and the entries of \(R\) are ellipsoidally interpolated.

The ellipsoidal interpolation is given by $$\vert r_{jk} \vert = \sqrt{\sum_{i = 1}^d \left( \frac{h_i}{\Vert h \Vert} r_{jk, \mathbf{e}_i} \right)^2},$$ where \(\mathbf{e}_i\) is a standard basis for a \(d\)-D space.

If \(h_i < 0\) the respective entries \(r_{jk, \mathbf{e}_i}\) are replaced by \(r_{jk, -\mathbf{e}_i}\), which is computed as $$r_{jk, -\mathbf{e}_i} = \frac{p_k}{p_j} \, r_{kj, \mathbf{e}_i},$$ where \(p_k\) and \(p_j\) respectively denote the proportions for the \(k\)-th and \(j\)-th categories. In so doing, the model may describe the anisotropy of the process.

In particular, to estimate entries of transition rate matrices computed for the main axial directions, we need to minimize the discrepancies between the empirical transiograms (see transiogram) and the predicted transition probabilities.

By the use of the iterated least squares, the diagonal entries of \(R\) are constrained to be negative, while the off-diagonal transition rates are constrained to be positive. Further constraints are considered in order to obtain a proper transition rates matrix.

References

Sartore, L. (2010) Geostatistical models for 3-D data. M.Phil. thesis, Ca' Foscari University of Venice.

See Also

predict.multi_tpfit, print.multi_tpfit, image.multi_tpfit, tpfit_ils, transiogram

Examples

Run this code
# \donttest{
data(ACM)

# Estimate the parameters of a 
# multidimensional MC model
multi_tpfit_ils(ACM$MAT3, ACM[, 1:3], 100)
# }

Run the code above in your browser using DataLab