Discussion:
Zakażenia koronawirusem
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
M.M.
2020-01-30 20:23:48 UTC
Permalink
Witam

Jaki model matematyczny należy przyjąć do przewidywania przyszłych
zachorowań na tę wirusa z tytułu?

Pozdrawiam
osobliwy nick
2020-01-31 01:50:43 UTC
Permalink
1. W przypadku koronawirusa zarażenia postępują w tempie geometrycznym, notując 53% przyrost na dzień. Jeśli na 27.01.20 było 4515 zarażonych, to za 2 tygodnie od tej daty powinniśmy się spodziewać, według tego tempa wzrostu 1,7 miliona zarażonych, zaś za miesiąc ponad 1,5 miliarda zarażonych. Wreszcie, po miesiącu i 5 dniach powinna być zarażona cała ludzkość, a trud jej skończony.

https://moneymaven.io/mishtalk/economics/coronavirus-geometric-progression-suggests-100-000-infections-in-a-week-jzcZTq6Je0GpmioumMXSyg?fbclid=IwAR2Dop5v7esJwDkItPXMmiAZALwdDnVnV3kzz23fzt1Y1IxLDFPgbG3mUlg

2. W rzeczywistości wygląda to tak jak w przypadku np. epidemii eboli z 2014 roku w zachodniej Afryce:

Loading Image...

Tzn. wzrost początkowo rzeczywiście jest wykładniczy, ale później wyhamowuje. Wykres wygląda jak dystrybuanta. Mimo tego, jak twierdzą np. autorzy pracy "Estimating epidemic exponential growth rate and basic reproduction number", początkowa wykładnicza stopa wzrostu epidemii jest ważnym miernikiem powagi epidemii. Większość epidemii rośnie w przybliżeniu wykładniczo w początkowej fazie.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6962332/

3. Istnieją metody symulowania przebiegu krzywej epidemicznej, ale żadne nie są idealne, bo nie ma metod zdolnych przewidzieć przyszłość bez błędu, zwłaszcza, gdy odpowiednie decyzje władz, rządów mogą mieć kluczowe dla wielkości epidemii. Powstały już wstępne estymacje przebiegu koronawirusa:

https://www.medrxiv.org/content/10.1101/2020.01.23.20018549v1.full.pdf?fbclid=IwAR13k_2PoIDSXyW8dxrRNGOFoAn-Qu_zC0g1mqCtH85MKYBE1pgbBe0UHQc

Ogólnie niepewność oszacowań określa się poprzez powtarzanie symulacji, powyżej było ich 500, z losowymi wartościami parametrów, które pasują do dotychczasowego przebiegu funkcji (tyle dowiedziałem się z pracy poniżej). Najczęściej z tego co wyczytałem stosuje się metody SEIR, tutaj przykład:

file:///C:/Users/bewaking/Downloads/mathematics-05-00007.pdf

I wikipedia:

https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#The_SEIR_model
osobliwy nick
2020-01-31 01:52:43 UTC
Permalink
1. W przypadku koronawirusa zarażenia postępują w tempie geometrycznym, notując 53% przyrost na dzień. Jeśli na 27.01.20 było 4515 zarażonych, to za 2 tygodnie od tej daty powinniśmy się spodziewać, według tego tempa wzrostu 1,7 miliona zarażonych, zaś za miesiąc ponad 1,5 miliarda zarażonych. Wreszcie, po miesiącu i 5 dniach powinna być zarażona cała ludzkość, a trud jej skończony.

https://moneymaven.io/mishtalk/economics/coronavirus-geometric-progression-suggests-100-000-infections-in-a-week-jzcZTq6Je0GpmioumMXSyg?fbclid=IwAR2Dop5v7esJwDkItPXMmiAZALwdDnVnV3kzz23fzt1Y1IxLDFPgbG3mUlg

2. W rzeczywistości wygląda to tak jak w przypadku np. epidemii eboli z 2014 roku w zachodniej Afryce:

https://www.ncbi.nlm.nih.gov/core/lw/2.0/html/tileshop_pmc/tileshop_pmc_inline.html?title=Click%20on%20image%20to%20zoom&p=PMC3&id=6962332_gr1.jpg

Tzn. wzrost początkowo rzeczywiście jest wykładniczy, ale później wyhamowuje. Wykres wygląda jak dystrybuanta. Mimo tego, jak twierdzą np. autorzy pracy "Estimating epidemic exponential growth rate and basic reproduction number", początkowa wykładnicza stopa wzrostu epidemii jest ważnym miernikiem powagi epidemii. Większość epidemii rośnie w przybliżeniu wykładniczo w początkowej fazie.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6962332/

