Add ML-guided parameter optimization demo
- Dominant language
- Python
- Stars
- 252
- Forks
- 279
- Avg merge
- 8d 9h
- Merged PRs (30d)
- 2
Description
I am developing an example which shows how to use Gaussian Process regression to assist with parameter search in Mesa models. The objective demonstrates how machine learning will decrease simulation requirements needed to identify optimal parameters.
Current state:
- Working implementation on a simple segregation model
- Uses random initialization (10 samples) then GP with UCB acquisition (20 iterations)
- Tracks and prints scores throughout
- Code passes flake8 and pre-commit checks
What I plan to add:
- Comparison with random search baseline (same number of evaluations)
- Simple feature importance to show which parameters matter most
- Documentation on adapting the approach for other models
- Clear instructions on dependencies and usage
What I need to validate:
- Whether GP actually outperforms random search for this problem
- Which acquisition function works best for ABM optimization
- How to make the approach model-agnostic
Why this matters:
Parameter tuning is a common pain point for ABM researchers. This demo would provide a starting point for people interested in ML-assisted model calibration.
Looking for feedback on approach, structure, and whether this is worth adding to mesa-examples.
Contributor guide
Research direction
Start with the existing simple segregation-model implementation and review its random initialization, GP/UCB loop, and score tracking. Evaluate the proposed random-search baseline with the same evaluation budget, then plan the feature-importance output and guidance for adapting the demo to other models. Done when the approach, dependencies, usage, and validation criteria are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100