February 4, 2019 at 11:22 am #6611
Is St-sym/Syncro-sim able to run spatial regression, in order to model past land use change? Let’s say I wanted to find a probability of transition from forest to urban (provided by rasters at different time points) as a (let’s assume, linear) function of income or education level (also provided by rasters). Can I use st-sym and rSynchroSim to provide probabilistic estimates of land use change, as well as future projections (assuming I know how income will change for instance). I assume income would be a spatial multiplier that I could use to project myself in the future, but how about for modelling the past and obtaining correlations between past changes in income and past changes in land use?
Thanks in advance for your help, let me know if this needs further clarification.February 5, 2019 at 9:46 am #6613Bronwyn RayfieldKeymaster
You’re correct that you could use the advanced feature called spatial multipliers to capture the spatial (and temporal) effect of income on the probability of transition from forest to urban. Spatial multipliers let you adjust the probability of transition in any cell on your landscape at any time and take the form of a raster by timestep. The transition probability of a given cell on your landscape from one state to another is the product of the spatial multiplier raster and your base transition probabilities. If you set your base transition probabilities all to 1 (in your Pathway Diagram), you can enter the actual value of your probabilities as multipliers. You could go so far as to have a spatial multiplier raster for each transition and each timestep.
If you have rasters of projected income in 2025 and 2050, you can use them to generate spatial multipliers for those years. To generate spatial multipliers, you would need to know the relationship between income and transition probability. This gets to your question of whether ST-Sim is able to run a spatial regression in order to determine the relationship between income and transition probability based on historic data. We use R for this type of statistical analysis as there are many excellent packages that allow you to use frequentist or Bayesian methods to estimate regression coefficients. You could use any language or program you like to run the spatial regression, e.g. Python or ArcGIS. The nice thing about using R is that you can use the rsyncrosim R package to interface with ST-Sim which lets you both prepare ST-Sim inputs, such as spatial multipliers, and run ST-Sim models all from within the same platform. There is always the possibility of developing an ST-Sim Add-On which would perform the spatial regression to generate spatial multiplier rasters internally but there hasn’t been a demand for this to date as most of our advanced users like to script and customize these input preparation steps themselves.
One last note is that the spatial multipliers can be generated dynamically during the course of a simulation in response to changes in the landscape. For example, ST-Sim can pause every 10 years and feed information on the state of the landscape to an R script which would then calculate new spatial multipliers and pass them back to ST-Sim and the simulation would continue.February 5, 2019 at 10:38 am #6614
Thanks a lot for the help.
This gets to your question of whether ST-Sim is able to run a spatial regression in order to determine the relationship between income and transition probability based on historic data. We use R for this type of statistical analysis as there are many excellent packages that allow you to use frequentist or Bayesian methods to estimate regression coefficients.
There is always the possibility of developing an ST-Sim Add-On which would perform the spatial regression
If I follow you well, my two options are:
1) Using a r package or maybe arcpy module to produce my initial probabilities. For this option, is there a specific R package you would recommend?
2) Developping an addom. Is there documentation on how to proceed?
February 5, 2019 at 5:53 pm #6621Colin DanielKeymaster
- This reply was modified 3 years, 7 months ago by Tom RoeAdmin.
An Add-on is a SyncroSim Package that extends the functionality of an existing Base Package (like the stsim package). You can also develop your own new Base Package that contains ST-Sim. There are subtle differences between Add-On and Base Packages that probably aren’t important to you at this stage. Either way you would be developing a SyncroSim Package. For any SyncroSim Package you would start by developing a script in R using the rsyncrosim R package to do your spatial regression (as a pre-processing step to running ST-Sim). Once you have the script working you then simply add an XML configuration file to define how this script ties into SyncroSim. Note that you don’t need to develop a Package in order to do your spatial regression – rather you can develop a script in R that first does the spatial regression and then runs ST-Sim and never bother going on to turn this into a Package. We do this kind of thing all the time. Much like in other programming environments (e.g. R) you would only bother developing a Package if you wanted to distribute your script to others in a user-friendly way.
Unfortunately we haven’t had time yet to publish a developer’s guide for SyncroSim – we will be working on this over the coming months. In the meantime you can get an idea of how SyncroSim Packages are developed by looking at the source code for several existing packages at github.com/ApexRMS.February 5, 2019 at 6:13 pm #6622
Thank you very much for the precisions. I would find it cool to develop a simple add-on for spatial regression, but I understand it is should not be my priority here.February 6, 2019 at 3:31 pm #6624Bronwyn RayfieldKeymaster
It would be hard to recommend a single R package that would be best in all situations, it really depends on your data and specific question (presumably transition probabilities will be a function of more than just income in your study area). I would recommend that you start with a non-spatial logistic regression first and test the regression residuals for spatial autocorrelation to see if you need to run a spatial regression model (e.g. spatial lag, spatial error, or geographically-weighted regression model). Also, take time to consider whether frequentist or Bayesian techniques are most appropriate. There are several excellent R forums that can point you towards the required R packages (https://r-dir.com/community/forums.html).February 6, 2019 at 4:09 pm #6625
Hi Bronwyn, thank you for the advice. I understand it is hard to recommend a package.
Thanks again to both of you for your guidance.
- You must be logged in to reply to this topic.