Spaces:
Sleeping
Sleeping
Commit
·
059f046
1
Parent(s):
db39f74
Create new file
Browse files- seir_model.py +29 -0
seir_model.py
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import numpy as np
|
2 |
+
|
3 |
+
def p_exposed(params, substep, state_history, previous_state):
|
4 |
+
signal = previous_state["S"]*params["infection_rate"]*previous_state["I"]/N
|
5 |
+
return {"delta_s":np.ceil(signal)}
|
6 |
+
|
7 |
+
def p_infected(params, substep, state_history, previous_state):
|
8 |
+
signal = params["exposure_rate"]*previous_state["E"]
|
9 |
+
return {"delta_i":np.ceil(signal)}
|
10 |
+
|
11 |
+
def p_recovered(params, substep, state_history, previous_state):
|
12 |
+
signal = params["recovery_rate"]*previous_state["I"]
|
13 |
+
return {"delta_r":np.ceil(signal)}
|
14 |
+
|
15 |
+
def s_susceptible(params, substep, state_history, previous_state, policy_input):
|
16 |
+
new_S = previous_state["S"] - policy_input["delta_s"]
|
17 |
+
return ("S", max(new_S,0))
|
18 |
+
|
19 |
+
def s_exposed(params, substep, state_history, previous_state, policy_input):
|
20 |
+
new_E = previous_state["E"] + policy_input["delta_s"] - policy_input["delta_i"]
|
21 |
+
return ("E", max(new_E,0))
|
22 |
+
|
23 |
+
def s_infected(params, substep, state_history, previous_state, policy_input):
|
24 |
+
new_I = previous_state["I"] + policy_input["delta_i"] - policy_input["delta_r"]
|
25 |
+
return ("I", max(new_I,0))
|
26 |
+
|
27 |
+
def s_recovered(params, substep, state_history, previous_state, policy_input):
|
28 |
+
new_R = previous_state["R"] + policy_input["delta_r"]
|
29 |
+
return ("R", max(new_R, 0))
|