I'm trying to use landcover data from the NGS to run a logistic regression, using the same methodology from a study, Analyzing land cover change with logistic regression in R.

The problem is that I don't know how I can incorporate explanatory variables to account for the change. The data used in the study had variables such as proximity to roads and settlements, whereas the NGS data is simply descriptive of landcover type.

Do I need to manipulate the raster files in ArcMap in some ways before importing the csv into R, i.e. by somehow computing distance from each pixels to a road?

Or should I look for another set of data?


You need to generate the independent variable(s) to use in the model. For example, you can use a con statement to make the road class, in the NLCD, into a binary variable [0,1]. You can then use the Euclidean distance tool to create a distance to roads raster. Given your starting point, it may be prudent for you to seek help from somebody more experienced in this type of modeling.

I will say that, whereas the linked document spells out a clear methodology, these type of landuse change models are normally solved in a Monte Carlo framework. It is important to use a simulation approach to avoid spurious probability estimates and understand the error structure (uncertainty) of your resulting model. You also should apply an autocovariance term in the model due to the, very likely, presence of autocorrelation in the dependent variable. Use of an autoregressive model makes it absolutely essential that the model be solved via a Monte Carlo or Markov Chain Monte Carlo (MCMC). In this case, I would aim you towards a Hierarchical Bayesian model. The class-level transitional probabilities are an important output and not available in a binomial logistic modeling framework without using a simulation approach to get at the full distribution of the simulated probabilities.

Also, keep in mind that the neighborhood size used to generate some of the covariates can have a profound impact on model performance. Commonly, a sensitivity test is conducted to select the correct scale for a given covariate. However, the use of AICc in multiscale parameter selection is dubious at best due to nested variance between the scales of a parameter. You really need to put some thought, based on your system, what parameters will effect the outcome and at what scales. Modelling should not be conducted via a cookbook! The parameters defined in the document guiding your modeling may be completely irrelevant for your system and result in a model specification issue.

Just so you do not reinvent the wheel, making it square, the R packages lulcc and SIMLANDerR are specifically designed for landuse change modeling, implementing much more robust methods than a binomial logistic regression.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.