PopGen is a state-of-the-art open-source synthetic population generator for advanced travel demand modeling. Developed under the guidance of Professor Ram M. Pendyala at Arizona State University, PopGen utilizes both heuristic algorithms (IPU) and entropy-based methods to control and match both household-level and person-level attribute distributions, synthesizing realistic population data.
- Advanced control of household and person variables across multiple geographic resolutions (region and geo).
- Command-line interface for simplified usage and enhanced computational efficiency.
- Fully compatible with Python 3, with updated dependencies.
For insights into the earlier versions of PopGen, please refer to the legacy PopGen webpage. This resource provides access to previous versions, detailed descriptions of software objectives, and paper references.
-
Binder: A cloud-based Jupyter notebook with step-by-step tutorials for data input understanding and output visualization.
-
Colab: Provides a cloud-based environment for executing PopGen3 code and downloading result packages.
household_sample.csv
person_sample.csv
-
geo-level marginals:
person_marginals.csv
household_marginals.csv
-
region-level marginals:
region_person_marginals.csv
region_household_marginals.csv
region_geo_mapping.csv
geo_sample_mapping.csv
Example of Multi-Geographic Resolution Levels:
- Region Level: Set as census county subdivision
- Geo Level: Set as census tracts
- Sample Geo Level: Set as Public Use Microdata Areas (PUMAs)
The configuration.yaml
file contains several key sections for the PopGen setup.
Project Wide Setting | Input Data Files | Scenario Settings |
---|---|---|
- synthesize - name - location |
- entities - column_names - location |
- description - apply_region_controls - control_variables - parameters - geos_to_synthesize - outputs |
weights.csv
housing_synthetic.csv
person_synthetic.csv