errorsarlm               package:spdep               R Documentation

_S_p_a_t_i_a_l _s_i_m_u_l_t_a_n_e_o_u_s _a_u_t_o_r_e_g_r_e_s_s_i_v_e _e_r_r_o_r _m_o_d_e_l _e_s_t_i_m_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Maximum likelihood estimation of spatial simultaneous
     autoregressive error models of the form:


                  y = X beta + u, u = lambda W u + e


     where lambda is found by 'optimize()' first, and beta and other
     parameters by generalized least squares subsequently
     (one-dimensional search using optim performs badly on some
     platforms).

_U_s_a_g_e:

     errorsarlm(formula, data=list(), listw, na.action,
      method="eigen", quiet=TRUE, zero.policy=FALSE,
      interval = c(-1, 0.999), tol.solve=1.0e-10,
      tol.opt=.Machine$double.eps^0.5, returnHcov=TRUE, pWOrder=250,
      fdHess=NULL, optimHess=FALSE, trs=NULL)

_A_r_g_u_m_e_n_t_s:

 formula: a symbolic description of the model to be fit. The details 
          of model specification are given for 'lm()'

    data: an optional data frame containing the variables in the model.
           By default the variables are taken from the environment
          which the function  is called.

   listw: a 'listw' object created for example by 'nb2listw'

na.action: a function (default 'options("na.action")'), can also be
          'na.omit' or 'na.exclude' with consequences for residuals and
          fitted values - in these cases the weights list will be
          subsetted to remove NAs in the data. It may be necessary to
          set zero.policy to TRUE because this subsetting may create
          no-neighbour observations. Note that only weights lists
          created without using the glist argument to 'nb2listw' may be
          subsetted.

  method: "eigen" (default) - the Jacobian is computed as the product 
          of (1 - rho*eigenvalue) using 'eigenw', and "spam" or
          "Matrix" for strictly symmetric weights lists of styles "B"
          and "C", or made symmetric by similarity (Ord, 1975, Appendix
          C) if possible for styles "W" and "S", using code from the
          spam package or Matrix package to calculate the determinant. 

   quiet: default=TRUE; if FALSE, reports function values during
          optimization.

zero.policy: if TRUE assign zero to the lagged value of zones without 
          neighbours, if FALSE (default) assign NA - causing
          'errorsarlm()' to terminate with an error

interval: search interval for autoregressive parameter when not using
          method="eigen"; default is c(-1,1)

tol.solve: the tolerance for detecting linear dependencies in the
          columns of matrices to be inverted - passed to 'solve()'
          (default=1.0e-10). This may be used if necessary to extract
          coefficient standard errors (for instance lowering to 1e-12),
          but errors in 'solve()' may constitute indications of poorly
          scaled variables: if the variables have scales differing much
          from the autoregressive coefficient, the values in this
          matrix may be very different in scale, and inverting such a
          matrix is analytically possible by definition, but
          numerically unstable; rescaling the RHS variables alleviates
          this better than setting tol.solve to a very small value

 tol.opt: the desired accuracy of the optimization - passed to
          'optim()' (default=square root of double precision machine
          tolerance, a larger root may be used if the warning: ERROR:
          ABNORMAL_TERMINATION_IN_LNSRCH is seen, see help(boston) for
          an example)

returnHcov: default TRUE, return the Vo matrix for a spatial Hausman
          test

 pWOrder: default 250, if returnHcov=TRUE and the method is not
          eigen, pass this order to 'powerWeights' as the power
          series maximum limit

  fdHess: default NULL, then set to (method != "eigen") internally; use
          'fdHess' to compute an approximate Hessian using finite
          differences when using sparse matrix methods; used to make a
          coefficient covariance matrix when the number of observations
          is large; may be turned off to save resources if need be

optimHess: default FALSE, use 'fdHess' from 'nlme', if TRUE, use
          'optim' to calculate Hessian at optimum

     trs: default NULL, if given, a vector of powered spatial weights
          matrix traces output by 'trW'; when given, insert the
          asymptotic analytical values into the numerical Hessian
          instead of the approximated values; may be used to get around
          some problems raised when the numerical Hessian is poorly
          conditioned, generating NaNs in subsequent operations. When
          using the numerical Hessian to get the standard error of
          lambda, it is very strongly advised that trs be given, as the
          parts of fdHess corresponding to the regression coefficients
          are badly approximated, affecting the standard error of
          lambda; the coefficient correlation matrix is unusable

_D_e_t_a_i_l_s:

     The asymptotic standard error of lambda is only computed when
     method=eigen, because the full matrix operations involved would be
     costly for large n typically associated with the choice of
     method="spam" or "Matrix".  The same applies to the coefficient
     covariance matrix. Taken as the asymptotic matrix from the
     literature, it is typically badly scaled, being block-diagonal,
     and with the elements involving lambda being very small, while
     other parts of the matrix can be very large (often many orders of
     magnitude in difference). It often happens that the 'tol.solve'
     argument needs to be set to a smaller value than the default, or
     the RHS variables can be centred or reduced in range.

     Note that the fitted() function for the output object assumes that
     the response  variable may be reconstructed as the sum of the
     trend, the signal, and the noise (residuals). Since the values of
     the response variable are known, their spatial lags are used to
     calculate signal components (Cressie 1993, p. 564). This differs
     from other software, including GeoDa, which does not use knowledge
     of the response  variable in making predictions for the fitting
     data.

_V_a_l_u_e:

     A list object of class 'sarlm' 

    type: "error"

  lambda: simultaneous autoregressive error coefficient

coefficients: GLS coefficient estimates

 rest.se: GLS coefficient standard errors (are equal to asymptotic
          standard errors)

      LL: log likelihood value at computed optimum

      s2: GLS residual variance

     SSE: sum of squared GLS errors

parameters: number of parameters estimated

lm.model: the 'lm' object returned when estimating for lambda=0

  method: the method used to calculate the Jacobian

    call: the call used to create this object

residuals: GLS residuals

lm.target: the 'lm' object returned for the GLS fit

fitted.values: Difference between residuals and response variable

     ase: TRUE if method=eigen

 formula: model formula

  se.fit: Not used yet

lambda.se: if ase=TRUE, the asymptotic standard error of lambda

  LMtest: NULL for this model

 aliased: if not NULL, details of aliased variables

LLNullLlm: Log-likelihood of the null linear model

    Hcov: Spatial DGP covariance matrix for Hausman test if available

interval: line search interval

  fdHess: finite difference Hessian

optimHess: 'optim' or 'fdHess' used

  insert: logical; is TRUE, asymptotic values inserted in fdHess where
          feasible

zero.policy: zero.policy for this model

na.action: (possibly) named vector of excluded or omitted observations
          if non-default na.action argument used


     The internal sar.error.* functions return the value of the log
     likelihood function at lambda.

_A_u_t_h_o_r(_s):

     Roger Bivand Roger.Bivand@nhh.no

_R_e_f_e_r_e_n_c_e_s:

     Cliff, A. D., Ord, J. K. 1981 _Spatial processes_, Pion; Ord, J.
     K. 1975 Estimation methods for models of spatial interaction,
     _Journal of the American Statistical Association_, 70, 120-126;
     Anselin, L. 1988 _Spatial econometrics: methods and models._
     (Dordrecht: Kluwer); Anselin, L. 1995 SpaceStat, a software
     program for the analysis of spatial data, version 1.80. Regional
     Research Institute, West Virginia University, Morgantown, WV
     (<URL: www.spacestat.com>); Anselin L, Bera AK (1998) Spatial
     dependence in linear regression models with an introduction to
     spatial econometrics. In: Ullah A, Giles DEA (eds) Handbook of
     applied economic statistics. Marcel Dekker, New York, pp. 237-289;
     Cressie, N. A. C. 1993 _Statistics for spatial data_, Wiley, New
     York.

_S_e_e _A_l_s_o:

     'lm', 'lagsarlm', 'similar.listw', 'predict.sarlm',
     'residuals.sarlm'

_E_x_a_m_p_l_e_s:

     data(oldcol)
     COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD,
      nb2listw(COL.nb, style="W"), method="eigen", quiet=FALSE)
     summary(COL.errW.eig, correlation=TRUE)
     COL.errB.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD,
      nb2listw(COL.nb, style="B"), method="eigen", quiet=FALSE)
     summary(COL.errB.eig, correlation=TRUE)
     W <- as(as_dgRMatrix_listw(nb2listw(COL.nb)), "CsparseMatrix")
     trMatc <- trW(W, type="mult")
     COL.errW.M <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD,
      nb2listw(COL.nb, style="W"), method="Matrix", quiet=FALSE, trs=trMatc)
     summary(COL.errW.M, correlation=TRUE)
     NA.COL.OLD <- COL.OLD
     NA.COL.OLD$CRIME[20:25] <- NA
     COL.err.NA <- errorsarlm(CRIME ~ INC + HOVAL, data=NA.COL.OLD,
      nb2listw(COL.nb), na.action=na.exclude)
     COL.err.NA$na.action
     COL.err.NA
     resid(COL.err.NA)

