Why Forecasting?

The outbreak of an epidemic is a process that often needs to be controlled by authorities. At the same time numbers of infected people do not correspond to numbers of people which are confirmed diagnosed. Only the number of diagnosed people is available as confirmed data source while the number of actual infections can be significantly higher.

The faster the infection spreads the more difference is in between these two numbers and the more difficult it is to provide a solid method of control strategy.

It get's even more difficult if people are not diagnosable but infectious for a longer period of time either because infectious people do not show symptoms yet or symptoms are not strong in a large number of cases.

This is what is called a Dead Time System. A system that reacts on changes of its surrounding with a delay. Only after that delay changes get visible in numbers. So if authorities decide to apply restrictions trending of the infection rate will only change after that delay time. That makes it extremely difficult to make the right decisions.

Covid-19 is such a dead time system.

Making desicions without having a forecast that provides information about the results of that decisions (which are only visible in the future) the whole process is prone to errors due to late action and following overreactions.

No forecasting can be perfect, in fact it can be totally wrong if some assumtions were wrong. But at least it can be possible to get an idea of how the system reacts on changes in principle. And in case the assumptions were right and the model parameters are stable, forecasting can provide a quite solid information for the near future, even if the results for distant future are totally wrong. And that information might be sufficient to make good decisions.

We could not find any good forecasting information for Covid-19 on the web. There are some good publications of mathematical models but unfortionately without real calculations with real numbers. So we made our own.

And again a disclaimer: We are not professionals in virology. We have a solid understanding of math and that is only a try to use the available numbers of cases to create a model that seems sufficiently accurate to us. A virus might behave different than we assumed. People in a country might behave different than we assumed. This can change everything and our calculation can be totally wrong.

Assumptions

First we made some assumtions. The most important one is that there is no immunity at the beginning and everybody could possibly get infected (this might - hopefully - be wrong). So the number of infectable people at the beginning is exacltly the population of the country.

Another assumption is that the virus itself will not change a lot in terms of how easy it spreads under the same conditions. It is known by specialists that most viruses tend to get more likely to be spread as it mutates but we neglegt this for simplicity.

The third unknown is how many deaths are to be expected compared to the number of total infections. As authorities only count the number of diagnosed people there is definitely the possibility of dignosable people not getting a dignosis and so not being counted. But we had to decide which death rate to use in the model. We decided to use the number of 0.5% which is known from South Korea. We think the lowest known number must be used in any calculation of death rates as all other countries which have higher rates just did not diagnose all diagnosable people. Of course this might also be the case in South Korea and so in fact we expect the actual rate of death to be even lower then 0.5% when people get proper medical treatment. Also we do not take into account that overloading of medical infrastructre may increase the rate of death at a later point in time.

As a calculation with large numbers we do not track down effects to single persons or single regions in a country. We expect the model to be a system of mean values. So numbers in some regions may be higher while being lower in some other regions.

Furthermore we implemented methodes to model social restrictions that are variable in time. We do not know the exact effect of different methods of social restrictions as nobody ever tried this before in Germany. So we do an estimation at this point. After some time the model is able to learn which type of social restriction causes which numerical reduction of infection rates. We are able to learn this from other countries that are ahead in time. But countries with different social, political and technical background cannot be compared to each other that simple. For example we assume that closing down schools will reduce the overall social activity by 20%. At this point in time we have no idea what amount of reduction further methods of restriction will bring.

Last it is assumed that one person can get the disease only once in the near future. The model assumes that once someone got the disease that person will either get immune after some time or die. That person cannot get the disease a second time.

How we built it

All the calculation is done in your browser in javascript so everybody is able to see the source code, copy and check it and apply changed to it. Data from Johns Hopkins University is downloaded from github to our server for caching and to reduce stress on github.

What's next for Numerical time domain model to forecast SARS-CoV-2?

Goals for this project are a more user friendly interface to change variables on the fly for simulation of different dynamics as well as the addition of more countries to further understand the efficiency of the measures taken by different states to further improve the model.

Built With

Share this project:

Updates