zephyrfoundation
Published in

zephyrfoundation

PopulationSim & the Synthetic Commons

  • On-going financial support from a collection of public agencies coming together to fund open source modeling tools;
  • Many of the technical advances developed by the travel model community over the past two decades;
  • The same software architecture as ActivitySim; and,
  • A core infrastructure of modern Python libraries, including pandas.

Badging Details

  1. Is the software useful to the Zephyr Community?
  2. Does the software contribute to a common problem space or benchmark in a manner that encourages community progress?
  3. Is the software easy to use?

Useful

Common Problem Space

Easy to Use

Everything needed to setup, run and validate Zephyr’s population synthesis benchmark in PopulationSim
  1. In our example, we specified controls at the county and travel analysis zone (TAZ) level. However, PopulationSim only outputs validation data for the TAZ level and does not do so for the county level controls, because the county is a “meta geography” rather than a “seed geography”. The process outlined above therefore summarizes the results for county controls, which is necessary until this issue is resolved.
  2. The importance attribute in the control constraints isn’t relative. If you run PopulationSim with a single control constraint for number of total households having importance=1, it will validate poorly. If you make importance=1000, it will validate perfectly. We were confused about this aspect — and about how to choose importance weights more generally — so we contacted Binny M Paul, one of the authors of PopulationSim and the corresponding author for the 2018 TRB Paper about the software. He responded with a detailed explanation of the importance weights — it turns out that they are hyperparameters used in the optimization problem in which PopulationSim is seeking to maximize entropy to keep weights uniform while matching the marginal controls. The discussion was illuminating, and would make a great addition to the documentation! The TLDR recommendation for setting the importance weights is:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store