Resolve US state and congressional-district regions to the ACS local-area dataset
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
Start with src/policyengine/countries/us/regions.py lines 46–90 and src/policyengine/data/bundle/manifest.json, then inspect the existing populace_us_2024_acs_local overlay registration from #471. Done means state and congressional-district regions resolve through the pinned ACS local-area dataset with their dataset_path values, while the loading contract is agreed with the simulation API issue #717.
索引モデルが issue の本文から書いたものです。
説明
Problem
US state and congressional-district regions filter the sparse national default file; no region resolves to the ACS local-area dataset.
On main (bundle us-6.2.1):
src/policyengine/countries/us/regions.pybuilds state regions (lines 46–60) and congressional-district regions (lines 63–90) with aRowFilterStrategyand nodataset_path, so they inherit the national region'spopulace_us_2024.h5.src/policyengine/data/bundle/manifest.json→data_releases.us.region_datasetscontains onlynational.- The local-area build is registered as the named non-default overlay
populace_us_2024_acs_local(#471), pinned topopulace-us-2024-buildo-acs-local-77e2061-20260724T110908Z, but nothing selects it for a region.
#437 previously resolved state regions to per-state policyengine-us-data files; since those retired, state reports in the app run on the national file. The API's deployed bundle (policyengine[models]==5.2.0) stamps state reports with populace-us-2024-buildp-sparse-rmloss100-cae8640-20260728T011454Z.
Evidence: Pennsylvania
Kish effective sample size, ESS = (Σw)² / Σw², 2026 baseline.
| PA slice | Sparse national, app pair (buildp-sparse-rmloss100-cae8640, policyengine-us 1.764.6) |
ACS local-area (buildo-acs-local-767312d60, policyengine-us 2.19.0) |
|---|---|---|
| Household records | 1,999 | 64,981 |
| Records holding 90% of weight | 288 | 13,346 |
| ESS, all households | 314 | 558 |
| ESS, households with children | 120 | 234 |
| ESS, poor SPM units with children | 15.4 | 28.8 |
| ESS, poor SPM units with children under 6 | 5.2 | 10.5 |
| Median congressional-district ESS, all households | 18 | 34 |
What this does to results: Children First PA (via the PA CTC analysis) asked why a Pennsylvania refundable credit for children under 6 showed almost no poverty or child poverty impact at any amount. On the app's data pair, poor SPM units with children under 6 whose poverty gap is at most $1,000 per child under 6 carry 0 weighted units. At $2,200 per child they carry 2. So no credit up to $2,200 can lift a family over the line in that data. On the local-area file the same groups carry 7,582 and 10,755 weighted units (ESS 1.6 and 3.1).
Proposed change
- Add
region_datasetsentries forstateandcongressional_districtthat resolve topopulace_us_2024_acs_local.h5through the overlay's own repo, revision and sha256. Setdataset_pathon state and district regions and keep the existingRowFilterStrategy. - Bump the overlay pin from the Jul 24 Build O (
77e2061) to the Sep 23 buildpopulace-us-2024-buildo-acs-local-767312d60-20260923T074941Z(or Build P592ae5d6). In77e2061'scalibration_diagnostics.json, Pennsylvania taxable-interest targets miss by +178% (all returns) to +523% (AGI $200k–$500k).767312d60fits 94 of 96 Pennsylvania targets within 10%. Its misses are net capital gains returns (−34%) and taxable interest under $1 of AGI (−19%). - Agree the loading contract with the simulation API (sibling issue): the national local-area file is 9.8 GB.
The local-area file improves the effective sample but still concentrates weight (the top 1% of PA records hold 69% of it). That calibration question is tracked in PolicyEngine/microcosm#403.
Related
- Simulation API loading: PolicyEngine/policyengine-sim-api#717
- API v1 state reports: PolicyEngine/policyengine-api#3864
- Weight concentration: PolicyEngine/microcosm#403 (PA comment: https://github.com/PolicyEngine/microcosm/issues/403#issuecomment-5937358726)
🤖 Generated with Claude Code
- 主要言語
- Python
- スター
- 8
- フォーク
- 9
- 平均マージ
- 15時間 28分
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PolicyEngine/policyengine.py のほかの issue
-
Raise the simulation cache memory warning to 16 GiB対応中かも @anth-volk が 6 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
PolicyEngine/policyengine.py#549 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PolicyEngine/policyengine.py#473 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
PolicyEngine/policyengine.py#436 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Certify populace-uk as the UK certified default再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PolicyEngine/policyengine.py#408 ·
メンテナーはふだん 1 日以内に返信
-
calculate_household raises SPMInputError for households without county_fips対応中かも @MaxGhenis が 6 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 58/100
PolicyEngine/policyengine.py#543 ·
メンテナーはふだん 1 日以内に返信
PolicyEngine/policyengine.py の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 3 日以内に返信
-
Negation with "not" and "no" is ignored during sentiment analysis対応中かも @vivek-3728 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
techcsispit/mess-mood#11 · コメント 1 件 ·
-
changelog investigate
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ramnes/notion-sdk-py#408 ·
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
btclib-org/btclib-wallet#267 ·
メンテナーはふだん 1 日以内に返信
-
good first issue tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
knnmelprop/YAADO#111 ·