Σελίδα 1 από 1

Μαθηματικό μοντέλο προσομοίωσης επιδημίας κορονοϊού

Δημοσιεύτηκε: 13 Μαρ 2020, 23:11
από wooded glade
Τι παραμέτρους χρειαζόμαστε για να δημιουργήσουμε ένα ;
Είναι ένα random walk βασικά με κάθε επαφή να έχει και ένα transmission probability.
Πως θα το συναρμολογήσουμε ;

Μαθηματικό μοντέλο κορονοϊού

Δημοσιεύτηκε: 17 Μαρ 2020, 01:39
από wooded glade
Ο κορονοϊός είναι ως γνωστόν επικίνδυνος λόγω του συνδυασμού high transmission probability - high incubation period.
Αν δεν είχε high transmission probability δεν θα υπήρχε επιδημία. Επίσης αν είχε low incubation period πάλι δεν θα είχαμε γιατί θα εντοπιζόντουσαν οι φορείς.

Όλα αυτά θα τα εξετάσουμε με τη βοήθεια ενός μαθηματικού μοντέλου.
Στο μοντέλο μας παίζουν ρόλο οι εξής παράμετροι:

a) Flight time to close encounter

Ο φορέας πόσο χρόνο κάνει μέχρι να έρθει σε επικίνδυνη επαφή με κάποιον άλλον ;
Χρησιμοποιώ τρία mean flight times:

t1 = πριν εκδηλώσει συμπτώματα.
t2 = όταν έχει εκδηλώσει συμπτώματα (t2 > t1)
t3 = όταν έχει διαγνωσθεί, απομονωθεί (t3 πρακτικά άπειρον)

To t1 ισχύει για χρόνο 0 < t <= T1, όπου το Τ1 είναι ο χρόνος που αρχίζουν τα συμπτώματα.
Το t2 ισχύει για χρόνο Τ1 < t <= T2, όπου Τ2 - Τ1 είναι ο χρόνος μέχρι να αρχίσει η νοσηλία του.

b) Transmission probability

H transmission probability σε κάθε επαφή έχει μία τιμή f έστω όταν έρθει σε επαφή με υγιή και 0 όταν έρθει σε επαφή με άλλο φορέα.

c) Αριθμός φορέων που κυκλοφορούν ελεύθεροι και συνολικός πληθυσμός

Έστω Ν οι φορείς που κυκλοφορούν ελεύθεροι και P o συνολικός πληθυσμός.

Θα δώσω χαρακτηριστικές τιμές σε όλα αυτά τα μεγέθη, αλλά πρώτα θα εξηγήσω το ζητούμενο.

Το ζητούμενο είναι πόσους κατά μέσο όρο μολύνει στο χρονικό διάστημα 0 < t < T2.
Αν αυτός ο μέσος όρος είναι < 1 τότε έχουμε decay, αν είναι > 1 τότε έχουμε growth.

Για κάνω τον υπολογισμό πρέπει να δώσω κάποιες χαρακτηριστικές τιμές, αλλά πρώτα πρέπει να γράψω τον μαθηματικό τύπο.
Χρησιμοποιώ την μέθοδο Monte Carlo η οποία βασίζεται σε τυχαίους αριθμούς.
Έστω r1 ένας τυχαίος αριθμός μεταξύ 0 και 1.
Με τον r1 δειγματοληπτώ την flight time distribution (ο κώδικας στο τέλος) και βρίσκω τον χρόνο του encounter και αυξάνω το χρόνο κατά t(r1).
Αν ο χρόνος φτάσει t(r1) > T2 τότε τελείωσε το ιστορικό.

Για κάθε envounter τώρα κάνω ένα πείραμα τύχης ως εξής:
Επιλέγω έναν τυχαίο αριθμό r2 μεταξύ 0 και 1.
Αν r2 <= N / P τότε δεν έχουμε transmission γιατί είναι encounter με νοσούντα.
Και ένα τρίτο τυχαίο αριθμό r3 και αν r3 <= f τότε έχουμε transmission.

Μετά από το πρώτο encounter η πορεία του ασθενούς-test particle συνεχίζεται μέχρι να φτάσει t(r1) > T2
Δίνω τώρα χαρακηριστικές τιμές (που υπόκεινται σε επανεξέταση βέβαια):

