Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a test to check parameters used throughout model run #229

Open
Sparrow0hawk opened this issue Dec 10, 2020 · 3 comments
Open

Create a test to check parameters used throughout model run #229

Sparrow0hawk opened this issue Dec 10, 2020 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@Sparrow0hawk
Copy link
Contributor

After chat in this weeks stand up, we agreed adding a test to confirm the parameters used by the model at different stages would be useful.

@Sparrow0hawk Sparrow0hawk added the enhancement New feature or request label Dec 10, 2020
@Sparrow0hawk Sparrow0hawk self-assigned this Dec 10, 2020
@github-actions
Copy link

Branch Sparrow0hawk-issue-229 created!

@spoonerf
Copy link
Contributor

List of parameters used in both the YAML (e.g. model_parameters/default.yml) and in params.py. The way parameters are set is a bit inconsistent with parameters in the two files being slightly different and in some cases meaning different things.

Outlining all the relevant parameters here for clarity. Not including ones that won't affect the output of the model e.g. repetitions, iterations etc.

Parameter YAML Params.py Notes
hazard_individual_multipliers - presymptomatic ✔️ ✔️
hazard_individual_multipliers - asymptomatic ✔️ ✔️
hazard_individual_multipliers - symptomatic ✔️ ✔️
hazard_location_multipliers - Retail ✔️ ✔️
hazard_location_multipliers - Primary School ✔️ ✔️
hazard_location_multipliers - Secondary School ✔️ ✔️
hazard_location_multipliers - Home ✔️ ✔️
hazard_location_multipliers - Work ✔️ ✔️
risk_multiplier ✔️ Not sure what this is meant to do(!)
current_risk_beta ✔️ Combined in the location multipliers in params.py
risk_cap ✔️ Redundant?
seed_days ✔️ Add to params.py
exposed_dist ✔️ Weibull hardcoded in params.py
exposed_mean ✔️ ✔️ Not equivalent but will fix in #230
exposed_sd ✔️ ✔️ Not equivalent but will fix in #230
presymp_dist ✔️ Weibull hardcoded in params.py
presymp_mean ✔️ ✔️ Not equivalent but will fix in #230
presymp_sd ✔️ ✔️ Not equivalent but will fix in #230
infection_dist ✔️ Lognormal hardcoded in params.py
infection_mean ✔️ ✔️ Not equivalent but will fix in #230
infection_sd ✔️ ✔️ Not equivalent but will fix in #230
output_switch ✔️ Redundant?
rank_assign ✔️ Redundant?
local_outbreak_timestep ✔️ Local outbreak not possible in OpenCL - remove from default YAML?
local_outbreak ✔️ Local outbreak not possible in OpenCL - remove from default YAML?
msoa_infect ✔️ Local outbreak not possible in OpenCL - remove from default YAML?
number_people_local ✔️ Local outbreak not possible in OpenCL - remove from default YAML?
local_prob_increase ✔️ Local outbreak not possible in OpenCL - remove from default YAML?
overweight_sympt_mplier ✔️ ✔️ Not using in scenario any more - redundant?
obesity_40 ✔️ ✔️ Combined in obesity multipliers
obesity_35 ✔️ ✔️ Combined in obesity multipliers
obesity_30 ✔️ ✔️ Combined in obesity multipliers
overweight ✔️ ✔️ Combined in obesity multipliers
cvd ✔️ ✔️
diabetes ✔️ ✔️
bloodpressure ✔️ ✔️
improve_health ✔️
set_seed ✔️ Redundant?
symptomatic_multiplier ✔️ Would be good to have in YAML #113
lockdown_multiplier ✔️ I think just set up for google mobility?
mortality_probs ✔️ Would be good to have in YAML
symptomatic_probs ✔️ Would be good to have in YAML

@Sparrow0hawk
Copy link
Contributor Author

After having a think about how to do this, I haven't been able to come up with a good approach that tests these values during runtime.

I walked through a model run with a debugger, which allowed me to check the state of global variables, and didn't find any defaults overriding settings in the YAML.

But that doesn't check for any default values in function calls which is another area this could creep in.

The list above from @spoonerf is helpful though for clarifying further investigations!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants