[R-sig-Geo] heteroskedasticity corrections for lagsarlm() in spdep

Roger Bivand Roger.Bivand at nhh.no
Fri Oct 21 22:05:17 CEST 2011


On Fri, 21 Oct 2011, Marco Helbich wrote:

> Dear Roger,
>
> sorry for my last incomplete posting. Below is the output you need to know 
> using the spdep example. Can you recommend other solutions to correct 
> heteroskedasticity in a lagsarlm?

update.packages() - your spdep is not updated, current is 0.5-40.

Roger

>
> I appreciate your helping hand!
> Best
> Marco
>
>> data(oldcol)
>> example <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, 
> style="W"))
>> lm.target <- lm(example$tary ~ example$tarX - 1)
> Fehler in model.frame.default(formula = example$tary ~ example$tarX - 1,  :
>  ungültiger Typ (NULL) für die Variable 'example$tary'
>> traceback()
> 5: model.frame.default(formula = example$tary ~ example$tarX - 1,
>       drop.unused.levels = TRUE)
> 4: model.frame(formula = example$tary ~ example$tarX - 1, drop.unused.levels 
> = TRUE)
> 3: eval(expr, envir, enclos)
> 2: eval(mf, parent.frame())
> 1: lm(example$tary ~ example$tarX - 1)
>> sessionInfo()
> R version 2.13.0 (2011-04-13)
> Platform: x86_64-pc-mingw32/x64 (64-bit)
>
> locale:
> [1] LC_COLLATE=German_Austria.1252  LC_CTYPE=German_Austria.1252 
> LC_MONETARY=German_Austria.1252
> [4] LC_NUMERIC=C                    LC_TIME=German_Austria.1252
>
> attached base packages:
> [1] splines   stats     graphics  grDevices utils     datasets  methods 
> base
>
> other attached packages:
> [1] robustbase_0.7-6   AER_1.1-8          strucchange_1.4-4 sandwich_2.2-7 
> lmtest_0.9-28      zoo_1.7-4
> [7] Formula_1.0-0      car_2.0-10         survival_2.36-5 nnet_7.3-1 
> spdep_0.5-35       coda_0.14-4
> [13] deldir_0.0-13      nlme_3.1-101       MASS_7.3-12 Matrix_0.9996875-3 
> boot_1.2-43        maptools_0.8-7
> [19] lattice_0.19-23    sp_0.9-82          foreign_0.8-43
>
> loaded via a namespace (and not attached):
> [1] grid_2.13.0  tools_2.13.0
>>
>
> Am 21.10.2011 17:31, schrieb Roger Bivand:
>> On Fri, 21 Oct 2011, Marco Helbich wrote:
>> 
>>> Dear list,
>>> 
>>> I have estimate a spatial simultaneous autoregressive lag model by
>>> means of the lagsarlm() function in the spdep package. The
>>> Breusch-Pagan test for spatial models bptest.sarlm() shows that there
>>> are some problems with heteroskedasticity.
>>> 
>>> On p. 21 in the spdep manual states that "it is also technically
>>> possible to make heteroskedasticity corrections to standard error
>>> estimates by using the “lm.target” component of sarlm objects - using
>>> functions in the lmtest and sandwich packages."
>>> 
>>> First I thought the code below could be the solution, but it fails. I
>>> have slightly adapted the code (lagsarlm instead of errorsarlm) on
>>> page 21.
>>> 
>>> data(oldcol)
>>> example <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD,
>>> nb2listw(COL.nb, style="W"))
>>> 
>>> lm.target <- lm(example$tary ~ example$tarX - 1)
>>> if (require(lmtest) && require(sandwich)) {
>>> coeftest(lm.target, vcov=vcovHC(lm.target, type="HC0"), df=Inf)
>>> }
>>> 
>>> I am sure anyone has already done this. I would appreciate every hint
>>> or piece of code (and sorry if this is nonsense).
>> 
>> But your code works? Could you please be more specific about what
>> doesn't work, the exact error message, the output of traceback() after
>> the message, and of sessionInfo()? Of course, for the spatial lag model,
>> this is really not OK, because of interaction between the covariance of
>> rho and the betas. For the spatial error model, they do not interact,
>> and the beta covariance matrix block is the same in OLS on the
>> transformed covariates and ML.
>> 
>> Roger
>> 
>>> 
>>> Thank you in advance!
>>> Best
>>> Marco
>>> 
>>> 
>> 
>
>
>

-- 
Roger Bivand
Department of Economics, NHH Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no


More information about the R-sig-Geo mailing list