3. Istnieją metody symulowania przebiegu krzywej epidemicznej, ale żadne nie są idealne, bo nie ma metod zdolnych przewidzieć przyszłość bez błędu, zwłaszcza, gdy odpowiednie decyzje władz, rządów mogą mieć kluczowe dla wielkości epidemii. Powstały już wstępne estymacje przebiegu koronawirusa:

https://www.medrxiv.org/content/10.1101/2020.01.23.20018549v1.full.pdf?fbclid=IwAR13k_2PoIDSXyW8dxrRNGOFoAn-Qu_zC0g1mqCtH85MKYBE1pgbBe0UHQc

Ogólnie niepewność oszacowań określa się poprzez powtarzanie symulacji, powyżej było ich 500, z losowymi wartościami parametrów, które pasują do dotychczasowego przebiegu funkcji (tyle dowiedziałem się z pracy poniżej). Najczęściej z tego co wyczytałem stosuje się metody SEIR, tutaj przykład:

https://www.mdpi.com/2227-7390/5/1/7

I wikipedia:

https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#The_SEIR_model
M.M.
2020-01-31 15:46:50 UTC
Permalink
Post by osobliwy nick
1. W przypadku koronawirusa zarażenia postępują w tempie geometrycznym, notując 53% przyrost na dzień. Jeśli na 27.01.20 było 4515 zarażonych, to za 2 tygodnie od tej daty powinniśmy się spodziewać, według tego tempa wzrostu 1,7 miliona zarażonych, zaś za miesiąc ponad 1,5 miliarda zarażonych. Wreszcie, po miesiącu i 5 dniach powinna być zarażona cała ludzkość, a trud jej skończony.
https://moneymaven.io/mishtalk/economics/coronavirus-geometric-progression-suggests-100-000-infections-in-a-week-jzcZTq6Je0GpmioumMXSyg?fbclid=IwAR2Dop5v7esJwDkItPXMmiAZALwdDnVnV3kzz23fzt1Y1IxLDFPgbG3mUlg
https://www.ncbi.nlm.nih.gov/core/lw/2.0/html/tileshop_pmc/tileshop_pmc_inline.html?title=Click%20on%20image%20to%20zoom&p=PMC3&id=6962332_gr1.jpg
Tzn. wzrost początkowo rzeczywiście jest wykładniczy, ale później wyhamowuje. Wykres wygląda jak dystrybuanta. Mimo tego, jak twierdzą np. autorzy pracy "Estimating epidemic exponential growth rate and basic reproduction number", początkowa wykładnicza stopa wzrostu epidemii jest ważnym miernikiem powagi epidemii. Większość epidemii rośnie w przybliżeniu wykładniczo w początkowej fazie.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6962332/
https://www.medrxiv.org/content/10.1101/2020.01.23.20018549v1.full.pdf?fbclid=IwAR13k_2PoIDSXyW8dxrRNGOFoAn-Qu_zC0g1mqCtH85MKYBE1pgbBe0UHQc
https://www.mdpi.com/2227-7390/5/1/7
https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#The_SEIR_model
Wziąłem dane z wikipedii:

https://pl.wikipedia.org/wiki/Zaka%C5%BCenia_koronawirusem_2019-nCoV

[282,314,579,843,1337,2014,2798,4593,6065,7818]

Zrobiłem dopasowanie wzorem:

next = A * prev ^ B + C * prev * D + E

Najmniejszy błąd średniokwadratowy znalazłem dla takich wartości:
A = -102,075
B = 0,435479
C = 35,1515
D = 0,673013
E = -8,25974

Wyszło że zarazi się łącznie 20tys osób (oby nie więcej, to i tak za
dużo o 20tys).

Loading Image...

Wzór wymyśliłem sobie sam, bez żadnego doświadczenia z epidemiologii.
Czy można użyć jakiegoś lepszego wzoru, tak aby były dla niego ogólnodostępne
dane?

Pozdrawiam
M.M.
2020-01-31 15:50:40 UTC
Permalink
Post by M.M.
next = A * prev ^ B + C * prev * D + E
Errata
next = A * prev ^ B + C * prev ^ D + E

Pozdrawiam
M.M.
2020-02-05 22:33:28 UTC
Permalink
Post by M.M.
Post by M.M.
next = A * prev ^ B + C * prev * D + E
Errata
next = A * prev ^ B + C * prev ^ D + E
Pozdrawiam
Od ostatniego razu rozbudowałem model, łącznie używam 7
parametrów od p1 do p7:

n = p1 * p ^ p2 + p3 * p ^ p4 + p5 * p ^ p6 + p7;

n - ilość chorych w następnym dniu
p - ilość chorych w poprzednim dniu
p1-p7 - parametry dopasowane metodą najmniejszych kwadratów

Dane biorę ciągle z wikipedii:

https://pl.wikipedia.org/wiki/Szerzenie_si%C4%99_zaka%C5%BCe%C5%84_wirusem_2019-nCoV#cite_note-8

