I have a set of fine resolution rasters for the Florida peninsula. These rasters are going to be used in species distribution modeling. Many of these rasters represent variables that are clearly going to be related, so prior to using them in the model I'm performing a global PCA to generate new rasters. All of my rasters are of continuous data (no binary data or categorical variables).
However, I think I can make the case that it doesn't make sense to perform a global PCA for such a large area where the values of the variables are going to vary dramatically from one part of the state to another. So, I was considering going with a geographically weighted PCA (gwpca) instead, and was thinking that it might make sense to base the radius of the gwpca on the distance of spatial autocorrelation. Ideally, I would determine the distance individually for each pixel, but I don't know of any software that can do this, any paper or website that outlines the process, or even if it's computationally viable if I were to try and code my own solution. Alternatively, the backup plan is to come up with a single estimate and use it across the raster. This spatial autocorrelation distance would also be used to thin out high concentrations of points in my point data that is going to be used for generating the model.
How do I determine the distance at which spatial autocorrelation occurs? Should I do it on a per pixel, per site, and/or per raster basis?
What I've done so far:
Most of my work is done in R (I also use tools like GDAL and GRASS. I'm on Linux, so cannot use ESRI gis products).
I can take a raster and find the global Moran's I. I can also subset it using any given point and a radius, and use this to generate semivariograms and correlograms. I have a basic understanding of sill, nugget, and range, but am not aware of any how I could automate the process of determining the distance in which spatial autocorrelation is a factor.