Eigenvector Spatial Filtering using NumPy and ArcGIS
Ordinary Least Squares regression techniques are often applied to model spatial phenomena. While these techniques are easy to use and understand, they frequently contain spatially autocorrelated residuals, indicating a misspecification error. Several techniques have been proposed to address this issue, including Geographically Weighted Regression (GWR), Spatial Autoregressive models (SAR/CAR), Bayesian Spatially Varying Coefficients (SVC), and others. However, recent work has shown the Eigenvector Spatial Filtering (ESF) approach to be an unbiased, efficient and consistent estimator for linear regression that often outperforms many of these other techniques (Griffith et al., 2009; Griffith and Chun, 2014). Until now, ESF libraries have only been available for R and SAS (Bivand, 2008). This paper demonstrates the ESF approach in Python, which, through PySAL, streamlines the process of getting GIS data into a NumPy-based regression model.