Published deltas carry an alpha_PP change: Baseline 0.2748 vs policy 0.2762
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
調査の方向性
Start with scratchpad/r5/alpha/decomp.py and inspect the cached CSV evidence and validation/reference_outputs.json; the proposed matched-baseline fix also requires an R run with the upstream dependency set. Compare a Baseline rerun at alpha_PPLR = 0.2762 against policy files through 2026Q4, then assess the pinned deltas, multiplier, and peak. Done means choosing and implementing a resolution with updated published values or documented bounds; the issue says no decision has been made.
索引モデルが issue の本文から書いたものです。
説明
Every published scenario-minus-baseline delta in this repo also carries a change in production's own-input coefficient α_PP. The Baseline files use α_PPLR = 0.2748 and the policy files use Table 5's 0.2762. This issue sizes the bias for each published number and asks which fix to adopt. No published number has been changed.
Evidence (cached run 846081a, CSV reads only, clean room)
- It is a parameter, not a print artefact.
Parameters-sorted_*.csvprints the input parameters of each run. Across all 30 files, alpha_PPLR is the only parameter outside the published policy switches that differs: 0.2748 in all 7 Baseline files, 0.2762 in all 23 policy files. The gap of 0.0014 is 28 times the half-unit of 4-significant-figure printing (0.00005), so rounding cannot explain it. Eq. (139) carries it through: thealpha_PPcolumn ofVariables_*.csvis 0.2798 (data) in 2022Q4, then 0.2748 or 0.2762 in every simulated quarter. The mark-up calibrated on the last data row already differs: MU in 2022Q4 is 0.176 in the Baseline and 0.1704 in the policy runs. - No policy switch acts before 2027Q1. All 16 distinct policy files (the 23 collapse to 16 because some are duplicates) are identical in every column through 2026Q4, and they first differ from one another in 2027Q1. Every 2023Q1–2026Q4 policy-minus-baseline delta is therefore the α_PP effect alone. Each scenario carries the same values:
| Delta, policy − Baseline (any scenario) | 2023Q1 | 2024Q1 | 2026 (mean per quarter) |
|---|---|---|---|
| Real GDP (GDP_R) | +3.1 (+0.55%) | +0.4 | −1.125 (−0.16%), flat through 2026 |
| Nominal GDP | −0.6 | +0.4 | +0.25 (+0.03%) |
| Unemployment rate (UPLOT, pp) | −0.138 | −0.015 | +0.037 |
| Emissions (EMIS, Mt per quarter) | +0.53 | +0.30 | −0.02 (−0.02%) |
| SPEND_GVT | −0.3 | 0.0 | +0.15 |
- Consequences we already publish:
- The pinned point "green public investment, GDP_R, 2026: −1.125" (
validation/reference_outputs.json) contains no policy effect. Thetests/test_scenarios.pydocstring read it as "green public investment depresses GDP in the first years". This PR withdraws that reading. run_scenariostarts its horizon at the first year any variable departs from baseline, so it serves 2023–2037 as the policy window. The policies start in 2027.- The common first-quarter move behind
Multiplier_Summary.csv's identical M_Impact (−32.22 in all rows) is this α_PP effect. It is notGVT_ENERGY, which is 1 in the Baseline too. This correction affects #16's point 2.
- The pinned point "green public investment, GDP_R, 2026: −1.125" (
Size of the bias in each published number
After 2026Q4 the α_PP effect cannot be observed, because it is mixed in with the policy. The range below comes from three extrapolations:
- Z: the effect stops at 2027Q1. This gives the smallest correction.
- L: the 2026Q4 level persists.
- P: the 2026Q4 share of baseline persists.
L and P are the more plausible cases. The 2025–26 effect is flat, and the closure has permanent level effects (Kaldor–Verdoorn, Eq. (31)). The range ignores interaction between α_PP and the policy.
| Published number (where) | Published | α_PP part (Z – P) | Policy effect (range) |
|---|---|---|---|
| GPI cumulative multiplier, cum ΔGDP/ΔSPEND_GVT (README / VALIDATION / macro site) | 1.78 (209.9/118.2) | ΔGDP 4.8–20.5, ΔSPEND 1.2–8.9 | 1.73–1.75 |
| #16 option B, ΔGDP/ΔSPEND_GVTPS | 2.30 | ΔGDP 4.8–20.5, ΔSPEND_GVTPS 0 | 2.08–2.25 |
| #16 option C, ΔGDP/(ΔSPEND_GVTPS+ΔGCF_GVTG) | 1.94 | as above | 1.75–1.90 |
| GPI cumulative real ΔGDP_R | 250.6 | −1.6 to −74.3 | 252–325 |
| GPI real-GDP peak, % (FMM anchor, site) | +0.92% (2034) | 0 to −0.16 pp | +0.92% to +1.08% |
| GPI GDP_R 2026 | −1.125 | −1.125 (all of it) | 0 |
| GPI GDP_R 2030 / 2035 | +4.075 / +7.75 | 0 to −1.2 / 0 to −1.34 | +4.1 to +5.3 / +7.75 to +9.1 |
| Housing regulation GDP_R 2035 | −2.3 | 0 to −1.34 | −0.96 to −2.3 (up to 58% is α_PP) |
| Fossil-fuel ban GDP_R 2030 | −3.85 | 0 to −1.2 | −2.65 to −3.85 |
| Mixed UPLOT 2030 | +0.141 | 0 to +0.037 | +0.104 to +0.141 |
| GPI UPLOT 2035 | −0.2195 | 0 to +0.038 | −0.22 to −0.26 |
| All EMIS points (GPI −13.54, housing −5.375, FFB −10.65, mixed −23.10 in 2035) | — | 0 to −0.03 | unchanged to <0.25% |
In short:
- Emissions results are unaffected.
- The 1.78 multiplier moves by only about 0.03–0.05. Its α_PP numerator and denominator shift together.
- The real-GDP results, especially the small ones, are materially biased. Cumulative real ΔGDP_R, the housing-regulation and fossil-fuel-ban GDP costs, and every 2023–26 delta carry the α_PP effect. Under L or P, every real-GDP delta is understated by about 1.1–1.3 a quarter.
Script: scratchpad/r5/alpha/decomp.py (reads the cached CSVs). Gates: tests/test_alpha_pp_confound.py in #21.
Options
A. Recompute against a matched baseline. Rerun the upstream Baseline locally with alpha_PPLR = 0.2762 (Table 5's value, already used by every policy file). The matched Baseline has a free acceptance test: through 2026Q4 it must equal every policy file bit for bit. Then re-pin the 11 delta points, the multiplier and the peak, listing old → new. This needs R and the upstream dependency set, and it is the only option that removes the bias rather than bounding it.
B. Disclose, and stop serving 2023–26. Start run_scenario's horizon at 2027 (the first year the policy files diverge from one another), not 2023. Drop the 2026 pinned point. Add an "α_PP mismatch: real-GDP deltas carry up to −0.16% of baseline" caveat to every served delta, with the range table above.
C. Ask the authors which value the published Baseline should use. It could be an intentional recalibration or a stale Baseline. Hold the numbers until they answer.
Recommendation: B now (no numbers change, only the window and the caveats), then A as soon as an R run is possible. Raise C with the authors in parallel, alongside the Table 4 emissions divergence.
What the macro site would need to say
/define/validation/tile "Green investment multiplier 1.78": add "includes a Baseline/policy α_PP mismatch; policy-only 1.73–1.75 by our bounds"./define/validation/FMM anchor "peak +0.92%": add "α_PP-corrected +0.92–1.08%"./define/"Hence deltas only": add one sentence: "Deltas also carry a coefficient change: the upstream Baseline runs α_PP = 0.2748 against 0.2762 in every policy run, so 2023–26 deltas are not policy effects and real-GDP deltas are biased by up to −0.16% of baseline."/define/methodology/step 4 (1.78): link the same caveat.- Any served scenario chart or table that starts in 2023 should start in 2027, or shade 2023–26 as "not policy".
papers/define-uk/sections/validation.tex: the same caveat next to 1.78.
No macro-site change has been made. That waits for a decision here.
Found in round 3 (#19, tests/test_oracle.py ORACLE_FORMS["alpha_PP"]) and sized in round 5.
- 主要言語
- Python
- スター
- 0
- フォーク
- 0
- 平均マージ
- 4日 14時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PolicyEngine/define-uk-model のほかの issue
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
PolicyEngine/define-uk-model#17 · コメント 4 件 ·
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
PolicyEngine/define-uk-model#16 · コメント 2 件 ·
PolicyEngine/define-uk-model の issue をすべて見る
似ている issue
-
bug triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mealie-recipes/mealie#9117 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
freelawproject/courtlistener#8406 ·
メンテナーはふだん 2 日以内に返信
-
good first issue help wanted level 1 wocs
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
GianlucaBave/murmury#49 ·
メンテナーはふだん 1 日以内に返信
-
regression skipped skipped_bmg
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
intel/torch-xpu-ops#6142 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
good first issue help wanted python up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
andrewsiah/agentswarm-data-tasks#122 ·
メンテナーはふだん 1 日以内に返信