Scalable Maximum Entropy Population Synthesis via Persistent Contrastive Divergence
Organizations: Department of Physics and Astronomy, City Science Lab University of Bologna, Bologna, Italy
Abstract
Maximum entropy (MaxEnt) modelling provides a principled framework for generating synthetic populations from aggregate census data, without access to individual-level microdata. The bottleneck of exact-enumeration approaches is expectation computation by explicit summation over the full tuple space , which becomes infeasible for more than categorical attributes; sampling-based alternatives exist but rely on Metropolis-type schemes that require proposal tuning and rejection steps. We propose GibbsPCDSolver, a stochastic replacement for this computation based on Persistent Contrastive Divergence (PCD): a persistent pool of synthetic individuals is updated by Gibbs sweeps at each gradient step, providing a stochastic approximation of the model expectations without ever materialising . We validate the approach on controlled benchmarks and on Syn-ISTAT, a Italian demographic benchmark with analytically exact marginal targets derived from ISTAT-inspired conditional probability tables. Scaling experiments across confirm that GibbsPCDSolver maintains while grows eighteen orders of magnitude, with runtime scaling as rather than . On Syn-ISTAT, GibbsPCDSolver reaches on training constraints and -- crucially -- produces populations with effective sample size versus for generalised raking, an diversity advantage that is essential for agent-based urban simulations.
Figures & tables
| Parameter | Recommendation | Rationale |
|---|---|---|
| Pool size | – | MRE floor ; sweet spot at K |
| Sweeps | (sparse, arity ); (mixed arity ) | Extra sweeps reduce mixing bias (not gradient variance) |
| Learning rate | for | oscillates at with arity-3 constraints |
| Window | Longer window avoids premature stopping during slow descent | |
| Initialisation | , pool uniform | Max-entropy prior; data-based initialisation may introduce CD bias |
| MRE | KL | Time (s) | ||
|---|---|---|---|---|
| 0.101 | 0.344 | 0.6 | ||
| 0.057 | 0.341 | 1.2 | ||
| 0.021 | 0.349 | 6.1 | ||
| 0.010 | 0.347 | 86.7 |
| Exp. | Method | MRE | KL | |||
|---|---|---|---|---|---|---|
| A1a | Exact L-BFGS | — | — | — | — | |
| (K=8, | Gibbs | 1,000 | 5 | 0.0991 | 0.498 | 0.00898 |
| Gibbs | 5,000 | 5 | 0.0373 | 0.505 | 0.00098 | |
| 6144) | Gibbs | 20,000 | 5 | 0.0220 | 0.503 | 0.00029 |
| Gibbs | 50,000 | 5 | 0.0111 | 0.506 | 0.00018 | |
| Gibbs | 20,000 | 10 | 0.0231 | 0.505 | 0.00049 |
| Method | MRE | (s) | (nats) | ||||
| 12 | Gibbs PCD | 0.012 | 607 | 100,000 | 100% | 9.40 | |
| Raking | — | 7 | 7,138 | 7.1% | 9.19 | ||
| 20 | Gibbs PCD | 0.010 | 440 | 100,000 | 100% | 11.43 | |
| Raking | — | 16 | 3,102 | 3.1% | 9.37 | ||
| 30 | Gibbs PCD | 0.010 | 965 | 100,000 | 100% | 11.51 | |
| Raking | — | 16 | 790 | 0.8% | 8.36 |
| Method | ||||
|---|---|---|---|---|
| Gibbs PCD | 0.018 | 0.349 | 0.169 | 0.197 |
| Raking | 0.000 | 0.347 | 0.139 | 0.214 |
| T1: edu emp income; T2: area car transport; T3: sex age employment. | ||||
| Method | (nats) | Unique profiles | ||
|---|---|---|---|---|
| Gibbs PCD | ||||
| Raking | ||||
| Ratio (G/R) | — |
| MRE | MRE | MRE | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Binary constraints | |||||||||
| 0.097 | 3 | 0.076 | 11 | 0.062 | 22 | ||||
| 0.040 | 8 | 0.052 | 38 | 0.039 | 75 | ||||
| 0.030 | 30 | 0.016 | 141 | 0.023 | 279 | ||||
| 0.012 | 78 | 0.015 | 364 | 0.014 | 728 | ||||
| Method | MRE | Iters | Time (s) | |
|---|---|---|---|---|
| Gibbs | 0.092 | 323 | 119 | |
| Gibbs | 0.050 | 435 | 418 | |
| Gibbs | 0.032 | 566 | 1,057 | |
| Gibbs | 0.032 | 541 | 2,074 | |
| Gibbs | 0.021 | 590 | 4,818 | |
| Raking | 60 | 29 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Index | Attribute | Domain | |
|---|---|---|---|
| 1 | sex † | 2 | F, M |
| 2 | age † | 4 | 0–24, 25–49, 50–66, 67+ |
| 3 | marital status | 5 | NeverMarried, Married, Separated, Divorced, Widowed |
| 4 | education † | 4 | LessThanHS, HighSchool, SomeCollege, Bachelor+ |
| 5 | employment | 3 | Employed, Unemployed, NotInLF |
| 6 | income | 5 | None, Low, Medium, UpperMedium, High |
| Attribute | Category | |
|---|---|---|
| sex | F | 0.510 |
| M | 0.490 | |
| age | 0–24 | 0.240 |
| 25–49 | 0.340 | |
| 50–66 | 0.240 | |
| 67+ | 0.180 |
| # | Table | Conditioning | Conditioned |
|---|---|---|---|
| B1 | age_marital | age | marital status |
| B2 | age_employment | age | employment |
| B3 | education_employment | education | employment |
| B4 | employment_income | employment | income |
| B5 | household_children | household size | has children |
| B6 | area_transport | residence area | main transport |
| Education | Employment | None | Low | Medium | UpperMedium | High |
|---|---|---|---|---|---|---|
| LessThanHS | Employed | 0.030 | 0.320 | 0.400 | 0.180 | 0.070 |
| Unemployed | 0.300 | 0.480 | 0.180 | 0.030 | 0.010 | |
| NotInLF | 0.300 | 0.380 | 0.220 | 0.080 | 0.020 | |
| HighSchool | Employed | 0.020 | 0.210 | 0.430 | 0.240 | 0.100 |
| Unemployed | 0.240 | 0.470 | 0.220 | 0.060 | 0.010 | |
| NotInLF | 0.240 | 0.330 | 0.260 | 0.120 | 0.050 |
| Area | Car access | Car | PublicTr. | Walking | Bike | Mixed |
|---|---|---|---|---|---|---|
| Urban | NoCar | 0.010 | 0.480 | 0.250 | 0.100 | 0.160 |
| SharedCar | 0.330 | 0.240 | 0.100 | 0.070 | 0.260 | |
| OwnCar | 0.560 | 0.150 | 0.080 | 0.050 | 0.160 | |
| Suburban | NoCar | 0.030 | 0.430 | 0.220 | 0.100 | 0.220 |
| SharedCar | 0.460 | 0.180 | 0.070 | 0.040 | 0.250 | |
| OwnCar | 0.720 | 0.080 | 0.040 | 0.030 | 0.130 |
| Sex | Age | Employed | Unemployed | NotInLF |
|---|---|---|---|---|
| F | 0–24 | 0.330 | 0.140 | 0.530 |
| 25–49 | 0.610 | 0.100 | 0.290 | |
| 50–66 | 0.520 | 0.070 | 0.410 | |
| 67+ | 0.050 | 0.010 | 0.940 | |
| M | 0–24 | 0.430 | 0.100 | 0.470 |
| 25–49 | 0.870 | 0.060 | 0.070 |