Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic BLM calibration #175

Open
jeffreyhanson opened this issue Jan 18, 2021 · 6 comments
Open

Automatic BLM calibration #175

jeffreyhanson opened this issue Jan 18, 2021 · 6 comments

Comments

@jeffreyhanson
Copy link
Contributor

The Marxan Good Practices Handbook outlines a method for automatically calibrating boundary length penalties (https://pacmara.org/wp-content/uploads/2010/07/Marxan-Good-Practices-Handbook-v2-2010.pdf, see section 8.3.5). It would be good to investigate this further, and add functionality to prioritizr. Admittedly, it does sound almost too good to be true.

@IsaakBM
Copy link

IsaakBM commented Mar 16, 2021

Hi @jeffreyhanson. I've created some R code to deal with the calibration issue that it's based on the Marxan Good Practices Handbook The only problem that I see is that in order to run a calibration procedure you need to have first the output for each "run" (e.g., BLM == 0 & BLM == 1). Then, calculating the "sweet spot" is not a problem (it works actually)

@jeffreyhanson
Copy link
Contributor Author

jeffreyhanson commented Mar 16, 2021

Hi @IsaakBM - that's awesome! What has your experience been with this method? Did the automatic BLM value result in a reasonably clumped prioritization? Or was it not clumped enough? Was the automatic BLM really good such that you didn't need to manually iterate over a range of BLMs?

Yeah, the trick with integrating this into prioritizr is that we need some way of making it work automatically for other objective functions (e.g. for the max features obj function we need to automatically set features weights to zero) -- and that not necceasrily straightforward.

@jeffreyhanson
Copy link
Contributor Author

Just to follow up, we recently wrote up a new tutorial for running calibration analyses (see https://prioritizr.net/articles/calibrating_trade-offs_tutorial.html). It provides R code for running the automatic method discussed here (see https://prioritizr.net/articles/calibrating_trade-offs_tutorial.html#cohon-et-al--1979-method).

@IsaakBM
Copy link

IsaakBM commented Dec 3, 2021

Hi @jeffreyhanson

Sorry for my slow (very very slow!) reply. This is great, I'm actually going to try your optimization code.

Thanks!
Isaac

@jeffreyhanson
Copy link
Contributor Author

No worries at all! Awesome - thank you! Please let me know if you encounter any issues or have any suggestions for improving it?

@IsaakBM
Copy link

IsaakBM commented Dec 3, 2021

For sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants