grattan / covid19.model.sa2

4 stars 0 forks source link

Day 1 / first week output looks odd #34

Closed wfmackey closed 4 years ago

wfmackey commented 4 years ago

Shiny app is up: https://grattan.shinyapps.io/covid19-model-app/

Password is: a

Day 1 output looks a bit weird -- looks like a series break?

Stephen is also confused by the increasing number of infected people in the first 7 days under the most strict lockdowns. I imagine this is because of household infections, so the model will always show an increasing number of cases in the first week with InitialStatus = list(..., active = 1840)?

@HughParsonage are you free for a meeting at 3:30pm today?

MattCowgill commented 4 years ago

what's the password tho

wfmackey commented 4 years ago

Password is: a

MattCowgill commented 4 years ago

lol

wfmackey commented 4 years ago

@HughParsonage happening now https://unimelb.zoom.us/j/6206824135?pwd=c2toVnoyVE1aNUdFYUh1RzBKVnU1dz09

HughParsonage commented 4 years ago

Hey really sorry I missed this -- was keeping fires burning/putting out fires.

You are correct that the first week is a bit strange: the initial bump is due to household contact which is probably a bit aggressive (it's currently set to everyone who's under the resistance threshold gets infected, regardless of r_distribution).

It will probably be worth changing this, though the initial run will have to live with it.

Consider


S <- simulate_sa2(14,
                  InitialStatus = list(dead = 0,
                                       healed = 0, 
                                       active = 100, 
                                       critical = 0),
                  # by_state = TRUE will ignore InitialStatus
                  by_state = FALSE,
                  Policy = set_policypars(supermarkets_open = FALSE,
                                          do_contact_tracing = FALSE),

                  # Infect once every seven days
                  EpiPars = set_epipars(r_distribution = "dirac",
                                        r_location = 1/7))

(Note we using the default output which gives the entire population.)

For me this gives:

S$Statuses[and(V2 == 0L, V3 > 0L), .N, keyby = .(HouseholdSize)]
#    HouseholdSize  N
# 1:             2 17
# 2:             3 19
# 3:             4 44
# 4:             5 24
# 5:             6 17
# 6:             7 12

(i.e. the only new infections on day 3 are in households > 1)

HughParsonage commented 4 years ago

Even with the most restricting policy settings, household infections still occur throughout

image

wfmackey commented 4 years ago

Thanks -- that's what I guessed was happening. I guess this is amplified in the first week because, especially with the shape of Australia's curve, the InitialStatus will include household clusters that are not accounted for the in the model (people in each state are just randomly distributed among houses).

This means our model results are going to show a doubling/tripling in the first week regardless of policy settings, which is problematic -- even if we provide the reasons why.

The model looks to stabilise after the first week, after the household clusters have been established. May it be sensible to backwards engineer these numbers? So that with InitialStatus = 100, ~40 people are infected and then go on to infect their house, and then the model starts?

wfmackey commented 4 years ago

Fixed now