spopt icon indicating copy to clipboard operation
spopt copied to clipboard

Expose, document, and demonstrate AZP variants

Open jGaboardi opened this issue 4 years ago • 5 comments

Currently the standard AZP algorithm is shown in the docs and demonstrated in the Tutorials. However, there are 3 variants of AZP available in spopt:

These three variants are not exposed in the API and don't appear to be fully functional.

jGaboardi avatar Jun 19 '21 14:06 jGaboardi

xref – #406, #386

jGaboardi avatar Oct 18 '23 14:10 jGaboardi

@jGaboardi Are we sure that the algorithms's functional logic is correct and only the API is outdated? Are there any document/benchmark for when these algorithms were running (before the API got outdated) so we can establish that logic is correct?

Details regarding this (via comment or associated links) would be helpful. Much thanks ~!

jonpsy avatar Nov 29 '23 06:11 jonpsy

Are we sure that the algorithms's functional logic is correct and only the API is outdated?

Nope. I have no idea. As @knaaptime pointed out here, we aren't exactly sure who contributed that. Maybe @sjsrey has a better idea?

Are there any document/benchmark for when these algorithms were running (before the API got outdated) so we can establish that logic is correct?

Another "not sure" here. At least not that I am aware of.

jGaboardi avatar Nov 29 '23 14:11 jGaboardi

@jonpsy the code was ported from the outdated pysal region module, which itself was a reimplementation of clusterpy, i believe. The algorithm itself should be in good shape, afaik (i actually dont know why the api never got integrated...), but if you want to benchmark it, there's a version of AZP in pygeoda you could test against if you like. The most recent paper i'm aware of that actually uses AZP is this, but apart from that it's not seen often in the wild.

if you want to get the api in working shape, we'd gladly accept a PR :)

knaaptime avatar Nov 30 '23 21:11 knaaptime

we'd gladly accept a PR :)

very gladly

jGaboardi avatar Nov 30 '23 21:11 jGaboardi