# Spatial Lag or spatial Error Model? Deciding by using the Lagrange multiplier diagnostics

Honestly, my knowledge of geostatistics is limited. My assumptions are as follows: If I want to choose between a Spatial Lag Model (SLM) and a Spatial Error Model (SEM), I can use the Lagrange multiplier (LM) diagnostics (Moran I of the residuals is 0.4 and highly significant) :

Command:

LM <- lm.LMtests(ols model, neighbouring list with weights, test = "all")


Output:

    Lagrange multiplier diagnostics for spatial dependence

data:
model: lm(formula = reg.eq1, data = spat.data)
weights: listw1

LMerr = 67.779, df = 1, p-value = 2.22e-16

Lagrange multiplier diagnostics for spatial dependence

data:
model: lm(formula = reg.eq1, data = spat.data)
weights: listw1

LMlag = 62.337, df = 1, p-value = 2.887e-15

Lagrange multiplier diagnostics for spatial dependence

data:
model: lm(formula = reg.eq1, data = spat.data)
weights: listw1

RLMerr = 6.2056, df = 1, p-value = 0.01273

Lagrange multiplier diagnostics for spatial dependence

data:
model: lm(formula = reg.eq1, data = spat.data)
weights: listw1

RLMlag = 0.76286, df = 1, p-value = 0.3824

Lagrange multiplier diagnostics for spatial dependence

data:
model: lm(formula = reg.eq1, data = spat.data)
weights: listw1

SARMA = 68.542, df = 2, p-value = 1.332e-15


The test statistics of the LMerr and LMlag test are both significant, therefore the test statistics of the RLMerr and RLMlag models will now be reviewed. One of these tests should normally be significant (no idea if this is correct). In this test both tests are not significant for RLMerr and RLMlag. How can I decide which model is the right one?

My goal is to have a model where I the spatial auto correlation of my data is respected and I can interpret the coefficients similar to a valid OLS model.

SLM output:


Call:spatialreg::lagsarlm(formula = formula, data = data, listw = listw,
na.action = na.action, Durbin = Durbin, type = type, method = method,
quiet = quiet, zero.policy = zero.policy, interval = interval,     tol.solve = tol.solve, trs = trs, control = control)

Residuals:
Min       1Q   Median       3Q      Max
-5.90217 -1.31517  0.15839  1.26715  7.02599

Type: lag
Coefficients: (numerical Hessian approximate standard errors)
Estimate   Std. Error z value         Pr(>|z|)
(Intercept) -3.133539885  0.465245837 -6.7352 0.00000000001637
X.1  0.495179123  0.076132001  6.5042 0.00000000007810
X.2  0.002219215  0.000799579  2.7755         0.005512
X.3  0.011423428  0.002880258  3.9661 0.00007305419432
X.4  0.005693353  0.040659589  0.1400         0.888640
X.5  0.008274064  0.010515712  0.7868         0.431382
X.6 -0.000010396  0.000001686 -6.1662 0.00000000069960

Rho: 0.27357, LR test value: 72.191, p-value: < 2.22e-16
Approximate (numerical Hessian) standard error: 0.030018
z-value: 9.1137, p-value: < 2.22e-16
Wald statistic: 83.059, p-value: < 2.22e-16

Log likelihood: -1036.287 for lag model
ML residual variance (sigma squared): 4.0618, (sigma: 2.0154)
Number of observations: 483
Number of parameters estimated: 9
AIC: 2090.6, (AIC for lm: 2160.8)


SEM output:

Call:spatialreg::errorsarlm(formula = formula, data = data, listw = listw,
na.action = na.action, Durbin = Durbin, etype = etype, method = method,
quiet = quiet, zero.policy = zero.policy, interval = interval,     tol.solve = tol.solve, trs = trs, control = control)

Residuals:
Min      1Q  Median      3Q     Max
-5.3491 -1.3147  0.2039  1.1794  7.0278

Type: error
Coefficients: (asymptotic standard errors)
Estimate    Std. Error z value  Pr(>|z|)
(Intercept) -3.7321708859  0.5251041097 -7.1075 1.182e-12
X.1  0.6620559864  0.0796954580  8.3073 < 2.2e-16
X.2 0.0017022097  0.0008233565  2.0674 0.0386962
X.3  0.0092276801  0.0027410020  3.3665 0.0007612
X.4 -0.0009331044  0.0464122330 -0.0201 0.9839598
X.5 -0.0056722714  0.0111029290 -0.5109 0.6094346
X.6 -0.0000131278  0.0000020475 -6.4116 1.440e-10

Lambda: 0.32877, LR test value: 83.727, p-value: < 2.22e-16
Approximate (numerical Hessian) standard error: 0.03291
z-value: 9.9898, p-value: < 2.
$$$$
`