cvanwynsberghe / pyworld3

The World3 model revisited in Python
Other
297 stars 30 forks source link

Improved usability with Bokeh #4

Open klattimer opened 2 years ago

klattimer commented 2 years ago

I'm not sure this is an upstream consideration or a sub-project so I wanted to raise it here.

This model should lend itself quite well to a bokeh model (https://bokeh.org) allowing live adjustment of the input variables and the enabling and disabling of particular plots and other functionality. I may attempt to wrap something up if I get some time as I don't expect it to be too difficult.

cvanwynsberghe commented 2 years ago

This would be an amazing project @klattimer. 2 years ago I proposed it as a student project, it was implemented in low-level html/php. I definitely think that a Bokeh version would be more versatile, and that you can consider main adjustable parameters (e.g. initial conditions), but also many other ones. Could you imagine that your idea could be integrated to pyworld3, but somehow like an "extra-GUI" feature, so that the one who wants to use pyworld3 core does not need Bokeh?

klattimer commented 2 years ago

@cvanwynsberghe so I've pulled pyworld3 and bokeh and I've spent about an hour on it so far trying to pull it together. I want to be able to add features for dramatic changes and other features which can help us explore parameters better.

Give me your top 3 parameters to give sliders to and I'll set the baseline with that. I think we could add it to the project as an optional dependency and include an example script to ship it.

I seriously think this needs some traction right now, it's the most accurate model we have it seems for how exponential population growth is going... and as the peaks approach we need to mitigate. Models help.

klattimer commented 2 years ago

Another feature I'll mention here is auto-parameter tuning with AutoML.

What can you do to optimise the outcome. What's optimal population. Questions like this could help with planning.

cvanwynsberghe commented 2 years ago

Give me your top 3 parameters to give sliders to and I'll set the baseline with that. I think we could add it to the project as an optional dependency and include an example script to ship it.

You can go for the nri and the pyear to start with.

I seriously think this needs some traction right now, it's the most accurate model we have it seems for how exponential population growth is going... and as the peaks approach we need to mitigate. Models help.

This is why an interactive graphical tool is a must :) I look forward to seeing your implementation.