ScottishCovidResponse / SCRCIssueTracking

Central issue tracking repository for all repos in the consortium
6 stars 0 forks source link

Draw an Efficient Frontier between n_deaths and person_days_in_isolation, and find robust policy parameters #694

Open maxlogutility opened 3 years ago

maxlogutility commented 3 years ago

Number of deaths and person * n_days in isolation are in a trade-off, where longer isolation reduces total number of death but increase the person days that result in stresses for citizens. So we are interested in the efficient frontier between these two metrics, and what are the optimal policy parameters corresponding to each point on that frontier line.

If we have good estimates of disease parameters, then what we need to do is to search for the best policy parameters under the fixed disease parameters. However, because lack of real data results in high uncertainty (e.g., prior variance as opposed to posterior variance when data are available), we are interested in reasonably good policy parameters that can work under many different possibilities of disease parameters.

For a simple but effective start point, we estimate average-case best policies and worst-case best policies under prior uncertainty, and draw the efficient frontier for each of the policies. To this end, after drawing the samples of both disease and policy parameters by draw_parameters.py and fit the meta models of total_death and person_days_in_isolation, we should do the following:

For the worst-case evaluation, the above mean_f and mean_g should be replaced by the empirical maximum or 99%-tile across the n samples.

This method is brute-force and multi-modality of functions f and g will lead discontinuity of chosen policy parameters between the neighboring points on the frontier. The parameters found, however, are guaranteed to have some robustness across many different environments. If we draw from the posterior distribution of disease parameters instead of the prior, then we can be further confident on the set of workable policies.

If you have comments on this approach comments are welcome. @sibylleM @LouiseMatthews

maxlogutility commented 3 years ago

Implemented the above procedure by this commit. It's found that broad prior of random_infection_rate, exposure_exponent, and exposure_probability4unit_contact results in very high variance of total_death even if the policy parameters are fixed. This high variance leads the situation that policy parameters that lead empirically-minimal total_death could be merely random outcomes by over-fitting. The problem is expected to vanish once we have reasonable datasets to estimate the three disease parameters above.

https://github.com/ScottishCovidResponse/inference-for-contact-tracing-model/commit/14c4199b12d62e44f585a9ac96e3a8d3ee81f334