From 1c4ac977df1e0fd65d0dafb0f62e772f7bc4585d Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 14 Sep 2026 18:30:32 +0100 Subject: [PATCH 1/9] Add a JOSS paper and the repository files a submission needs The paper is a short software paper, distinct from the working paper in paper/, which it cites as the validation study. It is framed around the finding that motivates the package: benchmarking across seven domains shows no imputation method dominates, so the useful tool is one that measures which performs best on a user's own data. Also adds a citation file, a code of conduct, and the workflow that builds a draft PDF, none of which the repository had. The author list and ORCIDs still need confirming, and the missing licence in issue #197 blocks submission. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/draft-pdf.yml | 23 +++++++ CITATION.cff | 30 +++++++++ CODE_OF_CONDUCT.md | 64 ++++++++++++++++++ changelog.d/joss-paper.added.md | 1 + paper.bib | 111 ++++++++++++++++++++++++++++++++ paper.md | 93 ++++++++++++++++++++++++++ 6 files changed, 322 insertions(+) create mode 100644 .github/workflows/draft-pdf.yml create mode 100644 CITATION.cff create mode 100644 CODE_OF_CONDUCT.md create mode 100644 changelog.d/joss-paper.added.md create mode 100644 paper.bib create mode 100644 paper.md diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml new file mode 100644 index 00000000..d057c09a --- /dev/null +++ b/.github/workflows/draft-pdf.yml @@ -0,0 +1,23 @@ +on: + push: + paths: + - paper.md + - paper.bib + pull_request: + paths: + - paper.md + - paper.bib + +jobs: + paper: + runs-on: ubuntu-latest + name: Draft PDF + steps: + - uses: actions/checkout@v4 + - uses: openjournals/openjournals-draft-action@master + with: + journal: joss + - uses: actions/upload-artifact@v4 + with: + name: paper + path: paper.pdf diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 00000000..b4c6052f --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,30 @@ +cff-version: 1.2.0 +message: "If you use this software, please cite it as below." +type: software +title: "microimpute: Benchmarking and selecting imputation methods for survey microdata" +url: "https://github.com/PolicyEngine/microimpute" +repository-code: "https://github.com/PolicyEngine/microimpute" +abstract: "A Python package for imputing variables from one survey onto another, implementing five imputation methods behind a common interface with cross-validated automatic method selection." +authors: + - family-names: Juaristi + given-names: María + affiliation: "PolicyEngine, Washington, DC, United States" + - family-names: Ghenis + given-names: Max + orcid: "https://orcid.org/0000-0002-1335-8277" + affiliation: "PolicyEngine, Washington, DC, United States" + - family-names: Woodruff + given-names: Nikhil + orcid: "https://orcid.org/0009-0009-5004-4910" + affiliation: "PolicyEngine, Washington, DC, United States" + - family-names: Ahmadi + given-names: Vahid + orcid: "https://orcid.org/0009-0004-1093-6272" + affiliation: "PolicyEngine, Washington, DC, United States" +keywords: + - imputation + - statistical matching + - survey microdata + - quantile regression + - microsimulation + - Python diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..56cdab0f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,64 @@ +# Contributor covenant code of conduct + +## Our pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +hello@policyengine.org. All complaints will be reviewed and investigated +promptly and fairly. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +[homepage]: https://www.contributor-covenant.org diff --git a/changelog.d/joss-paper.added.md b/changelog.d/joss-paper.added.md new file mode 100644 index 00000000..abbe4e56 --- /dev/null +++ b/changelog.d/joss-paper.added.md @@ -0,0 +1 @@ +- Added a JOSS paper, a citation file, a code of conduct, and a workflow that builds a draft PDF of the paper. diff --git a/paper.bib b/paper.bib new file mode 100644 index 00000000..72d26766 --- /dev/null +++ b/paper.bib @@ -0,0 +1,111 @@ +@misc{arnold_ventures, + title={Public Finance Program}, + author={{Arnold Ventures}}, + year={2023}, + note={Grant to PolicyEngine for congressional district-level policy analysis}, + url={https://www.arnoldventures.org/work/public-finance} +} + +@misc{nsf_pose, + title={{POSE}: Phase {I}: {PolicyEngine} -- Advancing Public Policy Analysis}, + author={{National Science Foundation}}, + year={2025}, + note={Award 2518372. PI: Max Ghenis, PSL Foundation. \$299,974}, + url={https://www.nsf.gov/awardsearch/showAward.jsp?AWD_ID=2518372} +} + +@online{neo_philanthropy, + title={{NEO Philanthropy} Awards \$200,000 Grant to {PolicyEngine}}, + author={Ghenis, Max}, + year={2024}, + url={https://policyengine.org/us/research/neo-philanthropy} +} + +@software{claude2026, + title={{Claude}}, + author={{Anthropic}}, + year={2026}, + note={Opus 4 model used for code refactoring assistance}, + url={https://www.anthropic.com/claude} +} + +@misc{nuffield2024grant, + title={Enhancing, localising and democratising tax-benefit policy analysis}, + author={{Nuffield Foundation}}, + year={2024}, + note={General Election Analysis and Briefing Fund grant to PolicyEngine}, + url={https://www.nuffieldfoundation.org/project/enhancing-localising-and-democratising-tax-benefit-policy-analysis} +} +@article{koenker1978regression, + author = {Koenker, Roger and Bassett, Gilbert}, + title = {Regression Quantiles}, + journal = {Econometrica}, + volume = {46}, + number = {1}, + pages = {33--50}, + year = {1978}, + doi = {10.2307/1913643} +} + +@article{meinshausen2006qrf, + author = {Meinshausen, Nicolai}, + title = {Quantile Regression Forests}, + journal = {Journal of Machine Learning Research}, + volume = {7}, + pages = {983--999}, + year = {2006}, + url = {https://www.jmlr.org/papers/v7/meinshausen06a.html} +} + +@techreport{bishop1994mdn, + author = {Bishop, Christopher M.}, + title = {Mixture Density Networks}, + institution = {Aston University}, + year = {1994}, + url = {https://publications.aston.ac.uk/id/eprint/373/} +} + +@article{pedregosa2011scikit, + author = {Pedregosa, Fabian and Varoquaux, Ga{\"e}l and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and Vanderplas, Jake and Passos, Alexandre and Cournapeau, David and Brucher, Matthieu and Perrot, Matthieu and Duchesnay, {\'E}douard}, + title = {Scikit-learn: Machine Learning in Python}, + journal = {Journal of Machine Learning Research}, + volume = {12}, + pages = {2825--2830}, + year = {2011}, + url = {https://www.jmlr.org/papers/v12/pedregosa11a.html} +} + +@inproceedings{seabold2010statsmodels, + author = {Seabold, Skipper and Perktold, Josef}, + title = {statsmodels: Econometric and statistical modeling with Python}, + booktitle = {Proceedings of the 9th Python in Science Conference}, + year = {2010}, + doi = {10.25080/Majora-92bf1922-011} +} + +@article{vanbuuren2011mice, + author = {van Buuren, Stef and Groothuis-Oudshoorn, Karin}, + title = {mice: Multivariate Imputation by Chained Equations in R}, + journal = {Journal of Statistical Software}, + volume = {45}, + number = {3}, + pages = {1--67}, + year = {2011}, + doi = {10.18637/jss.v045.i03} +} + +@manual{dorazio2022statmatch, + author = {D'Orazio, Marcello}, + title = {StatMatch: Statistical Matching or Data Fusion}, + year = {2022}, + note = {R package}, + url = {https://CRAN.R-project.org/package=StatMatch} +} + +@unpublished{juaristi2026microimpute, + author = {Juaristi, Mar\'ia}, + title = {microimpute: Benchmarking Cross-Survey Imputation Methods for U.S. Household Wealth}, + year = {2026}, + note = {Working paper, PolicyEngine}, + url = {https://github.com/PolicyEngine/microimpute/blob/main/paper/main.pdf} +} diff --git a/paper.md b/paper.md new file mode 100644 index 00000000..51868170 --- /dev/null +++ b/paper.md @@ -0,0 +1,93 @@ +--- +title: "microimpute: Benchmarking and selecting imputation methods for survey microdata" +tags: + - Python + - imputation + - statistical matching + - survey microdata + - quantile regression + - microsimulation +authors: + - name: María Juaristi + affiliation: '1' + corresponding: true + - name: Max Ghenis + orcid: 0000-0002-1335-8277 + affiliation: '1' + - name: Nikhil Woodruff + orcid: 0009-0009-5004-4910 + affiliation: '1' + - name: Vahid Ahmadi + orcid: 0009-0004-1093-6272 + affiliation: '1' +affiliations: + - name: PolicyEngine, Washington, DC, United States + index: '1' +date: 14 September 2026 +bibliography: paper.bib +--- + +# Summary + +`microimpute` imputes variables from one survey onto another and, more importantly, makes the choice of imputation method an empirical question rather than a convention. Policy microdata routinely lacks variables an analysis needs: a labour force survey records earnings but not wealth, a household survey records spending but not assets. The standard remedy is to borrow the variable from a richer donor survey conditional on characteristics both surveys observe. Many methods do this, they disagree, and the disagreement matters for the resulting estimates. + +The package implements five approaches behind one `fit`/`predict` interface — statistical matching, ordinary least squares, quantile regression [@koenker1978regression], quantile regression forests [@meinshausen2006qrf], and mixture density networks [@bishop1994mdn] — and adds `autoimpute`, which tunes hyperparameters, cross-validates every method on the user's own data, and selects by quantile loss for numerical targets or log loss for categorical ones. Sample weights are supported throughout, so survey design is not lost at the imputation step. + +The design follows from an empirical finding rather than a preference. Benchmarking across seven domains shows that no method dominates: quantile regression forests win where relationships are nonlinear, matching better preserves marginal distributions because it draws from the donor pool directly, and ordinary least squares remains competitive when relationships are close to linear [@juaristi2026microimpute]. If method performance is dataset-specific, the useful tool is one that measures it. + +# Statement of Need + +Imputation choices are usually invisible in published analysis. A study reports a distributional result; the imputation method that produced the underlying variable is a sentence in an appendix, if it appears at all. Yet the choice can move headline numbers. In PolicyEngine's US model, imputing household wealth from the Survey of Consumer Finances onto the Current Population Survey is what makes asset-tested programmes modellable at all: without imputed wealth the baseline count of Supplemental Security Income recipients is overestimated by 167%, and a reform to the SSI asset limit cannot be simulated [@juaristi2026microimpute]. + +Analysts nonetheless tend to pick one method and keep it, because comparing methods is laborious. Each has a different API, different hyperparameters, and different output — a conditional mean from a regression, a donor record from matching, a predictive distribution from a forest. Building a like-for-like comparison means writing adapters and a cross-validation harness before any comparison happens, which is enough friction that the comparison usually is not done. + +`microimpute` removes that friction. Because every method returns quantiles of the conditional distribution rather than a point prediction, they can be scored on the same footing with quantile loss, and the comparison is a function call rather than a project. The package also makes the imputation reproducible: hyperparameter tuning, cross-validation, and selection run from a single entry point that records what was chosen. + +# State of the Field + +| Tool | Multiple methods | Automated selection | Quantile-based evaluation | Survey weights | Language | +|---|---|---|---|---|---| +| `microimpute` | 5 | Yes | Yes | Yes | Python | +| `scikit-learn` `IterativeImputer` [@pedregosa2011scikit] | 1 family | No | No | No | Python | +| `statsmodels` MICE [@seabold2010statsmodels] | 1 | No | No | Partly | Python | +| R `mice` [@vanbuuren2011mice] | Several | No | No | Partly | R | +| R `StatMatch` [@dorazio2022statmatch] | Matching | No | No | Yes | R | + +`scikit-learn` and `statsmodels` treat imputation as filling missing values within a dataset, which is a different problem from borrowing a variable across two surveys with no overlapping records. R's `mice` is the reference implementation for multiple imputation by chained equations, and `StatMatch` for statistical matching, but neither compares across method families or selects between them, and using both means working in two idioms. + +The gap `microimpute` fills is comparison. Its contribution is not a new estimator but a harness that makes existing estimators commensurable on a user's data, with an evaluation metric appropriate to distributional imputation. + +# Software Design + +Every model implements `fit(X, y, weights=None)` and `predict(X, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. + +```python +from microimpute.comparisons import autoimpute + +result = autoimpute( + donor_data=scf, + receiver_data=cps, + predictors=["age", "income", "education"], + imputed_variables=["net_worth"], +) +``` + +`autoimpute` runs each method under cross-validation, scores it by average quantile loss across a grid of quantiles, and returns imputed values from the winner along with the comparison that justified it. Categorical and boolean targets are handled with log loss. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. + +Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a dashboard renders the comparison for exploration. + +# Research Impact Statement + +`microimpute` is used in `policyengine-uk-data`, which builds the microdata behind PolicyEngine's UK analyses, and in standalone studies including a UK trade shock study, a national insurance exemption analysis, and UK public services imputation. Its SCF-to-CPS wealth imputation is a dependency of PolicyEngine's US asset-tested programme modelling. + +The accompanying research paper documents the benchmarking exercise and the SSI application in full [@juaristi2026microimpute]; this paper describes the software. + +# Acknowledgements + +We thank Ben Ogorek for contributions to the package. Arnold Ventures [@arnold_ventures], NEO Philanthropy [@neo_philanthropy], the Gerald Huff Fund for Humanity, and the National Science Foundation (NSF POSE Phase I, Award 2518372) [@nsf_pose] funded this work in the US; the Nuffield Foundation has funded the UK work since September 2024 [@nuffield2024grant]. These funders had no involvement in the design, development, or content of this software or paper. All authors are employed by PolicyEngine and may benefit reputationally from the software's adoption; this relationship is disclosed as a potential conflict of interest. + +# AI Usage Disclosure + +The authors used generative AI tools, specifically Claude by Anthropic [@claude2026], to assist with code refactoring, test authoring, and drafting of this paper. Human authors reviewed, edited, and validated all AI-assisted outputs, and made all decisions regarding method implementations, evaluation design, and software architecture. The authors remain fully responsible for the accuracy, originality, and correctness of all submitted materials. + +# References From f680e5741cf06426440c0b711dfe16a159c98872 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 14 Sep 2026 18:39:53 +0100 Subject: [PATCH 2/9] Retitle the paper and use British spelling Co-Authored-By: Claude Opus 5 (1M context) --- CITATION.cff | 10 +++++----- paper.md | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b4c6052f..83717e92 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,11 +1,15 @@ cff-version: 1.2.0 message: "If you use this software, please cite it as below." type: software -title: "microimpute: Benchmarking and selecting imputation methods for survey microdata" +title: "microimpute: a model-agnostic tool for cross-survey imputation" url: "https://github.com/PolicyEngine/microimpute" repository-code: "https://github.com/PolicyEngine/microimpute" abstract: "A Python package for imputing variables from one survey onto another, implementing five imputation methods behind a common interface with cross-validated automatic method selection." authors: + - family-names: Ahmadi + given-names: Vahid + orcid: "https://orcid.org/0009-0004-1093-6272" + affiliation: "PolicyEngine, Washington, DC, United States" - family-names: Juaristi given-names: María affiliation: "PolicyEngine, Washington, DC, United States" @@ -17,10 +21,6 @@ authors: given-names: Nikhil orcid: "https://orcid.org/0009-0009-5004-4910" affiliation: "PolicyEngine, Washington, DC, United States" - - family-names: Ahmadi - given-names: Vahid - orcid: "https://orcid.org/0009-0004-1093-6272" - affiliation: "PolicyEngine, Washington, DC, United States" keywords: - imputation - statistical matching diff --git a/paper.md b/paper.md index 51868170..ef7a154f 100644 --- a/paper.md +++ b/paper.md @@ -1,5 +1,5 @@ --- -title: "microimpute: Benchmarking and selecting imputation methods for survey microdata" +title: "microimpute: a model-agnostic tool for cross-survey imputation" tags: - Python - imputation @@ -8,18 +8,18 @@ tags: - quantile regression - microsimulation authors: - - name: María Juaristi + - name: Vahid Ahmadi + orcid: 0009-0004-1093-6272 affiliation: '1' corresponding: true + - name: María Juaristi + affiliation: '1' - name: Max Ghenis orcid: 0000-0002-1335-8277 affiliation: '1' - name: Nikhil Woodruff orcid: 0009-0009-5004-4910 affiliation: '1' - - name: Vahid Ahmadi - orcid: 0009-0004-1093-6272 - affiliation: '1' affiliations: - name: PolicyEngine, Washington, DC, United States index: '1' From 1d1f1d67d11368e1818b5c35e2713f72ef2e8af4 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Wed, 16 Sep 2026 10:40:17 +0100 Subject: [PATCH 3/9] Use title case in the paper title Co-Authored-By: Claude Opus 5 (1M context) --- CITATION.cff | 2 +- paper.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 83717e92..afcf5f23 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,7 +1,7 @@ cff-version: 1.2.0 message: "If you use this software, please cite it as below." type: software -title: "microimpute: a model-agnostic tool for cross-survey imputation" +title: "microimpute: A Model-Agnostic Tool for Cross-Survey Imputation" url: "https://github.com/PolicyEngine/microimpute" repository-code: "https://github.com/PolicyEngine/microimpute" abstract: "A Python package for imputing variables from one survey onto another, implementing five imputation methods behind a common interface with cross-validated automatic method selection." diff --git a/paper.md b/paper.md index ef7a154f..874405e4 100644 --- a/paper.md +++ b/paper.md @@ -1,5 +1,5 @@ --- -title: "microimpute: a model-agnostic tool for cross-survey imputation" +title: "microimpute: A Model-Agnostic Tool for Cross-Survey Imputation" tags: - Python - imputation From b2e527e08a486f22ca2ac421800fc50cac11dabb Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Wed, 16 Sep 2026 11:56:30 +0100 Subject: [PATCH 4/9] =?UTF-8?q?Add=20Mar=C3=ADa=20Juaristi's=20ORCID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) --- CITATION.cff | 1 + paper.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CITATION.cff b/CITATION.cff index afcf5f23..b84e1897 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -12,6 +12,7 @@ authors: affiliation: "PolicyEngine, Washington, DC, United States" - family-names: Juaristi given-names: María + orcid: "https://orcid.org/0009-0007-4946-2248" affiliation: "PolicyEngine, Washington, DC, United States" - family-names: Ghenis given-names: Max diff --git a/paper.md b/paper.md index 874405e4..f8bc32e8 100644 --- a/paper.md +++ b/paper.md @@ -13,6 +13,7 @@ authors: affiliation: '1' corresponding: true - name: María Juaristi + orcid: 0009-0007-4946-2248 affiliation: '1' - name: Max Ghenis orcid: 0000-0002-1335-8277 From cbaf0e3598813b0cab25499e9dcd8c16d16baf5b Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Wed, 16 Sep 2026 12:15:49 +0100 Subject: [PATCH 5/9] Correct factual claims in JOSS paper - fit/predict signatures matched to the actual API - weights claim narrowed to OLS and matching - six benchmark datasets, not seven domains, with the source's hedge - optional extras (rpy2/StatMatch, PyTorch) disclosed - statsmodels and R mice weight columns corrected to No - dropped the uk-public-services-imputation claim (declares microimpute but never imports it) --- paper.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/paper.md b/paper.md index f8bc32e8..4fa43c45 100644 --- a/paper.md +++ b/paper.md @@ -32,13 +32,13 @@ bibliography: paper.bib `microimpute` imputes variables from one survey onto another and, more importantly, makes the choice of imputation method an empirical question rather than a convention. Policy microdata routinely lacks variables an analysis needs: a labour force survey records earnings but not wealth, a household survey records spending but not assets. The standard remedy is to borrow the variable from a richer donor survey conditional on characteristics both surveys observe. Many methods do this, they disagree, and the disagreement matters for the resulting estimates. -The package implements five approaches behind one `fit`/`predict` interface — statistical matching, ordinary least squares, quantile regression [@koenker1978regression], quantile regression forests [@meinshausen2006qrf], and mixture density networks [@bishop1994mdn] — and adds `autoimpute`, which tunes hyperparameters, cross-validates every method on the user's own data, and selects by quantile loss for numerical targets or log loss for categorical ones. Sample weights are supported throughout, so survey design is not lost at the imputation step. +The package implements five approaches behind one `fit`/`predict` interface — statistical matching, ordinary least squares, quantile regression [@koenker1978regression], quantile regression forests [@meinshausen2006qrf], and mixture density networks [@bishop1994mdn] — and adds `autoimpute`, which cross-validates the available methods on the user's own data under five-fold cross-validation, optionally tuning hyperparameters, and selects by quantile loss for numerical targets or log loss for categorical ones. Statistical matching wraps R's `StatMatch` through `rpy2` and mixture density networks require PyTorch; both are optional extras, and `autoimpute` compares whichever methods are installed. Ordinary least squares and statistical matching accept survey weights directly, fitting by weighted least squares and by weighted donor selection respectively, so survey design need not be discarded at the imputation step; quantile regression and mixture density networks raise an explicit error rather than silently returning an unweighted fit. -The design follows from an empirical finding rather than a preference. Benchmarking across seven domains shows that no method dominates: quantile regression forests win where relationships are nonlinear, matching better preserves marginal distributions because it draws from the donor pool directly, and ordinary least squares remains competitive when relationships are close to linear [@juaristi2026microimpute]. If method performance is dataset-specific, the useful tool is one that measures it. +The design follows from an empirical finding rather than a preference. Benchmarking across six further datasets, alongside the wealth application, shows no method dominating across all of them: quantile regression forests win where relationships are nonlinear, and matching better preserves marginal distributions because it draws from the donor pool directly, with ordinary least squares and quantile regression occupying middle ranks [@juaristi2026microimpute]. With six benchmark datasets, the rank differences are not robust to the inclusion or exclusion of any single dataset. If method performance is dataset-specific, the useful tool is one that measures it. # Statement of Need -Imputation choices are usually invisible in published analysis. A study reports a distributional result; the imputation method that produced the underlying variable is a sentence in an appendix, if it appears at all. Yet the choice can move headline numbers. In PolicyEngine's US model, imputing household wealth from the Survey of Consumer Finances onto the Current Population Survey is what makes asset-tested programmes modellable at all: without imputed wealth the baseline count of Supplemental Security Income recipients is overestimated by 167%, and a reform to the SSI asset limit cannot be simulated [@juaristi2026microimpute]. +Imputation choices are usually invisible in published analysis. A study reports a distributional result; the imputation method that produced the underlying variable is a sentence in an appendix, if it appears at all. Yet the choice can move headline numbers. In PolicyEngine's US model, imputing household wealth from the Survey of Consumer Finances onto the Current Population Survey is what makes asset tests bind at all: the model otherwise defaults countable resources to zero, so the baseline count of Supplemental Security Income recipients is overestimated by 167%, and a reform to the SSI asset limit cannot be simulated [@juaristi2026microimpute]. Analysts nonetheless tend to pick one method and keep it, because comparing methods is laborious. Each has a different API, different hyperparameters, and different output — a conditional mean from a regression, a donor record from matching, a predictive distribution from a forest. Building a like-for-like comparison means writing adapters and a cross-validation harness before any comparison happens, which is enough friction that the comparison usually is not done. @@ -48,10 +48,10 @@ Analysts nonetheless tend to pick one method and keep it, because comparing meth | Tool | Multiple methods | Automated selection | Quantile-based evaluation | Survey weights | Language | |---|---|---|---|---|---| -| `microimpute` | 5 | Yes | Yes | Yes | Python | +| `microimpute` | 5 (3 without optional extras) | Yes | Yes | Partly | Python | | `scikit-learn` `IterativeImputer` [@pedregosa2011scikit] | 1 family | No | No | No | Python | -| `statsmodels` MICE [@seabold2010statsmodels] | 1 | No | No | Partly | Python | -| R `mice` [@vanbuuren2011mice] | Several | No | No | Partly | R | +| `statsmodels` MICE [@seabold2010statsmodels] | 1 family | No | No | No | Python | +| R `mice` [@vanbuuren2011mice] | Several | No | No | No | R | | R `StatMatch` [@dorazio2022statmatch] | Matching | No | No | Yes | R | `scikit-learn` and `statsmodels` treat imputation as filling missing values within a dataset, which is a different problem from borrowing a variable across two surveys with no overlapping records. R's `mice` is the reference implementation for multiple imputation by chained equations, and `StatMatch` for statistical matching, but neither compares across method families or selects between them, and using both means working in two idioms. @@ -60,7 +60,7 @@ The gap `microimpute` fills is comparison. Its contribution is not a new estimat # Software Design -Every model implements `fit(X, y, weights=None)` and `predict(X, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. +Every model implements `fit(X_train, predictors, imputed_variables, weight_col=None)` and `predict(X_test, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. ```python from microimpute.comparisons import autoimpute @@ -75,11 +75,11 @@ result = autoimpute( `autoimpute` runs each method under cross-validation, scores it by average quantile loss across a grid of quantiles, and returns imputed values from the winner along with the comparison that justified it. Categorical and boolean targets are handled with log loss. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. -Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a dashboard renders the comparison for exploration. +Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a companion web dashboard, distributed separately, renders the comparison for exploration. # Research Impact Statement -`microimpute` is used in `policyengine-uk-data`, which builds the microdata behind PolicyEngine's UK analyses, and in standalone studies including a UK trade shock study, a national insurance exemption analysis, and UK public services imputation. Its SCF-to-CPS wealth imputation is a dependency of PolicyEngine's US asset-tested programme modelling. +`microimpute` is used in `policyengine-uk-data`, which builds the microdata behind PolicyEngine's UK analyses, and in standalone studies including a UK trade shock study and an analysis of a National Insurance contributions exemption. Its SCF-to-CPS wealth imputation is a dependency of PolicyEngine's US asset-tested programme modelling. The accompanying research paper documents the benchmarking exercise and the SSI application in full [@juaristi2026microimpute]; this paper describes the software. From 145b74c3248cc6dd4886f3ac2813a8b8978eb7b8 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Wed, 16 Sep 2026 12:19:04 +0100 Subject: [PATCH 6/9] Expand software design section and cite policyengine Adds the donor-receiver framing, the autoimpute workflow end to end, and the predictor-analysis utilities. Cites the policyengine JOSS paper in the research impact statement and links the PolicyEngine website. --- CITATION.cff | 8 ++++---- paper.bib | 13 +++++++++++++ paper.md | 15 +++++++++------ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b84e1897..f7783bdc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -10,14 +10,14 @@ authors: given-names: Vahid orcid: "https://orcid.org/0009-0004-1093-6272" affiliation: "PolicyEngine, Washington, DC, United States" - - family-names: Juaristi - given-names: María - orcid: "https://orcid.org/0009-0007-4946-2248" - affiliation: "PolicyEngine, Washington, DC, United States" - family-names: Ghenis given-names: Max orcid: "https://orcid.org/0000-0002-1335-8277" affiliation: "PolicyEngine, Washington, DC, United States" + - family-names: Juaristi + given-names: María + orcid: "https://orcid.org/0009-0007-4946-2248" + affiliation: "PolicyEngine, Washington, DC, United States" - family-names: Woodruff given-names: Nikhil orcid: "https://orcid.org/0009-0009-5004-4910" diff --git a/paper.bib b/paper.bib index 72d26766..efd8b5e1 100644 --- a/paper.bib +++ b/paper.bib @@ -109,3 +109,16 @@ @unpublished{juaristi2026microimpute note = {Working paper, PolicyEngine}, url = {https://github.com/PolicyEngine/microimpute/blob/main/paper/main.pdf} } + +@article{policyengine_py, + author = {Ahmadi, Vahid and Ghenis, Max and Woodruff, Nikhil and Makarchuk, Pavel and Volk, Anthony}, + title = {policyengine: A Microsimulation Tool for Tax-Benefit Policy Analysis}, + journal = {Journal of Open Source Software}, + publisher = {The Open Journal}, + volume = {11}, + number = {125}, + pages = {11115}, + year = {2026}, + doi = {10.21105/joss.11115}, + url = {https://doi.org/10.21105/joss.11115} +} diff --git a/paper.md b/paper.md index 4fa43c45..090328db 100644 --- a/paper.md +++ b/paper.md @@ -12,12 +12,12 @@ authors: orcid: 0009-0004-1093-6272 affiliation: '1' corresponding: true - - name: María Juaristi - orcid: 0009-0007-4946-2248 - affiliation: '1' - name: Max Ghenis orcid: 0000-0002-1335-8277 affiliation: '1' + - name: María Juaristi + orcid: 0009-0007-4946-2248 + affiliation: '1' - name: Nikhil Woodruff orcid: 0009-0009-5004-4910 affiliation: '1' @@ -60,7 +60,8 @@ The gap `microimpute` fills is comparison. Its contribution is not a new estimat # Software Design -Every model implements `fit(X_train, predictors, imputed_variables, weight_col=None)` and `predict(X_test, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. +Every model implements `fit(X_train, predictors, imputed_variables, weight_col=None)` and `predict(X_test, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. Imputation is framed throughout as a donor-to-receiver problem: the donor survey observes both the predictors and the target variables, the receiver survey observes only the predictors, and the two share no records. Categorical predictors are encoded and numeric predictors standardised consistently across the two frames, so a model fitted on the donor can be applied to the receiver without the analyst reconciling schemas by hand. + ```python from microimpute.comparisons import autoimpute @@ -73,13 +74,15 @@ result = autoimpute( ) ``` -`autoimpute` runs each method under cross-validation, scores it by average quantile loss across a grid of quantiles, and returns imputed values from the winner along with the comparison that justified it. Categorical and boolean targets are handled with log loss. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. +`autoimpute` runs each available method under five-fold cross-validation on the donor data, scores it by average quantile loss across a grid of quantiles, refits the winner on the full donor sample, and applies it to the receiver, returning the imputed values together with the comparison that justified them. Categorical and boolean targets are handled with log loss, and the target type is inferred rather than declared. Because the result carries the full per-method cross-validation table, the selection is auditable after the fact rather than buried in the run. + +Alongside the imputers, the package provides diagnostics for the step that usually determines imputation quality more than the estimator does: the choice of predictors. `compute_predictor_correlations`, `leave_one_out_analysis`, and `progressive_predictor_inclusion` measure how much each candidate predictor contributes and in what order, so a predictor set can be defended rather than assumed. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a companion web dashboard, distributed separately, renders the comparison for exploration. # Research Impact Statement -`microimpute` is used in `policyengine-uk-data`, which builds the microdata behind PolicyEngine's UK analyses, and in standalone studies including a UK trade shock study and an analysis of a National Insurance contributions exemption. Its SCF-to-CPS wealth imputation is a dependency of PolicyEngine's US asset-tested programme modelling. +`microimpute` builds the imputed variables in the microdata underlying `policyengine` [@policyengine_py], the microsimulation model behind the analyses published at [policyengine.org](https://policyengine.org). Its SCF-to-CPS wealth imputation supplies the countable-resource inputs on which US asset-tested programme modelling depends, and its quantile regression forests impute variables into the UK microdata. It is also used in standalone studies, including a UK trade shock study and an analysis of a National Insurance contributions exemption. The accompanying research paper documents the benchmarking exercise and the SSI application in full [@juaristi2026microimpute]; this paper describes the software. From 0316407f3cc6ea831ded68a4e8446ab4afc6b4e7 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Wed, 16 Sep 2026 12:27:12 +0100 Subject: [PATCH 7/9] Describe the predictor-analysis utilities precisely compute_predictor_correlations reports association, not contribution; only leave_one_out_analysis and progressive_predictor_inclusion measure contribution by loss. --- paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 090328db..1cee7feb 100644 --- a/paper.md +++ b/paper.md @@ -76,7 +76,7 @@ result = autoimpute( `autoimpute` runs each available method under five-fold cross-validation on the donor data, scores it by average quantile loss across a grid of quantiles, refits the winner on the full donor sample, and applies it to the receiver, returning the imputed values together with the comparison that justified them. Categorical and boolean targets are handled with log loss, and the target type is inferred rather than declared. Because the result carries the full per-method cross-validation table, the selection is auditable after the fact rather than buried in the run. -Alongside the imputers, the package provides diagnostics for the step that usually determines imputation quality more than the estimator does: the choice of predictors. `compute_predictor_correlations`, `leave_one_out_analysis`, and `progressive_predictor_inclusion` measure how much each candidate predictor contributes and in what order, so a predictor set can be defended rather than assumed. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. +Alongside the imputers, the package provides diagnostics for the step that usually determines imputation quality more than the estimator does: the choice of predictors. `compute_predictor_correlations` reports Pearson and Spearman correlations among candidate predictors and mutual information between each predictor and each target, while `leave_one_out_analysis` and `progressive_predictor_inclusion` measure contribution by loss: the first by the degradation when a predictor is dropped, the second by building the predictor set up one addition at a time to find an ordering and a subset. A predictor set can then be defended rather than assumed. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a companion web dashboard, distributed separately, renders the comparison for exploration. From 556c1178e26163ee2dc31a54eb85f98e14426b35 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Mon, 21 Sep 2026 15:11:45 +0100 Subject: [PATCH 8/9] Add an architecture figure, transpose the table, correct three false claims A line-by-line check against the code found three statements the package does not support. The standardisation claim was false. autoimpute_helpers.py:147 captures the donor's transform parameters and :163 discards them with ', _', re-fitting on the receiver - issue #202. A reproduction with a donor mean of 100 and a receiver shifted to a true mean of 149 returned 99.73, the donor mean exactly, so the level difference imputation exists to carry was annihilated. The sentence now claims only consistent categorical encoding and describes the numeric transformations as optional, which is what the code does. The survey-weights roster was wrong in both directions: it omitted QRF, which does accept a weight column, and credited matching with weighted donor selection, which is unverified - statmatch_hotdeck.py passes weight_don to R's NND.hotdeck, which has no such parameter. Matching is dropped from the list until that is settled with rpy2 installed. 'Every method returns quantiles of the conditional distribution' is the paper's central premise and is false as shipped: QuantReg.predict with an explicit grid raises RuntimeError (#206). Reworded to the weaker claim the code supports. Also: StatMatch's survey-weights cell goes Yes to Partly for the same NND.hotdeck reason, with the distinction explained in the prose; the log-loss claim is softened because #209 means it is not a proper scoring rule; 'distributed separately' dropped, since the dashboard lives in this repository; and the benchmarking sentence now records that matching achieves the lowest mean rank overall, which the working paper reports and the previous wording omitted. The comparison table is transposed so criteria are rows and tools are columns, with citations moved into the paragraph below - the tool names and their citations were forcing five-line-tall rows. The figure follows the policyengine.py JOSS paper's house style: a hand-written SVG in the same palette, committed alongside its PNG, in the Software Design section. --- architecture.png | Bin 0 -> 164379 bytes architecture.svg | 50 +++++++++++++++++++++++++++++++++++++++++++++++ paper.md | 30 ++++++++++++++++------------ 3 files changed, 68 insertions(+), 12 deletions(-) create mode 100644 architecture.png create mode 100644 architecture.svg diff --git a/architecture.png b/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..155cd215a7bc7c46f6a72d5a6fa5a136799249d9 GIT binary patch literal 164379 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

*g8CR6z~)-Ycd+ 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�ih_@10|#BOL5Il)uGK^iohid5{A4 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 literal 0 HcmV?d00001 diff --git a/architecture.svg b/architecture.svg new file mode 100644 index 00000000..4c84c962 --- /dev/null +++ b/architecture.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + Donor + Observes predictors + and target variables + (e.g. Survey of Consumer Finances) + + + + Receiver + Observes only the + shared predictors + (e.g. Current Population Survey) + + + + + + + + Methods + Matching, ordinary least squares, quantile + regression, quantile regression forests, MDN + (one fit/predict interface, scored by quantile loss) + + + Cross-validation + (five folds on the donor) + + + + + + + Result + Imputed variables in the receiver + (with per-method losses and the fitted model) + diff --git a/paper.md b/paper.md index 1cee7feb..7fdf2820 100644 --- a/paper.md +++ b/paper.md @@ -32,9 +32,9 @@ bibliography: paper.bib `microimpute` imputes variables from one survey onto another and, more importantly, makes the choice of imputation method an empirical question rather than a convention. Policy microdata routinely lacks variables an analysis needs: a labour force survey records earnings but not wealth, a household survey records spending but not assets. The standard remedy is to borrow the variable from a richer donor survey conditional on characteristics both surveys observe. Many methods do this, they disagree, and the disagreement matters for the resulting estimates. -The package implements five approaches behind one `fit`/`predict` interface — statistical matching, ordinary least squares, quantile regression [@koenker1978regression], quantile regression forests [@meinshausen2006qrf], and mixture density networks [@bishop1994mdn] — and adds `autoimpute`, which cross-validates the available methods on the user's own data under five-fold cross-validation, optionally tuning hyperparameters, and selects by quantile loss for numerical targets or log loss for categorical ones. Statistical matching wraps R's `StatMatch` through `rpy2` and mixture density networks require PyTorch; both are optional extras, and `autoimpute` compares whichever methods are installed. Ordinary least squares and statistical matching accept survey weights directly, fitting by weighted least squares and by weighted donor selection respectively, so survey design need not be discarded at the imputation step; quantile regression and mixture density networks raise an explicit error rather than silently returning an unweighted fit. +The package implements five approaches behind one `fit`/`predict` interface — statistical matching, ordinary least squares, quantile regression [@koenker1978regression], quantile regression forests [@meinshausen2006qrf], and mixture density networks [@bishop1994mdn] — and adds `autoimpute`, which cross-validates the available methods on the user's own data under five-fold cross-validation, optionally tuning hyperparameters, and selects by quantile loss for numerical targets or a categorical loss for categorical ones. Statistical matching wraps R's `StatMatch` through `rpy2` and mixture density networks require PyTorch; both are optional extras, and `autoimpute` compares whichever methods are installed. Ordinary least squares accepts survey weights directly and fits by weighted least squares; quantile regression forests accept a weight column, which is passed to the underlying forest. Quantile regression and mixture density networks raise an explicit error rather than silently returning an unweighted fit, so survey design is never discarded without the analyst knowing. -The design follows from an empirical finding rather than a preference. Benchmarking across six further datasets, alongside the wealth application, shows no method dominating across all of them: quantile regression forests win where relationships are nonlinear, and matching better preserves marginal distributions because it draws from the donor pool directly, with ordinary least squares and quantile regression occupying middle ranks [@juaristi2026microimpute]. With six benchmark datasets, the rank differences are not robust to the inclusion or exclusion of any single dataset. If method performance is dataset-specific, the useful tool is one that measures it. +The design follows from an empirical finding rather than a preference. Benchmarking across six further datasets, alongside the wealth application, shows no method dominating across all of them: quantile regression forests win where relationships are nonlinear, while matching achieves the lowest mean rank overall because it draws from the donor pool directly and better preserves marginal distributions, with ordinary least squares and quantile regression occupying middle ranks [@juaristi2026microimpute]. With six benchmark datasets, the rank differences are not robust to the inclusion or exclusion of any single dataset. If method performance is dataset-specific, the useful tool is one that measures it. # Statement of Need @@ -42,25 +42,31 @@ Imputation choices are usually invisible in published analysis. A study reports Analysts nonetheless tend to pick one method and keep it, because comparing methods is laborious. Each has a different API, different hyperparameters, and different output — a conditional mean from a regression, a donor record from matching, a predictive distribution from a forest. Building a like-for-like comparison means writing adapters and a cross-validation harness before any comparison happens, which is enough friction that the comparison usually is not done. -`microimpute` removes that friction. Because every method returns quantiles of the conditional distribution rather than a point prediction, they can be scored on the same footing with quantile loss, and the comparison is a function call rather than a project. The package also makes the imputation reproducible: hyperparameter tuning, cross-validation, and selection run from a single entry point that records what was chosen. +`microimpute` removes that friction. Because the methods are expressed as predictive distributions rather than point predictions, they are scored on the same footing with quantile loss across a common grid, and the comparison is a function call rather than a project. The package also makes the imputation reproducible: hyperparameter tuning, cross-validation, and selection run from a single entry point that records what was chosen. # State of the Field -| Tool | Multiple methods | Automated selection | Quantile-based evaluation | Survey weights | Language | +\renewcommand{\arraystretch}{1.5} + +| | `microimpute` | `scikit-learn` | `statsmodels` | R `mice` | R `StatMatch` | |---|---|---|---|---|---| -| `microimpute` | 5 (3 without optional extras) | Yes | Yes | Partly | Python | -| `scikit-learn` `IterativeImputer` [@pedregosa2011scikit] | 1 family | No | No | No | Python | -| `statsmodels` MICE [@seabold2010statsmodels] | 1 family | No | No | No | Python | -| R `mice` [@vanbuuren2011mice] | Several | No | No | No | R | -| R `StatMatch` [@dorazio2022statmatch] | Matching | No | No | Yes | R | +| Multiple methods | 5 | 1 family | 1 family | Several | Matching | +| Automated selection | Yes | No | No | No | No | +| Quantile-based evaluation | Yes | No | No | No | No | +| Survey weights | Partly | No | No | No | Partly | +| Language | Python | Python | Python | R | R | + +\renewcommand{\arraystretch}{1.0} -`scikit-learn` and `statsmodels` treat imputation as filling missing values within a dataset, which is a different problem from borrowing a variable across two surveys with no overlapping records. R's `mice` is the reference implementation for multiple imputation by chained equations, and `StatMatch` for statistical matching, but neither compares across method families or selects between them, and using both means working in two idioms. +Three of `microimpute`'s five methods install with the package; statistical matching and mixture density networks are optional extras. `scikit-learn`'s `IterativeImputer` [@pedregosa2011scikit] and `statsmodels`' MICE [@seabold2010statsmodels] treat imputation as filling missing values within a dataset, which is a different problem from borrowing a variable across two surveys with no overlapping records. R's `mice` [@vanbuuren2011mice] is the reference implementation for multiple imputation by chained equations, and `StatMatch` [@dorazio2022statmatch] for statistical matching — the latter supporting donor weights in its random and rank hot-deck routines, though not in its distance-based nearest-neighbour hot deck — but neither compares across method families or selects between them, and using both means working in two idioms. The gap `microimpute` fills is comparison. Its contribution is not a new estimator but a harness that makes existing estimators commensurable on a user's data, with an evaluation metric appropriate to distributional imputation. # Software Design -Every model implements `fit(X_train, predictors, imputed_variables, weight_col=None)` and `predict(X_test, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. Imputation is framed throughout as a donor-to-receiver problem: the donor survey observes both the predictors and the target variables, the receiver survey observes only the predictors, and the two share no records. Categorical predictors are encoded and numeric predictors standardised consistently across the two frames, so a model fitted on the donor can be applied to the receiver without the analyst reconciling schemas by hand. +Every model implements `fit(X_train, predictors, imputed_variables, weight_col=None)` and `predict(X_test, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. Imputation is framed throughout as a donor-to-receiver problem: the donor survey observes both the predictors and the target variables, the receiver survey observes only the predictors, and the two share no records. Categorical predictors are encoded consistently across the two frames, so a model fitted on the donor can be applied to the receiver without the analyst reconciling schemas by hand. Optional numeric transformations — log, inverse hyperbolic sine and standardisation — are available for both frames. + +![How `microimpute` works. A donor survey observing both the predictors and the targets, a receiver observing only the predictors, and a set of candidate methods feed a cross-validated comparison, which returns the imputed variables alongside the losses that chose the method.](architecture.png){width="100%"} ```python @@ -78,7 +84,7 @@ result = autoimpute( Alongside the imputers, the package provides diagnostics for the step that usually determines imputation quality more than the estimator does: the choice of predictors. `compute_predictor_correlations` reports Pearson and Spearman correlations among candidate predictors and mutual information between each predictor and each target, while `leave_one_out_analysis` and `progressive_predictor_inclusion` measure contribution by loss: the first by the degradation when a predictor is dropped, the second by building the predictor set up one addition at a time to find an ordering and a subset. A predictor set can then be defended rather than assumed. The zero-inflated wrapper composes a model for the probability of a zero with a model for the positive part, which matters for variables such as asset holdings where a large share of the population is at zero. -Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a companion web dashboard, distributed separately, renders the comparison for exploration. +Results are inspectable rather than final: the package reports per-method losses so an analyst can see how close the decision was, and a companion web dashboard renders the comparison for exploration. # Research Impact Statement From 6dc7b9bde8d738c2e641f5a6b6b0ecbef3de73c6 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Mon, 21 Sep 2026 15:16:26 +0100 Subject: [PATCH 9/9] Reduce the figure to 62% width At full width the portrait diagram dominated the Software Design page. --- paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 7fdf2820..02cbaefd 100644 --- a/paper.md +++ b/paper.md @@ -66,7 +66,7 @@ The gap `microimpute` fills is comparison. Its contribution is not a new estimat Every model implements `fit(X_train, predictors, imputed_variables, weight_col=None)` and `predict(X_test, quantiles)`, returning quantiles of the conditional distribution. That uniformity is what makes the comparison possible: a regression and a donor-matching procedure are not obviously comparable until both are expressed as predictive distributions. Imputation is framed throughout as a donor-to-receiver problem: the donor survey observes both the predictors and the target variables, the receiver survey observes only the predictors, and the two share no records. Categorical predictors are encoded consistently across the two frames, so a model fitted on the donor can be applied to the receiver without the analyst reconciling schemas by hand. Optional numeric transformations — log, inverse hyperbolic sine and standardisation — are available for both frames. -![How `microimpute` works. A donor survey observing both the predictors and the targets, a receiver observing only the predictors, and a set of candidate methods feed a cross-validated comparison, which returns the imputed variables alongside the losses that chose the method.](architecture.png){width="100%"} +![How `microimpute` works. A donor survey observing both the predictors and the targets, a receiver observing only the predictors, and a set of candidate methods feed a cross-validated comparison, which returns the imputed variables alongside the losses that chose the method.](architecture.png){width="62%"} ```python