Skip to content

Commit 19fe675

Browse files
authored
Fix post peak fitting
Don't allow fitting of doubling time to fit the forecast day against days past the admissions peak
2 parents 432016b + 8556bad commit 19fe675

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/penn_chime/models.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,20 @@ def __init__(self, p: Parameters):
9292
self.i_day)
9393
min_loss = 2.0**99
9494
dts = np.linspace(1, 15, 29)
95-
losses = np.zeros(dts.shape[0])
95+
losses = np.full(dts.shape[0], np.inf)
9696
self.current_hospitalized = p.current_hospitalized
9797
for i, i_dt in enumerate(dts):
9898
intrinsic_growth_rate = get_growth_rate(i_dt)
9999
self.beta = get_beta(intrinsic_growth_rate, self.gamma, self.susceptible, 0.0)
100100
self.beta_t = get_beta(intrinsic_growth_rate, self.gamma, self.susceptible, p.relative_contact_rate)
101101

102102
self.run_projection(p, self.gen_policy(p))
103+
104+
# Skip values the would put the fit past peak
105+
peak_admits_day = self.admits_df.hospitalized.argmax()
106+
if peak_admits_day < 0:
107+
continue
108+
103109
loss = self.get_loss()
104110
losses[i] = loss
105111

0 commit comments

Comments
 (0)