Move the engine's random draws into the data build
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 53
- Forks
- 34
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 321
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PolicyEngine/policyengine-uk
-
Lift the Universal Credit benefit cap for a claimant who receives War Widow's PensionPosiblemente ocupada @juaristi22 la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PolicyEngine/policyengine-uk#2792 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
PolicyEngine/policyengine-uk#2896 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
PolicyEngine/policyengine-uk#2894 ·
Los mantenedores suelen responder en 2 días
-
Scottish Budget 2027-28: Scottish property income rates, council tax growth and a freeze switch, Bands I and J, and missing Scottish paymentsPosiblemente ocupada @vahid-ahmadi la tomó hace 2 días. Abierto
PolicyEngine/policyengine-uk#2891 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
January 2027 price cap: kWh, a mains gas flag and tariff parameters, the cap's consumption basis, and Northern IrelandPosiblemente ocupada @vahid-ahmadi la tomó hace 2 días. Abierto
PolicyEngine/policyengine-uk#2890 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
Todos los issues de PolicyEngine/policyengine-uk
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
igormcsouza/tether#278 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
aws-samples/sample-per-model-bedrock#803 ·
Los mantenedores suelen responder en 1 día
-
documentation p1
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/accelerate#4511 ·
Los mantenedores suelen responder en 1 día
-
follow-up
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día