THL julkaisi koronaepidemioan malleissa käyttämänsä parametrit, joihin kuului mm. koronaviruksen aiheuttaman sairastumisen kuolleisuus (Taulukko 2.).
THL julkaisee myös väestötutkimuksen koronavirusvasta-ainetuloksia viikoittain.
Vasta-aine tiutkimuksen otokseen otetaan suomea, ruotsia, venäjää ja englanti äidinkielenään puhuvia. Valinta on hieman erikoinen, koska eestiä, arabiaa, ja somaliaa äidinkielenään puhuvia on enemmän kuin englanninkielisiä. Vaikuttaakin siltä, että jostain syystä eräät suuret maahanmuuttajaryhmät on jätetty otoksen ulkopuolelle.
# tmp.dt<-read.table(file=pipe("pbpaste"),header = TRUE)
# Suomi.Ika<-tmp.dt[,c(1:4,6)]
# dput(Suomi.Ika)
Suomi.Ika<-structure(list(Ikä = 0:99, Miehet = c(23250L, 24875L, 26172L,
27485L, 29102L, 30190L, 30883L, 31432L, 31673L, 32476L, 32120L,
31792L, 31546L, 31553L, 30701L, 31040L, 30198L, 29903L, 30151L,
30938L, 31485L, 30790L, 31874L, 33138L, 34392L, 35532L, 35697L,
37344L, 36978L, 37541L, 36759L, 36808L, 35202L, 35670L, 36676L,
37645L, 38241L, 38111L, 36144L, 35981L, 35351L, 35613L, 35711L,
35973L, 35280L, 33254L, 30548L, 31452L, 31889L, 32839L, 33666L,
35728L, 36548L, 36619L, 36621L, 37191L, 37388L, 36942L, 36360L,
35838L, 35523L, 34157L, 35394L, 35965L, 35244L, 34516L, 34069L,
35021L, 33510L, 34159L, 34694L, 34711L, 33897L, 32161L, 28234L,
21728L, 20191L, 15599L, 21814L, 14655L, 15989L, 14794L, 12781L,
11191L, 10385L, 8832L, 7406L, 6628L, 5941L, 4926L, 3766L, 3094L,
2150L, 1621L, 1158L, 835L, 517L, 264L, 180L, 111L), Naiset = c(22496L,
23215L, 25099L, 26629L, 27601L, 28878L, 29204L, 30210L, 30448L,
30893L, 30823L, 30423L, 30019L, 30217L, 29631L, 29432L, 29112L,
28336L, 28788L, 28773L, 29311L, 29006L, 30337L, 31092L, 32519L,
33784L, 33871L, 34985L, 34704L, 35249L, 34554L, 34626L, 32867L,
33297L, 34309L, 35316L, 35982L, 35326L, 34217L, 33819L, 33705L,
33521L, 34062L, 34023L, 33236L, 32022L, 28940L, 29955L, 31249L,
32225L, 32673L, 35242L, 36023L, 36243L, 36431L, 37069L, 37433L,
36938L, 36900L, 36812L, 36484L, 35296L, 36704L, 37620L, 37232L,
37657L, 36657L, 37709L, 36261L, 37401L, 38385L, 38978L, 38511L,
37331L, 32829L, 26262L, 24623L, 19583L, 28104L, 19618L, 22594L,
20843L, 19077L, 17284L, 16458L, 14984L, 13044L, 12718L, 11574L,
10813L, 9294L, 7600L, 6055L, 4775L, 3928L, 2801L, 2099L, 1439L,
934L, 615L), Yht = c(45746L, 48090L, 51271L, 54114L, 56703L,
59068L, 60087L, 61642L, 62121L, 63369L, 62943L, 62215L, 61565L,
61770L, 60332L, 60472L, 59310L, 58239L, 58939L, 59711L, 60796L,
59796L, 62211L, 64230L, 66911L, 69316L, 69568L, 72329L, 71682L,
72790L, 71313L, 71434L, 68069L, 68967L, 70985L, 72961L, 74223L,
73437L, 70361L, 69800L, 69056L, 69134L, 69773L, 69996L, 68516L,
65276L, 59488L, 61407L, 63138L, 65064L, 66339L, 70970L, 72571L,
72862L, 73052L, 74260L, 74821L, 73880L, 73260L, 72650L, 72007L,
69453L, 72098L, 73585L, 72476L, 72173L, 70726L, 72730L, 69771L,
71560L, 73079L, 73689L, 72408L, 69492L, 61063L, 47990L, 44814L,
35182L, 49918L, 34273L, 38583L, 35637L, 31858L, 28475L, 26843L,
23816L, 20450L, 19346L, 17515L, 15739L, 13060L, 10694L, 8205L,
6396L, 5086L, 3636L, 2616L, 1703L, 1114L, 726L), Kuolosuus = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,
0.001, 0.001, 0.001, 0.001, 0.005, 0.005, 0.005, 0.005, 0.005,
0.005, 0.005, 0.005, 0.005, 0.005, 0.031, 0.031, 0.031, 0.031,
0.031, 0.031, 0.031, 0.031, 0.031, 0.031, 0.056, 0.056, 0.056,
0.056, 0.056, 0.056, 0.056, 0.056, 0.056, 0.056, 0.056, 0.056,
0.056, 0.056, 0.056, 0.056, 0.056, 0.056, 0.056, 0.056)), class = "data.frame", row.names = c(NA,
-100L))
knitr::kable(Suomi.Ika,caption="Suomen väestön ikärakenne 24.3.2020 (https://findikaattori.fi/fi/14)")
| Ikä | Miehet | Naiset | Yht | Kuolosuus |
|---|---|---|---|---|
| 0 | 23250 | 22496 | 45746 | 0.000 |
| 1 | 24875 | 23215 | 48090 | 0.000 |
| 2 | 26172 | 25099 | 51271 | 0.000 |
| 3 | 27485 | 26629 | 54114 | 0.000 |
| 4 | 29102 | 27601 | 56703 | 0.000 |
| 5 | 30190 | 28878 | 59068 | 0.000 |
| 6 | 30883 | 29204 | 60087 | 0.000 |
| 7 | 31432 | 30210 | 61642 | 0.000 |
| 8 | 31673 | 30448 | 62121 | 0.000 |
| 9 | 32476 | 30893 | 63369 | 0.000 |
| 10 | 32120 | 30823 | 62943 | 0.000 |
| 11 | 31792 | 30423 | 62215 | 0.000 |
| 12 | 31546 | 30019 | 61565 | 0.000 |
| 13 | 31553 | 30217 | 61770 | 0.000 |
| 14 | 30701 | 29631 | 60332 | 0.000 |
| 15 | 31040 | 29432 | 60472 | 0.000 |
| 16 | 30198 | 29112 | 59310 | 0.000 |
| 17 | 29903 | 28336 | 58239 | 0.000 |
| 18 | 30151 | 28788 | 58939 | 0.000 |
| 19 | 30938 | 28773 | 59711 | 0.000 |
| 20 | 31485 | 29311 | 60796 | 0.000 |
| 21 | 30790 | 29006 | 59796 | 0.000 |
| 22 | 31874 | 30337 | 62211 | 0.000 |
| 23 | 33138 | 31092 | 64230 | 0.000 |
| 24 | 34392 | 32519 | 66911 | 0.000 |
| 25 | 35532 | 33784 | 69316 | 0.000 |
| 26 | 35697 | 33871 | 69568 | 0.000 |
| 27 | 37344 | 34985 | 72329 | 0.000 |
| 28 | 36978 | 34704 | 71682 | 0.000 |
| 29 | 37541 | 35249 | 72790 | 0.000 |
| 30 | 36759 | 34554 | 71313 | 0.000 |
| 31 | 36808 | 34626 | 71434 | 0.000 |
| 32 | 35202 | 32867 | 68069 | 0.000 |
| 33 | 35670 | 33297 | 68967 | 0.000 |
| 34 | 36676 | 34309 | 70985 | 0.000 |
| 35 | 37645 | 35316 | 72961 | 0.000 |
| 36 | 38241 | 35982 | 74223 | 0.000 |
| 37 | 38111 | 35326 | 73437 | 0.000 |
| 38 | 36144 | 34217 | 70361 | 0.000 |
| 39 | 35981 | 33819 | 69800 | 0.000 |
| 40 | 35351 | 33705 | 69056 | 0.000 |
| 41 | 35613 | 33521 | 69134 | 0.000 |
| 42 | 35711 | 34062 | 69773 | 0.000 |
| 43 | 35973 | 34023 | 69996 | 0.000 |
| 44 | 35280 | 33236 | 68516 | 0.000 |
| 45 | 33254 | 32022 | 65276 | 0.000 |
| 46 | 30548 | 28940 | 59488 | 0.000 |
| 47 | 31452 | 29955 | 61407 | 0.000 |
| 48 | 31889 | 31249 | 63138 | 0.000 |
| 49 | 32839 | 32225 | 65064 | 0.000 |
| 50 | 33666 | 32673 | 66339 | 0.001 |
| 51 | 35728 | 35242 | 70970 | 0.001 |
| 52 | 36548 | 36023 | 72571 | 0.001 |
| 53 | 36619 | 36243 | 72862 | 0.001 |
| 54 | 36621 | 36431 | 73052 | 0.001 |
| 55 | 37191 | 37069 | 74260 | 0.001 |
| 56 | 37388 | 37433 | 74821 | 0.001 |
| 57 | 36942 | 36938 | 73880 | 0.001 |
| 58 | 36360 | 36900 | 73260 | 0.001 |
| 59 | 35838 | 36812 | 72650 | 0.001 |
| 60 | 35523 | 36484 | 72007 | 0.005 |
| 61 | 34157 | 35296 | 69453 | 0.005 |
| 62 | 35394 | 36704 | 72098 | 0.005 |
| 63 | 35965 | 37620 | 73585 | 0.005 |
| 64 | 35244 | 37232 | 72476 | 0.005 |
| 65 | 34516 | 37657 | 72173 | 0.005 |
| 66 | 34069 | 36657 | 70726 | 0.005 |
| 67 | 35021 | 37709 | 72730 | 0.005 |
| 68 | 33510 | 36261 | 69771 | 0.005 |
| 69 | 34159 | 37401 | 71560 | 0.005 |
| 70 | 34694 | 38385 | 73079 | 0.031 |
| 71 | 34711 | 38978 | 73689 | 0.031 |
| 72 | 33897 | 38511 | 72408 | 0.031 |
| 73 | 32161 | 37331 | 69492 | 0.031 |
| 74 | 28234 | 32829 | 61063 | 0.031 |
| 75 | 21728 | 26262 | 47990 | 0.031 |
| 76 | 20191 | 24623 | 44814 | 0.031 |
| 77 | 15599 | 19583 | 35182 | 0.031 |
| 78 | 21814 | 28104 | 49918 | 0.031 |
| 79 | 14655 | 19618 | 34273 | 0.031 |
| 80 | 15989 | 22594 | 38583 | 0.056 |
| 81 | 14794 | 20843 | 35637 | 0.056 |
| 82 | 12781 | 19077 | 31858 | 0.056 |
| 83 | 11191 | 17284 | 28475 | 0.056 |
| 84 | 10385 | 16458 | 26843 | 0.056 |
| 85 | 8832 | 14984 | 23816 | 0.056 |
| 86 | 7406 | 13044 | 20450 | 0.056 |
| 87 | 6628 | 12718 | 19346 | 0.056 |
| 88 | 5941 | 11574 | 17515 | 0.056 |
| 89 | 4926 | 10813 | 15739 | 0.056 |
| 90 | 3766 | 9294 | 13060 | 0.056 |
| 91 | 3094 | 7600 | 10694 | 0.056 |
| 92 | 2150 | 6055 | 8205 | 0.056 |
| 93 | 1621 | 4775 | 6396 | 0.056 |
| 94 | 1158 | 3928 | 5086 | 0.056 |
| 95 | 835 | 2801 | 3636 | 0.056 |
| 96 | 517 | 2099 | 2616 | 0.056 |
| 97 | 264 | 1439 | 1703 | 0.056 |
| 98 | 180 | 934 | 1114 | 0.056 |
| 99 | 111 | 615 | 726 | 0.056 |
Kuolemin määrää voidaan ennustaa olettamalla sairastuneiden osuus eri ikäryhmistä ja laskemalla kullekin ikäryhmälle kuolleiden määrä THL:n antamien parametrien mukaan. Näin saatuja tulosia voidaan verrata toteutuneisiin kuolemin määriin.
Ennuste voidaan laatia ikärakenteen, sairastuneiden osuuden ja ikäryhmä kohtaisen kuolleisuuden perusteella kaavalla \(K_{i}=N_{i}s_{i}p_{i}\), jossa
Kuolleiden kokonaismäärä saadaan laskemalla kaikkien ikäryhmien määrät yhteen.
Toisaalta, THL:n koronavirusvasta-ainetuloksien perusteella voidaan suhteuttaa havaitut kuolemat mallin antamiin. esim. viikkoraportin(2020-05-08) mukaan vasta-aineita oli 38 henkilöllä 1504 tutkitusta eli 2.53%:lla. Samaan aikaan oli todettu 212 kuolemaa (8.5. 2020).
Vertaamalla havaittuja vasta-aine osuuksia ja havittuja kuolemia, vastaaviin mallin antamiin tuloksiin voidaan arvioida ennusteita.
# head(Suomi.Ika,2)
tmp.P<-c(2.5,seq(5,75,5))
tmp.K<-sapply(tmp.P,function(x)with(Suomi.Ika,round(sum(x/100*Yht*Kuolosuus),-2)))
tmp.ulos<-data.frame(cbind(tmp.P,tmp.K))
names(tmp.ulos)<-c("Sairastuneiden osuus (%)","Kuolleiden lukumäärä")
knitr::kable(tmp.ulos,caption="Ennuste THL:n parametrien ja Suomen ikärakenteen perusteella.")
| Sairastuneiden osuus (%) | Kuolleiden lukumäärä |
|---|---|
| 2.5 | 1000 |
| 5.0 | 2000 |
| 10.0 | 3900 |
| 15.0 | 5900 |
| 20.0 | 7800 |
| 25.0 | 9800 |
| 30.0 | 11800 |
| 35.0 | 13700 |
| 40.0 | 15700 |
| 45.0 | 17600 |
| 50.0 | 19600 |
| 55.0 | 21500 |
| 60.0 | 23500 |
| 65.0 | 25500 |
| 70.0 | 27400 |
| 75.0 | 29400 |
Voidaan todeta ennusteen olevan huomattavasti suurempi kuin havaittu kuolleiden lukumäärä. Havaittu määrä 210 on 21% ennusteesta. Tätä voidaan käyttää korjauskertoimena ja saada alla olevat ennusteet eri sairastuneiden osuuksille koko väestöstä.
# head(Suomi.Ika,2)
tmp.P<-c(2.5,seq(5,75,5))
tmp.K<-sapply(tmp.P,function(x)with(Suomi.Ika,round(sum(x/100*Yht*Kuolosuus),-2)))
tmp.ulos1<-data.frame(cbind(tmp.P,tmp.K,round(tmp.K*210/tmp.K[1],-2)))
names(tmp.ulos1)<-c("Sairastuneiden osuus (%)","Kuolleiden lukumäärä","Korjattu kuolleiden lukumäärä")
knitr::kable(tmp.ulos1,caption="Ennuste THL:n parametrien ja Suomen ikärakenteen perusteella.")
| Sairastuneiden osuus (%) | Kuolleiden lukumäärä | Korjattu kuolleiden lukumäärä |
|---|---|---|
| 2.5 | 1000 | 200 |
| 5.0 | 2000 | 400 |
| 10.0 | 3900 | 800 |
| 15.0 | 5900 | 1200 |
| 20.0 | 7800 | 1600 |
| 25.0 | 9800 | 2100 |
| 30.0 | 11800 | 2500 |
| 35.0 | 13700 | 2900 |
| 40.0 | 15700 | 3300 |
| 45.0 | 17600 | 3700 |
| 50.0 | 19600 | 4100 |
| 55.0 | 21500 | 4500 |
| 60.0 | 23500 | 4900 |
| 65.0 | 25500 | 5400 |
| 70.0 | 27400 | 5800 |
| 75.0 | 29400 | 6200 |
tmp.K.60<-sapply(10,function(x)with(Suomi.Ika[Suomi.Ika$Ikä<60,],sum(x/100*Yht*Kuolosuus)))
tmp.K.61<-sapply(10,function(x)with(Suomi.Ika[Suomi.Ika$Ikä>=60,],sum(x/100*Yht*Kuolosuus)))
# tmp.K.61/(tmp.K.60+tmp.K.61)
tmp.K.80<-sapply(10,function(x)with(Suomi.Ika[Suomi.Ika$Ikä<80,],sum(x/100*Yht*Kuolosuus)))
tmp.K.81<-sapply(10,function(x)with(Suomi.Ika[Suomi.Ika$Ikä>=80,],sum(x/100*Yht*Kuolosuus)))
# tmp.K.81/(tmp.K.80+tmp.K.81)
# tmp.K.61/(tmp.K.60+tmp.K.61)-tmp.K.81/(tmp.K.80+tmp.K.81)
Havaitaan, että esim. jos 60% väestöstä sairastuu on odotettavissa 4900 koronakuolemaa. Tämä on kuitenkin hyvin varovainen arvio, oikea ennuste lienee THL:n parametrien mukaan laskettujen ja korjatun ennusteen välillä. On myös huomattava, että THL:n arvio vasta-aineista perustuu otokseen, jonka alueittainen vaihtelu on suurta. Lisäksi yli 69-vuotiaat ovat otoksen ulkopuolella.
Kuoleista ennusteen mukaan 98.1% on yli 60-vuotiaita ja 44.5% yli 80-vuotiaita, siis 53.6% on 60-79-vuotiaita.