t1 = 1 ώρα
t2 = 4 χ t1 (επειδή θα προσέχει)
t3 = άπειρον

Τ1 = 5 μέρες
Τ2 = 2 μέρες

Ν = 200
P = 10,000,000

και f = 0.5

Τα αποτελέσματα του computer simulation:

Στο εφταήμερο θα μολύνει 80 !
Αλλάζω την τιμή του t1 και βρίσκω ότι για να μολύνει κατά μέσο όρο < 1 και να μπούμε σε φάση decay δηλαδή πρέπει t1 > 72 ώρες, με τις άλλες παραμέτρους να παραμένουν οι ίδιες και με την transmission probabbility σε κάθε encounter στο 50%.

Το συμπέρασμα είναι ότι θέλει γερή καραντίνα και να μην ξεμυτίζει κανένας.

κώδικας

t1! = 72
t2! = 4 * t1!

tot1! = 120
tot2! = 168

zni! = 200
zp! = 10000000


zf! = 0.5

nt! = 0
For test! = 1 To 10000

zn! = zni!
nts! = 0
zero! = 0

1000
Randomize Timer

zr1! = Rnd

Select Case zero!

Case Is < tot1!
zt! = zero! - Log((1 - zr1!)) * t1!
If zt! < tot1! Then GoTo 500
zt2! = tot1! - Log(2 - Exp(-(tot1! - zero!) / t1!) - zr1!) * t2!
zt! = zt2!
If zt! > tot2! Then GoTo 2000
500

Case Else
zt! = zero! - Log(1 - zr1!) * t2!
If zt! > tot2! Then GoTo 2000

End Select

zero! = zt!

zr2! = Rnd
If zr2! > zf! Then GoTo 1000
zr3! = Rnd
If zr3! <= zn! / zp! Then GoTo 1000
nts! = nts! + 1
zn! = zn! + 1
GoTo 1000


2000
nt! = nt! + nts!

Next test!

Text1.Text = "μ =" + Str$(nt! / 10000!)

Re: Μαθηματικό μοντέλο κορονοϊού

Δημοσιεύτηκε: 17 Μαρ 2020, 01:56
από pikey25
4 μερες σκληρης δουλειας και δεν εχουμε καν ενα νουμερο για τα αληθινα κρουσματα ? :lol:

Re: Μαθηματικό μοντέλο κορονοϊού

Δημοσιεύτηκε: 17 Μαρ 2020, 02:00
από wooded glade
pikey25 έγραψε: 17 Μαρ 2020, 01:56 4 μερες σκληρης δουλειας και δεν εχουμε καν ενα νουμερο για τα αληθινα κρουσματα ? :lol:
20 λέει σήμερα.
Αν δεν πρόκειται για Ερντογανιά καλά είναι - με δεδομένα τα προηγηθέντα κρούσματα.

Re: Μαθηματικό μοντέλο κορονοϊού

Δημοσιεύτηκε: 17 Μαρ 2020, 02:07
από pikey25
αυξηθηκαν και οι γυναικες, μαλλον κολλησαν απο το ταιρι τους
αυτα ειναι δειγματοληπτικα, με τον αλγοριθμο βγαλε κανα σεναριο για τα αληθινα

Re: Μαθηματικό μοντέλο κορονοϊού

Δημοσιεύτηκε: 17 Μαρ 2020, 02:13
από wooded glade
pikey25 έγραψε: 17 Μαρ 2020, 02:07 αυξηθηκαν και οι γυναικες, μαλλον κολλησαν απο το ταιρι τους
αυτα ειναι δειγματοληπτικα, με τον αλγοριθμο βγαλε κανα σεναριο για τα αληθινα
Άλλο αλγόριθμο ;
Τι είδους ;
Από την ατομική Φυσική αυτόν θυμάμαι.
Αλλά τα ταίρια τα είπαμε - θα κολλήσουν. Διότι για να μην κολλήσουν πρέπει να γίνει separation of families.
Το θέμα είναι ότι όλοι -κολλημένοι και ακόλλητοι- πρέπει να την κάνουν για έξω. Όσοι δε έχουν στο σπίτι τους άρρωστο να μπαίνουν σε πλήρη καραντίνα -όπως έκανε ο Πέτσας.