Graphical User Interface¶
To make the model more interactive, EpiDemo has a simple Graphical User Interface, which can be configured in various ways. It is important to note that this GUI is not a plug-and-pay GUI: you must still set up the proper parameters in a Python script. The purpose of the GUI is just to allow you to get an immediate response to changes of parameter values. This gives a better feeling for how the various parameters affect the result.
The GUI is located in epidemo/epidemo_lookback_gui.py.
Getting started¶
Here is a simple example:
from epidemo.epidemo_lookback_gui import *
model,axes = lookback_model_gui(83000000,330,1.33,'2020-08-16','2021-06-01',\
show_actual=True,show_regist=True)
Or showing the registered and ICU cases:
from epidemo.epidemo_lookback_gui import *
model,axes = lookback_model_gui(83000000,330,1.33,'2020-08-16','2021-06-01',\
show_actual=False,show_regist=True,show_icu=True)
Likewise a two-group model:
from epidemo.epidemo_lookback_gui import *
Npoptot = 83000000
frac = 0.1
model,axes = lookback_model_gui([Npoptot*frac,Npoptot*(1-frac)],\
[10,1300],[[1.23,0.01],[0.1,0.90]],\
'2020-08-16','2021-06-01',\
show_actual=True,show_regist=True)
Modeling policy changes¶
If you want to split time into a “before policy change” and “after policy change”, for instance the implementation of a (partial) lockdown, you can do this as follows:
from epidemo.epidemo_lookback_gui import *
model,axes = lookback_model_gui(83000000,330,1.33,'2020-08-16','2021-06-01',\
R0MatrixPre=1.33,date_switch='2020-11-02',\
show_actual=True,show_regist=True)
The R0MatrixPre is the fixed \(R_0\) before the change. On date
date_switch the \(R_0\) is changed to the value that is variable
with the slider. In the above example the initial value is taken the same
as the R0MatrixPre.
Overplotting data¶
If you want to compare your model to actual data, you can use the axes
return value for overplotting these data. In the demodata/ directory you
find some data extracted from the RKI and JHU databases for Germany.
Here is an example of how to overplot those data:
from epidemo.epidemo_lookback_gui import *
jhu = np.loadtxt('demodata/jhu_germany_daily.txt')
t_start = datetime.date(2020, 1, 16).toordinal() # Start of time series
model,axes = lookback_model_gui(83000000,300,1.33,'2020-08-16','2021-06-01',\
R0MatrixPre=1.33,date_switch='2020-11-02',\
show_actual=True,show_regist=True,addlegend=False)
axes[0].plot(jhu[:,0]+t_start,jhu[:,1],label='JHU Database')
axes[0].legend()
axes[1].legend()
Further example models¶
In the directory examples/ you can find several further examples.



