[R-sig-ME] spatial correlation structures in multilevel models?

Malcolm Fairbrother m.fairbrother at bristol.ac.uk
Fri Jul 16 10:34:41 CEST 2010


Thanks to both Ben Bolker and Steven Pierce for responses to this question--their general consensus seems to be that WinBUGS would be an option, but lme4 and nlme won't work.

I also subsequently discovered that MLwiN can fit multilevel models taking into account the location of the higher-level units. It can do that because it can fit "multiple membership" multilevel models (e.g., where a given student is nested within more than one school for a single observation period, and the memberships are weighted in some way which sums to 1). The trick for spatial multilevel models is to treat each lower-level unit as a member of both the higher-level unit in which it is located (first, standard random effect), and of all of its weighted neighbouring units (second random effect).

- Malcolm


Dr Malcolm Fairbrother
Lecturer
School of Geographical Sciences
University of Bristol



On 12 Jul 2010, at 20:19, Steven J. Pierce wrote:

> You might also try doing that model with WinBUGS. There are packages that
> will help you move the data out to WinBUGS from R and then bring the results
> back into R for post processing. 
> 
> Steven J. Pierce, Ph.D. 
> Associate Director 
> Center for Statistical Training & Consulting (CSTAT) 
> Michigan State University 
> E-mail: pierces1 at msu.edu 
> Web: http://www.cstat.msu.edu 
> 
> -----Original Message-----
> From: Malcolm Fairbrother [mailto:m.fairbrother at bristol.ac.uk] 
> Sent: Monday, July 12, 2010 12:00 PM
> To: r-sig-mixed-models at r-project.org
> Subject: [R-sig-ME] spatial correlation structures in multilevel models?
> 
> Dear all,
> 
> I'm interested in fitting a three-level model where the 1st level units are
> individuals, and the 2nd and 3rd levels are (nested) geographical units,
> whose locations (centroids) are known. (The precise location of each
> individual is not known--just the unit to which he/she belongs.) I'd like to
> exploit the fact that the locations are known, since people in
> neighbouring/nearby units should be more similar than people in units that
> are distant from each other. To be specific, I'd like a given unit's random
> intercept to be adjusted according to the data from nearby/neighbouring
> units--especially for instances where I have few observations for a unit but
> lots of observations for neighbouring units.
> 
> My understanding is that lme4 and MCMCglmm cannot do this, in the sense that
> they cannot specify spatial correlation structures. Using these packages, at
> most, some characteristic of a unit's location (e.g., latitude, distance
> from X point) and/or some (weighted) characteristic of a unit's neighbour(s)
> could be included as a fixed effect.
> 
> However, as I understand it, nlme can do this, using the "correlation"
> argument (e.g., "correlation = corExp(form = ~ ...").
> 
> Is this correct? Will nlme adjust the random intercepts in such a way? And
> would it be a problem that it's the higher-level units, not the lowest-level
> units, for which I know the locations?
> 
> If I'm being over-ambitious/demanding here, no worries at all--I'm just
> curious whether this is possible. I don't have the data yet.
> 
> Many thanks,
> Malcolm
> 
> 
> Dr Malcolm Fairbrother
> Lecturer
> School of Geographical Sciences
> University of Bristol
> 
> 
> 




More information about the R-sig-mixed-models mailing list