Wartości parametrów w dniu wczorajszym wyszły takie:
p1 = 0,114473
p2 = 1,20035
p3 = 8897,49
p4 = -0,388908
p5 = 420,283
p6 = 0,320929
p7 = -3300,01

Czasami widzę (niestety) dużą dokładność przewidywań tego (bardzo
uproszczonego) modelu. Na dzień 2020.02.05 ten model przewidział
24360 potwierdzonych zachorowań. Tymczasem przed chwilą na wiki
pojawiła się informacja, że jest/było 24554. Większość innych przewidywań
na następny dzień też było bardzo dokładnych. Przewidywania (przez
ten model) globalnej pandemii są różne. Czasami ilość (przewidywanych)
zachorowań dochodzi do określonego pułapu (np. do 25-50tys) po czym
nie ma dalszych zachorowań. Od kilku dni model pokazuje, że globalna
pandemia może nastąpić za 20-60 dni.

Jak ktoś chce obejrzeć, to wrzuciłem kod i wykres na githuba:

https://github.com/mmarszik/2019_nCoV

Pozdrawiam
Boguś
2020-02-06 12:23:21 UTC
Permalink
Post by M.M.
Od ostatniego razu rozbudowałem model, łącznie używam 7
n = p1 * p ^ p2 + p3 * p ^ p4 + p5 * p ^ p6 + p7;
To nie ma większego sensu. Dodanie kolejnych parametrów oczywiście zwiększa
dopasowanie ale równocześnie pogarsza dalszą prognozę poza zakres danych.
Post by M.M.
https://pl.wikipedia.org/wiki/Szerzenie_si%C4%99_zaka%C5%BCe%C5%84_wirusem_2019-nCoV#cite_note-8
lepiej tutaj
https://en.wikipedia.org/wiki/2019%E2%80%9320_Wuhan_coronavirus_outbreak
są dokładniejsze dane

Można użyć krzywej Gausa. Nie jest to w pełni poprawne, ale do etapu wzrostu
całkiem dobre

Aproksymując dane do 2020-02-05 można przewidywać, że maksimum nowych zachorowań
ok 4100 będzie 2020-02-08. A wszystkich zachorowań po 60 dniach 76100. Poprawne
nie?. NIE.
Aproksymując wyniki dla wcześniejszych dat otrzymujemy wcześniejsze i niższe
maksima i niższe wyniki końcowe. Wszystkie aproksymacje krzywą gausa są dobrze
dopasowane. Jednak dalsze prognoza na tej podstawie jest niepewna.

Na tym przykładzie widać jak z małej liczby danych można uzyskać dobre dopasowanie
różnych modeli. Z prognozą jest niestety gorzej
--
Boguś
M.M.
2020-02-06 13:59:12 UTC
Permalink
Post by Boguś
Post by M.M.
Od ostatniego razu rozbudowałem model, łącznie używam 7
n = p1 * p ^ p2 + p3 * p ^ p4 + p5 * p ^ p6 + p7;
To nie ma większego sensu. Dodanie kolejnych parametrów oczywiście zwiększa
dopasowanie ale równocześnie pogarsza dalszą prognozę poza zakres danych.
Tak, zdaję sobie z tego sprawę, że więcej parametrów gwarantuje tylko
lepsze dopasowanie do zebranych danych. Jednak zrobiłem dopasowanie z kilku
okresów i sprawdzałem trafność na następny dzień i na drugi dzień i było
lepiej. Prognoza na następny dzień zwykle ma bardzo mały błąd w tym
modelu.
Post by Boguś
Post by M.M.
https://pl.wikipedia.org/wiki/Szerzenie_si%C4%99_zaka%C5%BCe%C5%84_wirusem_2019-nCoV#cite_note-8
lepiej tutaj
https://en.wikipedia.org/wiki/2019%E2%80%9320_Wuhan_coronavirus_outbreak
są dokładniejsze dane
Można użyć krzywej Gausa. Nie jest to w pełni poprawne, ale do etapu wzrostu
całkiem dobre
Aproksymując dane do 2020-02-05 można przewidywać, że maksimum nowych zachorowań
ok 4100 będzie 2020-02-08. A wszystkich zachorowań po 60 dniach 76100. Poprawne
nie?. NIE.
Aproksymując wyniki dla wcześniejszych dat otrzymujemy wcześniejsze i niższe
maksima i niższe wyniki końcowe. Wszystkie aproksymacje krzywą gausa są dobrze
dopasowane. Jednak dalsze prognoza na tej podstawie jest niepewna.
Na tym przykładzie widać jak z małej liczby danych można uzyskać dobre dopasowanie
różnych modeli. Z prognozą jest niestety gorzej
Czy może ktoś zaproponować w miarę możliwości najlepszy wzór do
dopasowania parametrów?

Pozdrawiam

Loading...