Move the engine's random draws into the data build
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start with the eight runtime draw sites named in the issue, including scenarios/uc_reform.py, data/economic_assumptions.py, dynamics/participation.py and scenarios/pip_reform.py; read the linked policyengine-core constraint and ratchet issue #2873. The issue lays out four migration steps across policyengine-uk, Microcosm UK and policyengine-uk-data. Done means simulations read stored draws from datasets while preserving outputs at each step, with any measured changes stated in the relevant PR.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
policyengine-core bans randomness in variable formulas, so the data build has to draw each stochastic input and store it (PolicyEngine/policyengine-core#500). policyengine-uk still draws at run time in eight places:
uc_deduction_random_drawanduc_deduction_type_random_drawhash the benefit unit id.months_since_last_birthdayhashes the person id, then spreads people over the year within each age and sex.warm_home_discount_random_drawhashes the household id.add_universal_credit_reforminscenarios/uc_reform.pydraws one value per benefit unit from a seeded generator.uprate_student_loan_plansindata/economic_assumptions.pyhashes the person id.apply_participation_responsesindynamics/participation.pydraws from a seededRandomState.scenarios/pip_reform.pyseeds numpy's global stream and draws one value per person.
We'll move them in four steps:
- A code-health test stops new draws appearing and lists today's as a ratchet (#2873).
- policyengine-uk defines stored inputs for the Universal Credit, student loan and PIP draws, and reads them when a dataset supplies them. It runs today's code on a dataset without them.
- Microcosm UK and policyengine-uk-data write each missing column, with the value today's code computes for that file.
- policyengine-uk stops drawing in simulations built from data and reads only the stored columns.
We keep outputs unchanged at each step, except where that step's PR states and measures a change.
- Lingua principale
- Python
- Stelle
- 53
- Fork
- 34
- Merge medio
- 3g 8h
- PR unite (30g)
- 322
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PolicyEngine/policyengine-uk
-
Lift the Universal Credit benefit cap for a claimant who receives War Widow's PensionForse già presa @juaristi22 l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine-uk#2792 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
`inflation_adjustment` prices to the year the simulation runsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
PolicyEngine/policyengine-uk#2875 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
PolicyEngine/policyengine-uk#2872 ·
I maintainer di solito rispondono entro 2 giorni
-
Pension Credit, pension-age HB and pensioner CTR count no income from trusts or life interestsAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
PolicyEngine/policyengine-uk#2871 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
PolicyEngine/policyengine-uk#2868 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di PolicyEngine/policyengine-uk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
fritzprix/libr-agent#2612 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage presubmit-gate
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
gke-labs/kube-agents#5001 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
simonw/sqlite-utils#928 ·
I maintainer di solito rispondono entro 3 giorni
-
colorado
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
freelawproject/juriscraper#2405 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
cline/mcp-marketplace#3576 ·