Solved – spatial autocorrelation for time series data

correlationrspatialspatio-temporaltime series

I have a 20-yr dataset of an annual count of species abundance for a set of polygons (~200 irregularly shaped, continuous polygons). I have been using regression analysis to infer trends (change in count per year) for each polygon, as well as aggregations of polygon data based on management boundaries.

I am sure that there is spatial autocorrelation in the data, which is sure to impact the regression analysis for the aggregated data. My question is – how do I run a SAC test for time series data? Do I need to look at the SAC of residuals from my regression for each year (global Moran's I)? Or can I run one test with all years?

Once I've tested that yes there is SAC, is there an easy was to address this? My stats background is minimal and everything I've read on spatio-temporal modeling sounds very complex. I know that R has a distance-weighted autocovariate function – is this at all simple to use?

I'm really quite confused on how to assess/addess SAC for this problem and would very much appreciate any suggestions, links, or references. Thanks in advance!

Best Answer

According to this paper, OLS is consistent in the presence of spatial autocorrelation, but standard errors are incorrect and need to be adjusted. Solomon Hsiang provides stata and matlab code for doing so. Unfortunately I'm not familiar with any R code for this.

There are certainly other approaches to this sort of problem in spatial statistics that explicitly model spatial processes. This one just inflates the standard errors.

Theoretical econometricians unfortunately seem to take pleasure in obfuscating. The linked paper is really hard to read. Basically what it says is run whatever regression you want, and then go fix the standard errors later. Space doesn't come into it until you try to estimate the variance of your estimator. Intuitively, if all the difference is close together, you're less certain that your estimate isn't just a relic of some unobserved spatial shock.

Note that you need to specify a kernel bandwidth over which you think the spatial process might be operating.

This answer is basically a copy/paste rehash of a similar answer I made here