This SIR model is modeled by finding the best parameters that fit to Covid-19 Malaysian data up to Fri, 30 Jul 2021.
The SIR model is defined by the following set of ordinary differential equations (Ref: Wikipedia):
\[ \frac{dS}{dt} = -\frac{\beta IS}{N} \\ \frac{dI}{dt} = \frac{\beta IS}{N} - \gamma I \\ \frac{dR}{dt} = \gamma I \] where \(S\) = Susceptible population, \(I\) = Infected (active), \(R\) = Recovered (recover + death), and \(N = S(t) + I(t) + R(t)\). \(\gamma\) is defined as \(\frac{1}{T_r}\), where \(T_r\) = time until recovery, which can be obtained from clinical observation. \(\beta\) is defines as \(\frac{1}{T_c}\), where \(T_c\) = time between contacts.
The basic reproduction number, \(R_0\) is defined as:
\[ R_0 = \frac{\beta}{\gamma} \] \(R_0\) can also be seen as \(\frac{T_r}{T_c}\), i.e. the number of contacts before someone recovers, during which he is infectious.
Apart from finding the \(\beta\) and \(\gamma\) parameter values, experts are concerned about the number of susceptible individuals. Thus, the model is also iterated over decreasing number of initial susceptible individuals (\(n\)) to find this optimal \(n\).
To fit the model to the data, the following weighted loss function is defined, extending the basic residual sum of squares (RSS) formulation:
\[ RSS = w_1\sum_{i=1}^t(I_i - \hat I_i)^2 + w_2\sum_{i=1}^t(R_i - \hat R_i)^2 + w_3\sum_{i=1}^t([I_i + R_i] - [\hat I_i + \hat R_i])^2 \] where \(w_1\), \(w_2\) and \(w_3\) allow adjustment of weightage given to \(I\), \(R\) respectively to balance the model fit. We are inclined to give more weight to \(I\) through \(w_1\) and \(I + R\) through \(w_3\).
Here, given the limitation of the optimization, one might argue that the \(S\) found might instead be \(E\) in SEIR model. This could be explored further in SEIR model, by allowing incubation period in the model. This is beyond the present SIR model to optimize.
library(tidyverse)
library(deSolve)
library(lubridate)
library(ggpubr)
library(plotly)
Sourced from local datasets.
# mys_data = read_csv("https://wnarifin.github.io/covid-19-malaysia/covid-19_my_full.csv") %>% select(1:11) %>% rename(Date = "date")
mys_data = read_csv("covid-19_my_full.csv") %>% select(1:11) %>% rename(Date = "date") # comment out to use local data
# rename date to Date for compatibility with original codes
# add active variable
mys_data$active = with(mys_data, total_cases - total_deaths - total_recover)
names(mys_data)
## [1] "Date" "location" "new_cases" "new_deaths"
## [5] "total_cases" "total_deaths" "recover" "total_recover"
## [9] "icu" "support" "imported_cases" "active"
# SIR model
# S - Susceptible, I - Infected, R - Removed (recovered + death), n - initial susceptible population
SIR = function(time, state, parameters) {
par = as.list(c(state, parameters))
with(par, {
dS = (-beta * I * S) / n
dI = ((beta * I * S) / n) - (gamma * I)
dR = gamma * I
list(c(dS, dI, dR))
})
}
# RSS
RSS = function(parameters) {
names(parameters) = c("beta","gamma")
out = ode(y=init, times=Day, func=SIR, parms=parameters)
fit1 = out[,3]
fit2 = out[,4]
# give weight to less well predicted curve
w1 = 3
w2 = 1
w3 = 3
# RSS Original scale
# w1*sum((Active - fit1)^2) + w2*sum((Removed - fit2)^2) # find min RSS on original scale, weighted. Works without too much strict setting for gamma.
w1*sum((Active - fit1)^2) + w2*sum((Removed - fit2)^2) + w3*sum(((Active+Removed) - (fit1+fit2))^2)
# ---
# RSS log scale
# w1*sum((log(Active) - log(fit1))^2) + w2*sum((log(Removed) - log(fit2))^2) # find min RSS on log scale, weighted. Needs more work on correct gamma.
# w1*sum((log(Active) - log(fit1))^2) + w2*sum((log(Removed) - log(fit2))^2) + w3*sum((log(Active+Removed) - log(fit1+fit2))^2)
# Give balance to prediction of small values and large values.
# ---
# MAPE
# w1*(mean(abs(log(Active) - log(fit1))/log(Active))) + w2*(mean(abs(log(Removed) - log(fit2))/log(Removed))) # MAPE
# w1*(mean(abs(Active - fit1)/Active) / length(fit1)) + w2*(sum(abs(Removed - fit2)/Removed)) + w3*(mean(abs((Active+Removed) - (fit1+fit2))/(Active+Removed)))
# Intuitive, but may be problematic when denominator = 0, or error > 1 for large prediction.
}
# Uncomment under each header to perform SIR for the period
# Pre MCO #
# name = "Pre MCO"
# start_date = "2020-03-01"
# end_date = "2020-03-17"
# MCO All -> Today #
# name = "MCO All"
# start_date = "2020-03-18"
# end_date = today() # will analyze up to max available date
# MCO week 2 -> End MCO 4 # to take into account MCO effect after 1 week
# name = "MCO week 2 -> End MCO 4"
# start_date = "2020-03-25"
# end_date = "2020-05-03"
# MCO 1 #
# name = "MCO 1"
# start_date = "2020-03-18"
# end_date = "2020-03-31"
# MCO 2 #
# name = "MCO 2"
# start_date = "2020-04-01"
# end_date = "2020-04-14"
# MCO 3 #
# name = "MCO 3"
# start_date = "2020-04-15"
# end_date = "2020-04-28"
# MCO 4 #
# name = "MCO 4"
# start_date = "2020-04-28"
# end_date = "2020-05-03"
# CMCO #
# name = "CMCO"
# start_date = "2020-05-04"
# end_date = "2020-06-09"
# RMCO 1 #
# name = "RMCO 1"
# start_date = "2020-06-10"
# end_date = "2020-08-31"
# RMCO 2 #
# name = "RMCO 2"
# start_date = "2020-09-01"
# end_date = today() # will analyze up to max available date
# Sabah Election #
# name = "Sabah Election"
# start_date = "2020-09-26"
# end_date = today() # will analyze up to max available date
# Sabah Election -> MCO 2.0 # See R0 w/out MCO
# name = "Sabah Election"
# start_date = "2020-09-26"
# end_date = "2021-01-12" # up to MCO 2
# Sabah Election -> Unrestricted Travel # See R0 until 2020-12-06
# name = "Sabah Election"
# start_date = "2020-09-26"
# end_date = "2020-12-06" # up to MCO 2
# RMCO 2 Unrestricted Travel -> Today #
# name = "RMCO 2 Unrestricted Travel"
# start_date = "2020-12-07"
# end_date = today() # will analyze up to max available date
# RMCO 2 Unrestricted Travel -> MCO 2.0 # See R0 w/out MCO
# name = "RMCO 2 Unrestricted Travel"
# start_date = "2020-12-07"
# end_date = "2021-01-12" # up to MCO 2
# MCO 2.0 #
# name = "MCO 2"
# start_date = "2021-01-13"
# end_date = today() # will analyze up to max available date
# Opening of school
# Pre-school-std 2 1-3-21
# Std 3 - 6 8-3-21
# Secondary school 4-4-21
name = "Secondary School Reopened"
# start_date = "2021-03-01" # even too early, active cases going down
# start_date = "2021-03-08" # too early, active cases going down
start_date = "2021-04-04" # notable increase in cases, esp in Kelantan
end_date = today() # will analyze up to max available date
# Basic info from data
Infected = mys_data %>% filter(Date>=ymd(start_date), Date<=ymd(end_date)) %>% pull(total_cases)
Recovered = mys_data %>% filter(Date>=ymd(start_date), Date<=ymd(end_date)) %>% pull(total_recover)
Death = mys_data %>% filter(Date>=ymd(start_date), Date<=ymd(end_date)) %>% pull(total_deaths)
Active = Infected - Recovered - Death
Removed = Recovered + Death
Date = mys_data %>% filter(Date>=ymd(start_date), Date<=ymd(end_date)) %>% pull(Date)
Day = 1:(length(Date))
# SIR parameters
# parameters_values = c(1/2, 1/14) # set reasonable start, R0 = 7
# parameters_values_lower = c(1/100, 1/42) # days recover max 6 weeks
# parameters_values_lower = c(1/100, 1/18.5) # setting for log scale, days recover 6 weeks, reduce bound bcs not many severe, observed show quick recovery
# parameters_values_upper = c(1, 1/11) # updated to min 11 days
# based on previous models in paper 1 betas (0.273, 0.152) gammas (0.033, 0.053)
parameters_values = c(0.273, 0.033)
parameters_values_lower = c(0.1, 0.01)
# parameters_values_upper = c(0.35, 0.07) # max gamma 0.07 i.e. 14 days
parameters_values_upper = c(1, 0.07) # max gamma 0.07 i.e. 14 days
# parameters_values_upper = c(0.5, 0.1) # allows freedom in parameter space exploration, gamma 1/10
# cannot allow this bcs it will never converge as N cycles between 32mil (odd max step) & 64mil (even max step)!
# Placeholder to find optimal susceptible population
max_step = 7 # 7 seems sufficient
N_in_steps = data.frame(step=1:max_step, N=rep(NA,max_step), Loc=rep(NA,max_step))
# Initial values
N = 32.68E6/4 # 4th quarter, 2019
Opt_min_loc = 1 # Optimum minimum n location in output vector
step_i = 1 # initialize step
# Steps
for (step_i in 1:max_step) {
cat("=== Step ", step_i, ": Finding optimal values of beta, gamma and n ===\n", sep ="")
N = N[Opt_min_loc] # Susceptible population from previous Step
if (N > 32.68E6) {N = 32.68E6/4} # avoid N > Malaysian Population
# initial susceptible population of Malaysia
p_start = 0.05
p_end = 4 # max p of population, also include up direction
p_step = 0.05
susceptible = seq(p_start, p_end, p_step)
N = N * susceptible
inits = data.frame(S=N-Infected[1]-Recovered[1]-Death[1], I=Infected[1]-Death[1]-Recovered[1], R=Recovered[1]+Death[1])
Opts = vector("list", length(N))
for (i in 1:length(N)) {
n = N[i]
init = setNames(as.numeric(inits[i,]), c("S", "I", "R"))
Opt_ = optim(parameters_values, RSS, method = "L-BFGS-B", lower = parameters_values_lower, upper = parameters_values_upper)
Opts[i] = list(Opt_)
}
Opt_value = sapply(Opts, function(x) x$value)
Opt_min_loc = which(Opt_value == min(Opt_value))
N_in_steps[step_i, "N"] = N[Opt_min_loc]
N_in_steps[step_i, "Loc"] = Opt_min_loc
cat("=== Found n = ", N[Opt_min_loc], " at location ", Opt_min_loc, " in vector N ===\n\n", sep = "")
step_i = step_i + 1
if (step_i == max_step + 1) {
cat("=== Finalizing results =====\n")
cat("============================\n")
print(N_in_steps)
}
}
## === Step 1: Finding optimal values of beta, gamma and n ===
## === Found n = 2859500 at location 7 in vector N ===
##
## === Step 2: Finding optimal values of beta, gamma and n ===
## === Found n = 2716525 at location 19 in vector N ===
##
## === Step 3: Finding optimal values of beta, gamma and n ===
## === Found n = 2716525 at location 20 in vector N ===
##
## === Step 4: Finding optimal values of beta, gamma and n ===
## === Found n = 2716525 at location 20 in vector N ===
##
## === Step 5: Finding optimal values of beta, gamma and n ===
## === Found n = 2716525 at location 20 in vector N ===
##
## === Step 6: Finding optimal values of beta, gamma and n ===
## === Found n = 2716525 at location 20 in vector N ===
##
## === Step 7: Finding optimal values of beta, gamma and n ===
## === Found n = 2716525 at location 20 in vector N ===
##
## === Finalizing results =====
## ============================
## step N Loc
## 1 1 2859500 7
## 2 2 2716525 19
## 3 3 2716525 20
## 4 4 2716525 20
## 5 5 2716525 20
## 6 6 2716525 20
## 7 7 2716525 20
# Saving optimized parameters
Opt = Opts[[Opt_min_loc]]
Opt$message # make sure converge
## [1] "CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH"
Opt_par = setNames(Opt$par, c("beta", "gamma"))
R0 = (Opt_par['beta']/Opt_par['gamma']); names(R0) = "R0"
parameters_values_lower; parameters_values; parameters_values_upper # just to check whether values in range
## [1] 0.10 0.01
## [1] 0.273 0.033
## [1] 1.00 0.07
# Print final parameters
cat("beta = ", Opt_par[['beta']], ", infectious contact rate (/person/day)\n",
"gamma = ", Opt_par[['gamma']], ", recovery rate (/day)\n",
"R_0 = ", R0, " number infected/person\n",
"Recovery days = ", 1/Opt_par[['gamma']], " days",
sep = "")
## beta = 0.1346302, infectious contact rate (/person/day)
## gamma = 0.07, recovery rate (/day)
## R_0 = 1.923289 number infected/person
## Recovery days = 14.28571 days
# time in days for fitting
t = 1:max(Day)
n = N[Opt_min_loc]
init = setNames(as.numeric(inits[Opt_min_loc,]), c("S", "I", "R"))
# get the fitted values from our SIR model
fitted_projected = data.frame(ode(y=init, times=t, func=SIR, parms=Opt_par))
# add Date, Active, Removed
fitted_projected$Date = Date
fitted_projected$A = Active
fitted_projected$Rm = Removed
fitted_projected
## time S I R Date A Rm
## 1 1 2029116 14509.00 336450.0 2021-04-04 14509 336450
## 2 2 2027635 14958.74 337481.3 2021-04-05 14278 337751
## 3 3 2026109 15421.27 338544.6 2021-04-06 14161 339168
## 4 4 2024538 15896.86 339640.6 2021-04-07 14097 340371
## 5 5 2022919 16385.84 340770.4 2021-04-08 14203 341550
## 6 6 2021252 16888.48 341934.9 2021-04-09 14805 342802
## 7 7 2019535 17405.08 343135.1 2021-04-10 15059 344058
## 8 8 2017767 17935.93 344372.0 2021-04-11 15574 345282
## 9 9 2015947 18481.33 345646.5 2021-04-12 15835 346338
## 10 10 2014074 19041.57 346959.7 2021-04-13 16300 347640
## 11 11 2012145 19616.95 348312.7 2021-04-14 16696 349133
## 12 12 2010161 20207.75 349706.5 2021-04-15 17575 350402
## 13 13 2008119 20814.28 351142.1 2021-04-16 18600 351928
## 14 14 2006017 21436.80 352620.8 2021-04-17 19094 353765
## 15 15 2003856 22075.61 354143.7 2021-04-18 19854 355200
## 16 16 2001632 22730.99 355711.8 2021-04-19 20522 356610
## 17 17 1999345 23403.21 357326.4 2021-04-20 21268 358205
## 18 18 1996994 24092.54 358988.6 2021-04-21 21687 360126
## 19 19 1994576 24799.24 360699.8 2021-04-22 22014 362674
## 20 20 1992090 25523.57 362461.0 2021-04-23 22512 365023
## 21 21 1989536 26265.77 364273.5 2021-04-24 22926 367326
## 22 22 1986910 27026.09 366138.6 2021-04-25 23753 369189
## 23 23 1984213 27804.75 368057.6 2021-04-26 24713 371005
## 24 24 1981441 28601.97 370031.7 2021-04-27 25414 373037
## 25 25 1978595 29417.95 372062.3 2021-04-28 26719 374874
## 26 26 1975671 30252.89 374150.6 2021-04-29 28093 376832
## 27 27 1972670 31106.95 376298.1 2021-04-30 29227 379486
## 28 28 1969589 31980.31 378506.1 2021-05-01 29631 381963
## 29 29 1966426 32873.09 380775.8 2021-05-02 30339 384673
## 30 30 1963181 33785.44 383108.7 2021-05-03 30753 386759
## 31 31 1959851 34717.45 385506.2 2021-05-04 31516 389116
## 32 32 1956436 35669.21 387969.7 2021-05-05 32939 391437
## 33 33 1952934 36640.79 390500.4 2021-05-06 33762 394165
## 34 34 1949343 37632.21 393099.8 2021-05-07 34789 397636
## 35 35 1945662 38643.49 395769.4 2021-05-08 36564 400380
## 36 36 1941890 39674.62 398510.4 2021-05-09 37060 403617
## 37 37 1938025 40725.56 401324.3 2021-05-10 37396 407088
## 38 38 1934066 41796.23 404212.4 2021-05-11 38499 409958
## 39 39 1930012 42886.54 407176.2 2021-05-12 40101 413121
## 40 40 1925862 43996.34 410217.0 2021-05-13 41582 416495
## 41 41 1921613 45125.46 413336.1 2021-05-14 41471 420719
## 42 42 1917266 46273.71 416535.0 2021-05-15 42135 424195
## 43 43 1912819 47440.84 419814.9 2021-05-16 41889 428221
## 44 44 1908271 48626.56 423177.1 2021-05-17 43506 431050
## 45 45 1903621 49830.56 426623.0 2021-05-18 44827 434594
## 46 46 1898869 51052.48 430153.8 2021-05-19 47340 438156
## 47 47 1894012 52291.91 433770.8 2021-05-20 50171 442131
## 48 48 1889051 53548.40 437475.1 2021-05-21 52106 446689
## 49 49 1883986 54821.46 441268.0 2021-05-22 53682 451433
## 50 50 1878814 56110.54 445150.5 2021-05-23 57022 455069
## 51 51 1873536 57415.08 449123.8 2021-05-24 60018 458582
## 52 52 1868152 58734.42 453188.9 2021-05-25 63458 462431
## 53 53 1862660 60067.88 457346.9 2021-05-26 66208 467159
## 54 54 1857061 61414.75 461598.8 2021-05-27 69408 471816
## 55 55 1851355 62774.22 465945.3 2021-05-28 72823 476691
## 56 56 1845542 64145.47 470387.4 2021-05-29 76218 482316
## 57 57 1839621 65527.63 474925.9 2021-05-30 78017 487516
## 58 58 1833594 66919.74 479561.5 2021-05-31 79523 492834
## 59 59 1827459 68320.84 484294.9 2021-06-01 80474 498988
## 60 60 1821218 69729.89 489126.6 2021-06-02 82274 504891
## 61 61 1814872 71145.80 494057.2 2021-06-03 83331 512043
## 62 62 1808420 72567.45 499087.2 2021-06-04 84369 518753
## 63 63 1801865 73993.65 504216.8 2021-06-05 85607 524967
## 64 64 1795205 75423.17 509446.4 2021-06-06 86628 530187
## 65 65 1788444 76854.75 514776.1 2021-06-07 84269 537817
## 66 66 1781582 78287.07 520206.0 2021-06-08 82797 544855
## 67 67 1774620 79718.77 525736.3 2021-06-09 81575 552316
## 68 68 1767560 81148.45 531366.6 2021-06-10 79848 559714
## 69 69 1760403 82574.68 537097.0 2021-06-11 78864 567547
## 70 70 1753152 83995.98 542927.0 2021-06-12 76247 575957
## 71 71 1745808 85410.84 548856.3 2021-06-13 73324 584184
## 72 72 1738373 86817.74 554884.3 2021-06-14 71625 590832
## 73 73 1730849 88215.10 561010.5 2021-06-15 70112 597764
## 74 74 1723239 89601.35 567234.2 2021-06-16 67949 605077
## 75 75 1715546 90974.87 573554.4 2021-06-17 66097 612667
## 76 76 1707771 92334.05 579970.3 2021-06-18 65602 619602
## 77 77 1699917 93677.25 586480.8 2021-06-19 64523 626592
## 78 78 1691987 95002.82 593084.7 2021-06-20 63815 632593
## 79 79 1683985 96309.12 599780.7 2021-06-21 62918 638101
## 80 80 1675913 97594.50 606567.5 2021-06-22 62027 643735
## 81 81 1667774 98857.31 613443.4 2021-06-23 60816 650190
## 82 82 1659572 100095.92 620407.0 2021-06-24 61162 655685
## 83 83 1651310 101308.71 627456.3 2021-06-25 60117 662542
## 84 84 1642991 102494.07 634589.5 2021-06-26 60646 667816
## 85 85 1634620 103650.42 641804.8 2021-06-27 61395 672653
## 86 86 1626199 104776.21 649099.9 2021-06-28 61812 677454
## 87 87 1617732 105869.91 656472.7 2021-06-29 62844 682859
## 88 88 1609224 106930.04 663920.9 2021-06-30 64129 687850
## 89 89 1600678 107955.15 671442.1 2021-07-01 65453 693514
## 90 90 1592097 108943.85 679033.8 2021-07-02 66084 699865
## 91 91 1583487 109894.77 686693.3 2021-07-03 66958 705649
## 92 92 1574850 110806.62 694418.1 2021-07-04 67669 710983
## 93 93 1566192 111678.16 702205.3 2021-07-05 69447 715592
## 94 94 1557515 112508.22 710052.1 2021-07-06 72201 720492
## 95 95 1548824 113295.67 717955.5 2021-07-07 74344 725446
## 96 96 1540123 114039.48 725912.5 2021-07-08 77275 731383
## 97 97 1531416 114738.66 733920.0 2021-07-09 80665 737173
## 98 98 1522708 115392.32 741974.8 2021-07-10 84021 743170
## 99 99 1514002 115999.63 750073.8 2021-07-11 87841 748455
## 100 100 1505301 116559.85 758213.7 2021-07-12 91272 753598
## 101 101 1496612 117072.32 766391.1 2021-07-13 96236 759713
## 102 102 1487936 117536.45 774602.7 2021-07-14 101359 766208
## 103 103 1479278 117951.74 782845.0 2021-07-15 108369 772413
## 104 104 1470642 118317.78 791114.8 2021-07-16 114053 779270
## 105 105 1462032 118634.25 799408.4 2021-07-17 119814 786037
## 106 106 1453452 118900.91 807722.4 2021-07-18 124593 791968
## 107 107 1444904 119117.59 816053.3 2021-07-19 128997 798536
## 108 108 1436393 119284.23 824397.7 2021-07-20 133703 806196
## 109 109 1427922 119400.85 832751.9 2021-07-21 137587 814297
## 110 110 1419495 119467.54 841112.6 2021-07-22 142051 822867
## 111 111 1411114 119484.50 849476.2 2021-07-23 147386 833105
## 112 112 1402784 119451.98 857839.3 2021-07-24 153633 842760
## 113 113 1394506 119370.33 866198.4 2021-07-25 160903 852535
## 114 114 1386285 119239.97 874550.0 2021-07-26 165840 862114
## 115 115 1378123 119061.42 882890.8 2021-07-27 170224 873847
## 116 116 1370022 118835.22 891217.5 2021-07-28 175113 886363
## 117 117 1361986 118562.04 899526.7 2021-07-29 179179 899467
# log scale
# tss1 = sum((log(fitted_projected$A) - mean(log(fitted_projected$A)))^2); tss1
# rss1 = sum((log(fitted_projected$A) - log(fitted_projected$I))^2); rss1
# R2_1 = 1 - (rss1 / tss1); R2_1
# tss2 = sum((log(fitted_projected$Rm) - mean(log(fitted_projected$Rm)))^2); tss2
# rss2 = sum((log(fitted_projected$Rm) - log(fitted_projected$R))^2); rss2
# R2_2 = 1 - (rss2 / tss2); R2_2
# mape1 = sum(abs(log(fitted_projected$A) - log(fitted_projected$I))/log(fitted_projected$A)) / length(fitted_projected$A); mape1
# mape2 = sum(abs(log(fitted_projected$Rm) - log(fitted_projected$R))/log(fitted_projected$Rm)) / length(fitted_projected$Rm); mape2
# original scale
tss1 = sum((fitted_projected$A - mean(fitted_projected$A))^2); tss1
## [1] 181269523113
rss1 = sum((fitted_projected$A - fitted_projected$I)^2); rss1
## [1] 57022729369
R2_1 = 1 - (rss1 / tss1); R2_1
## [1] 0.6854257
tss2 = sum((fitted_projected$Rm - mean(fitted_projected$Rm))^2); tss2
## [1] 3.307845e+12
rss2 = sum((fitted_projected$Rm - fitted_projected$R)^2); rss2
## [1] 36179418452
R2_2 = 1 - (rss2 / tss2); R2_2
## [1] 0.9890625
rmse1 = sqrt(mean((fitted_projected$A - fitted_projected$I)^2)); rmse1
## [1] 22076.54
rmse2 = sqrt(mean((fitted_projected$Rm - fitted_projected$R)^2)); rmse2
## [1] 17584.82
mape1 = mean(abs(fitted_projected$A - fitted_projected$I)/fitted_projected$A); mape1
## [1] 0.2168597
mape2 = mean(abs(fitted_projected$Rm - fitted_projected$R)/fitted_projected$Rm); mape2
## [1] 0.02198104
# color settings
colors = c("Susceptible" = "black", "Recovered" = "green", "Infectious" = "red",
"Observed Active" = "orange", "Observed Recovered" = "blue")
# plot fit the data
fitplot1 = ggplot(fitted_projected, aes(x = Date)) + geom_line(aes(y = I, color = "Infectious")) +
geom_point(aes(y = A, color = "Observed Active")) + geom_line(aes(y = R, color = "Recovered")) +
geom_point(aes(y = Rm, color = "Observed Recovered")) +
labs(y = "Number of cases", title = paste("COVID-19 SIR model Malaysia, fitted and observed", name),
subtitle = paste("Projection from data:", start_date, "to", fitted_projected$Date[max(Day)]),
color = paste0("Model fit:\n",
"R square (I) = ", round(R2_1,3), "\n",
"R square (R) = ", round(R2_2,3), "\n",
"MAPE (I) = ", round(mape1,3), "\n",
"MAPE (R) = ", round(mape2,3), "\n\n",
"SIR parameters:\n",
"R0 = ", round(R0, 3), "\n",
"beta = ", round(Opt_par[1], 3), "\n",
"gamma = ", round(Opt_par[2], 3), "\n\n",
"Susceptible = ", round(n), "\n",
"Peak Active = ", round(max(fitted_projected$I)), "\n")) +
scale_colour_manual(values = colors)
fitplot1
# uncomment ggsave line to save plot in png format, make sure folder "plots_srn" is created
# ggsave(paste0("plots_srn/fit", name, ".png"), width = 12, height = 9)
# plot fit the data, in log10
fitplot1_log = ggplot(fitted_projected, aes(x = Date)) + geom_line(aes(y = I, color = "Infectious")) +
geom_point(aes(y = A, color = "Observed Active")) + geom_line(aes(y = R, color = "Recovered")) +
geom_point(aes(y = Rm, color = "Observed Recovered")) + scale_y_log10() +
labs(y = "Number of cases", title = paste("COVID-19 SIR model Malaysia, fitted and observed,", name, "log10"),
subtitle = paste("Projection from data:", start_date, "to", fitted_projected$Date[max(Day)]),
color = paste0("Model fit:\n",
"R square (I) = ", round(R2_1,3), "\n",
"R square (R) = ", round(R2_2,3), "\n",
"MAPE (I) = ", round(mape1,3), "\n",
"MAPE (R) = ", round(mape2,3), "\n\n",
"SIR parameters:\n",
"R0 = ", round(R0, 3), "\n",
"beta = ", round(Opt_par[1], 3), "\n",
"gamma = ", round(Opt_par[2], 3), "\n\n",
"Susceptible = ", round(n), "\n",
"Peak Active = ", round(max(fitted_projected$I)), "\n")) +
scale_colour_manual(values = colors)
fitplot1_log
# uncomment ggsave line to save plot in png format, make sure folder "plots_srn" is created
# ggsave(paste0("plots_srn/fit", name, "_log.png"), width = 12, height = 9)
# last date to project
last_date = "2022-06-30"
# time in days for predictions
t = 1:as.integer(ymd(last_date) + 1 - ymd(start_date))
# get the fitted values from our SIR model
fitted_projected = data.frame(ode(y=init, times=t, func=SIR, parms=Opt_par))
# add add Date, Active, Removed
fitted_projected$Date = ymd(start_date) + days(t - 1)
fitted_projected$A = c(Active, rep(NA, length(t) - length(Active)))
fitted_projected$Rm = c(Removed, rep(NA, length(t) - length(Active)))
head(fitted_projected, 10); tail(fitted_projected, 10)
## time S I R Date A Rm
## 1 1 2029116 14509.00 336450.0 2021-04-04 14509 336450
## 2 2 2027635 14958.74 337481.3 2021-04-05 14278 337751
## 3 3 2026109 15421.27 338544.6 2021-04-06 14161 339168
## 4 4 2024538 15896.86 339640.6 2021-04-07 14097 340371
## 5 5 2022919 16385.84 340770.4 2021-04-08 14203 341550
## 6 6 2021252 16888.48 341934.9 2021-04-09 14805 342802
## 7 7 2019535 17405.08 343135.1 2021-04-10 15059 344058
## 8 8 2017767 17935.93 344372.0 2021-04-11 15574 345282
## 9 9 2015947 18481.33 345646.5 2021-04-12 15835 346338
## 10 10 2014074 19041.57 346959.7 2021-04-13 16300 347640
## time S I R Date A Rm
## 444 444 908408.9 95.61234 1471570 2022-06-21 NA NA
## 445 445 908404.7 93.25356 1471577 2022-06-22 NA NA
## 446 446 908400.5 90.95296 1471584 2022-06-23 NA NA
## 447 447 908396.5 88.70909 1471590 2022-06-24 NA NA
## 448 448 908392.5 86.52057 1471596 2022-06-25 NA NA
## 449 449 908388.7 84.38602 1471602 2022-06-26 NA NA
## 450 450 908385.0 82.30412 1471608 2022-06-27 NA NA
## 451 451 908381.3 80.27357 1471613 2022-06-28 NA NA
## 452 452 908377.7 78.29310 1471619 2022-06-29 NA NA
## 453 453 908374.2 76.36148 1471624 2022-06-30 NA NA
# date of peak active cases
# max_I = which(round(fitted_projected$I) == round(max(fitted_projected$I))) # at times this works better
max_I = which(fitted_projected$I == max(fitted_projected$I))
max_date = fitted_projected$Date[max_I]
# add cumulative infected cases
fitted_projected$total_infected = fitted_projected$I + fitted_projected$R
# predicted new cases today
new_today = (fitted_projected[fitted_projected$Date == today(), ] - fitted_projected[fitted_projected$Date == today()-1, ])$total_infected
# maximum cumulative cases, date. May add to plot.
fitted_projected$Date[min(which(round(fitted_projected$total_infected) == max(round(fitted_projected$total_infected))))]
## [1] "2022-06-30"
fitted_projected[min(which(round(fitted_projected$total_infected) == max(round(fitted_projected$total_infected)))),]
## time S I R Date A Rm total_infected
## 453 453 908374.2 76.36148 1471624 2022-06-30 NA NA 1471701
# save for later view
write.csv(fitted_projected, "fitted_sir.csv")
# color settings
colors = c("Susceptible" = "black", "Recovered" = "green", "Infectious" = "red", "Observed Active" = "orange", "Observed Recovered" = "blue")
# plot projection data
sirplot1 = ggplot(fitted_projected, aes(x = Date)) +
geom_line(aes(y = I, color = "Infectious")) +
geom_line(aes(y = S, color = "Susceptible")) +
geom_line(aes(y = R, color = "Recovered")) +
geom_point(aes(y = A, color = "Observed Active")) +
geom_point(aes(y = Rm, color = "Observed Recovered")) +
scale_y_continuous(labels = scales::comma) +
scale_x_date(date_breaks = "14 day", date_labels = "%d/%m/%y") +
scale_colour_manual(values = colors) +
labs(y = "Number of cases", title = paste("COVID-19 SIR model Malaysia,", name),
subtitle = paste("Projection from data:", start_date, "to", fitted_projected$Date[max(Day)]),
color = paste0("Model fit:\n",
"R square (I) = ", round(R2_1,3), "\n",
"R square (R) = ", round(R2_2,3), "\n",
"MAPE (I) = ", round(mape1,3), "\n",
"MAPE (R) = ", round(mape2,3), "\n\n",
"SIR parameters:\n",
"R0 = ", round(R0, 3), "\n",
"beta = ", round(Opt_par[1], 3), "\n",
"gamma = ", round(Opt_par[2], 3), "\n\n",
"Susceptible = ", round(n), "\n",
"Peak Active = ", round(max(fitted_projected$I)), "\n",
"Maximum Total Infected = ", round(max(fitted_projected$total_infected)))) +
geom_vline(xintercept = as.numeric(as.Date(max_date)), linetype = "dotted") +
annotate(geom = "text", x = as.Date(max_date)+20, y = n*1.3,
label = paste0("Peak on ", format(max_date, "%d/%m/%y")), angle = 0) +
# geom_vline(xintercept = as.numeric(as.Date(today())), linetype = "dotted", color = "red") +
# annotate(geom = "text", x = as.Date(today())+25, y = n*1.2,
# label = paste0("Today's Prediction (", format(today(), "%d/%m/%y"), ")\n",
# "Total Cases = ", round(fitted_projected[fitted_projected$Date == today(), "total_infected"]),
# "\nNew Cases = ", round(new_today)), angle = 0) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
sirplot1
## Warning: Removed 336 rows containing missing values (geom_point).
## Warning: Removed 336 rows containing missing values (geom_point).
# uncomment ggsave line to save plot in png format, make sure folder "plots_srn" is created
# ggsave(paste0("plots_srn/sir", name, ".png"), width = 12, height = 9)
# plot projection data, in log10
sirplot1_log = ggplot(fitted_projected, aes(x = Date)) +
geom_line(aes(y = I, color = "Infectious")) +
geom_line(aes(y = S, color = "Susceptible")) +
geom_line(aes(y = R, color = "Recovered")) +
geom_point(aes(y = A, color = "Observed Active")) +
geom_point(aes(y = Rm, color = "Observed Recovered")) +
scale_y_log10(labels = scales::comma) +
scale_x_date(date_breaks = "14 day", date_labels = "%d/%m/%y") +
scale_colour_manual(values = colors) +
labs(y = "Number of cases", title = paste("COVID-19 SIR model Malaysia,", name, "log10"),
subtitle = paste("Projection from data:", start_date, "to", fitted_projected$Date[max(Day)]),
color = paste0("Model fit:\n",
"R square (I) = ", round(R2_1,3), "\n",
"R square (R) = ", round(R2_2,3), "\n",
"MAPE (I) = ", round(mape1,3), "\n",
"MAPE (R) = ", round(mape2,3), "\n\n",
"SIR parameters:\n",
"R0 = ", round(R0, 3), "\n",
"beta = ", round(Opt_par[1], 3), "\n",
"gamma = ", round(Opt_par[2], 3), "\n\n",
"Susceptible = ", round(n), "\n",
"Peak Active = ", round(max(fitted_projected$I)), "\n",
"Maximum Total Infected = ", round(max(fitted_projected$total_infected)))) +
geom_vline(xintercept = as.numeric(as.Date(max_date)), linetype = "dotted") +
annotate(geom = "text", x = as.Date(max_date)+20, y = n*1.3,
label = paste0("Peak on ", format(max_date, "%d/%m/%y")), angle = 0) +
# geom_vline(xintercept = as.numeric(as.Date(today())), linetype = "dotted", color = "red") +
# annotate(geom = "text", x = as.Date(today())+25, y = n*0.7,
# label = paste0("Today's Prediction (", format(today(), "%d/%m/%y"), ")\n",
# "Total Cases = ", round(fitted_projected[fitted_projected$Date == today(), "total_infected"]),
# "\nNew Cases = ", round(new_today)), angle = 0) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
sirplot1_log
## Warning: Removed 336 rows containing missing values (geom_point).
## Warning: Removed 336 rows containing missing values (geom_point).
# uncomment ggsave line to save plot in png format, make sure folder "plots_srn" is created
# ggsave(paste0("plots_srn/sir", name, "_log.png"), width = 12, height = 9)
# if 5%, 50% asymptomatic
# https://www.cebm.net/covid-19/covid-19-what-proportion-are-asymptomatic/
# 1st situation --- #
# get the fitted values from our SIR model
p_asym = .05 # China figure, 5%
n1 = n/(1-p_asym) # inflate by %
# init = c(S=n1-Infected[1]-Recovered[1]-Death[1], I=Infected[1]-Death[1]-Recovered[1], R=Recovered[1]+Death[1])
init_pre = init # save original value for use later
# new init
init = init_pre/(1-p_asym)
fitted_projected1 = data.frame(ode(y=init, times=t, func=SIR, parms=Opt_par))
# add a Date & Active
fitted_projected1$Date = ymd(start_date) + days(t - 1)
fitted_projected1$A = c(Active, rep(NA, length(t) - length(Active)))
fitted_projected1$Rm = c(Removed, rep(NA, length(t) - length(Active)))
head(fitted_projected1, 10); tail(fitted_projected1, 10)
## time S I R Date A Rm
## 1 1 2135912 15272.63 354157.9 2021-04-04 14509 336450
## 2 2 2134266 15829.54 355246.4 2021-04-05 14278 337751
## 3 3 2132562 16405.38 356374.5 2021-04-06 14161 339168
## 4 4 2130798 17000.71 357543.6 2021-04-07 14097 340371
## 5 5 2128971 17616.07 358755.1 2021-04-08 14203 341550
## 6 6 2127080 18252.03 360010.3 2021-04-09 14805 342802
## 7 7 2125122 18909.14 361310.8 2021-04-10 15059 344058
## 8 8 2123096 19587.98 362658.1 2021-04-11 15574 345282
## 9 9 2120999 20289.12 364053.7 2021-04-12 15835 346338
## 10 10 2118830 21013.13 365499.1 2021-04-13 16300 347640
## time S I R Date A Rm
## 444 444 850437.8 36.57164 1654868 2022-06-21 NA NA
## 445 445 850436.3 35.56708 1654870 2022-06-22 NA NA
## 446 446 850434.9 34.59011 1654873 2022-06-23 NA NA
## 447 447 850433.4 33.63997 1654875 2022-06-24 NA NA
## 448 448 850432.0 32.71593 1654877 2022-06-25 NA NA
## 449 449 850430.7 31.81728 1654880 2022-06-26 NA NA
## 450 450 850429.3 30.94330 1654882 2022-06-27 NA NA
## 451 451 850428.0 30.09333 1654884 2022-06-28 NA NA
## 452 452 850426.8 29.26670 1654886 2022-06-29 NA NA
## 453 453 850425.6 28.46278 1654888 2022-06-30 NA NA
# add cumulative cases
fitted_projected1$total_infected = fitted_projected1$I + fitted_projected1$R
# maximum cumulative cases, date. May add to plot.
fitted_projected1$Date[min(which(round(fitted_projected1$total_infected) == max(round(fitted_projected1$total_infected))))]
## [1] "2022-06-30"
fitted_projected1[min(which(round(fitted_projected1$total_infected) == max(round(fitted_projected1$total_infected)))),]
## time S I R Date A Rm total_infected
## 453 453 850425.6 28.46278 1654888 2022-06-30 NA NA 1654917
# --- 2nd situation --- #
# get the fitted values from our SIR model
p_asym = .5 # Iceland figure, 50%
n2 = n/(1-p_asym) # inflate by %
# init = c(S=n2-Infected[1]-Recovered[1]-Death[1], I=Infected[1]-Death[1]-Recovered[1], R=Recovered[1]+Death[1])
# new init
init = init_pre/(1-p_asym)
fitted_projected2 = data.frame(ode(y=init, times=t, func=SIR, parms=Opt_par))
# add a Date & Active
fitted_projected2$Date = ymd(start_date) + days(t - 1)
fitted_projected2$A = c(Active, rep(NA, length(t) - length(Active)))
fitted_projected2$Rm = c(Removed, rep(NA, length(t) - length(Active)))
head(fitted_projected2, 10); tail(fitted_projected2, 10)
## time S I R Date A Rm
## 1 1 4058232 29018.00 672900.0 2021-04-04 14509 336450
## 2 2 4052001 33078.71 675070.3 2021-04-05 14278 337751
## 3 3 4044911 37695.27 677544.0 2021-04-06 14161 339168
## 4 4 4036848 42940.00 680362.3 2021-04-07 14097 340371
## 5 5 4027684 48893.59 683572.1 2021-04-08 14203 341550
## 6 6 4017278 55645.71 687226.1 2021-04-09 14805 342802
## 7 7 4005471 63295.47 691383.5 2021-04-10 15059 344058
## 8 8 3992087 71951.99 696110.9 2021-04-11 15574 345282
## 9 9 3976932 81734.64 701483.0 2021-04-12 15835 346338
## 10 10 3959794 92773.17 707583.1 2021-04-13 16300 347640
## time S I R Date A Rm
## 444 444 272512.1 0.0003857938 4487638 2022-06-21 NA NA
## 445 445 272512.1 0.0003646029 4487638 2022-06-22 NA NA
## 446 446 272512.1 0.0003445759 4487638 2022-06-23 NA NA
## 447 447 272512.1 0.0003256489 4487638 2022-06-24 NA NA
## 448 448 272512.1 0.0003077616 4487638 2022-06-25 NA NA
## 449 449 272512.1 0.0002908568 4487638 2022-06-26 NA NA
## 450 450 272512.1 0.0002748806 4487638 2022-06-27 NA NA
## 451 451 272512.1 0.0002597819 4487638 2022-06-28 NA NA
## 452 452 272512.1 0.0002455125 4487638 2022-06-29 NA NA
## 453 453 272512.1 0.0002320270 4487638 2022-06-30 NA NA
# add cumulative cases
fitted_projected2$total_infected = fitted_projected2$I + fitted_projected2$R
# maximum cumulative cases, date. May add to plot.
fitted_projected2$Date[min(which(round(fitted_projected2$total_infected) == max(round(fitted_projected2$total_infected))))]
## [1] "2022-01-25"
fitted_projected2[min(which(round(fitted_projected2$total_infected) == max(round(fitted_projected2$total_infected)))),]
## time S I R Date A Rm total_infected
## 297 297 272512.5 1.559656 4487636 2022-01-25 NA NA 4487638
# color settings
colors = c("Susceptible" = "black", "Recovered" = "green", "Infectious" = "red",
"Susceptible + 5% (dashed)" = "black", "Recovered + 5% (dashed)" = "green", "Infectious + 5% (dashed)" = "red",
"Susceptible + 50% (dot-dash)" = "black", "Recovered + 50% (dot-dash)" = "green", "Infectious + 50% (dot-dash)" = "red",
"Observed Active" = "orange", "Observed Recovered" = "blue")
# plot projection data
sirplot2 = ggplot(fitted_projected, aes(x = Date)) +
geom_line(aes(y = I, color = "Infectious")) +
geom_line(aes(y = S, color = "Susceptible")) +
geom_line(aes(y = R, color = "Recovered")) +
geom_line(data=fitted_projected1, aes(y = I, color = "Infectious + 5% (dashed)"), linetype = "dashed") +
geom_line(data=fitted_projected1, aes(y = S, color = "Susceptible + 5% (dashed)"), linetype = "dashed") +
geom_line(data=fitted_projected1, aes(y = R, color = "Recovered + 5% (dashed)"), linetype = "dashed") +
geom_line(data=fitted_projected2, aes(y = I, color = "Infectious + 50% (dot-dash)"), linetype = "dotdash") +
geom_line(data=fitted_projected2, aes(y = S, color = "Susceptible + 50% (dot-dash)"), linetype = "dotdash") +
geom_line(data=fitted_projected2, aes(y = R, color = "Recovered + 50% (dot-dash)"), linetype = "dotdash") +
geom_point(aes(y = A, color = "Observed Active")) +
geom_point(aes(y = Rm, color = "Observed Recovered")) +
scale_y_continuous(labels = scales::comma) +
scale_x_date(date_breaks = "14 day", date_labels = "%d/%m/%y") +
scale_colour_manual(values = colors) +
labs(y = "Number of cases", title = paste("COVID-19 SIR model Malaysia,", name),
subtitle = paste("Projection from data:", start_date, "to", fitted_projected$Date[max(Day)]),
color = paste0("Model fit:\n",
"R square (I) = ", round(R2_1,3), "\n",
"R square (R) = ", round(R2_2,3), "\n",
"MAPE (I) = ", round(mape1,3), "\n",
"MAPE (R) = ", round(mape2,3), "\n\n",
"SIR parameters:\n",
"R0 = ", round(R0, 3), "\n",
"beta = ", round(Opt_par[1], 3), "\n",
"gamma = ", round(Opt_par[2], 3), "\n\n",
"Susceptible Individuals:\n",
"No asymptomatic = ", round(n), "\n",
"Asymptomatic 5% = ", round(n1), "\n",
"Asymptomatic 50% = ", round(n2), "\n\n",
"Peak Active Cases:\n",
"No asymptomatic = ", round(max(fitted_projected$I)), "\n",
"Asymptomatic 5% = ", round(max(fitted_projected1$I)), "\n",
"Asymptomatic 50% = ", round(max(fitted_projected2$I)), "\n\n",
"Maximum Total Infected:\n",
"No asymptomatic = ", round(max(fitted_projected$total_infected)), "\n",
"Asymptomatic 5% = ", round(max(fitted_projected1$total_infected)), "\n",
"Asymptomatic 50% = ", round(max(fitted_projected2$total_infected)), "\n")) +
geom_vline(xintercept = as.numeric(as.Date(max_date)), linetype = "dotted") +
annotate(geom = "text", x = as.Date(max_date)+20, y = n2*1.3,
label = paste0("Peak on ", format(max_date, "%d/%m/%y")), angle = 0) +
# geom_vline(xintercept = as.numeric(as.Date(today())), linetype = "dotted", color = "red") +
# annotate(geom = "text", x = as.Date(today())+25, y = n2*1.2,
# label = paste0("Today's Prediction (", format(today(), "%d/%m/%y"), ")\n",
# "Total Cases = ", round(fitted_projected[fitted_projected$Date == today(), "total_infected"]),
# "\nNew Cases = ", round(new_today)), angle = 0) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
sirplot2
## Warning: Removed 336 rows containing missing values (geom_point).
## Warning: Removed 336 rows containing missing values (geom_point).
# uncomment ggsave line to save plot in png format, make sure folder "plots_srn" is created
ggsave(paste0("plots_srn/sir", name, "_", fitted_projected$Date[max(Day)], "_asymp.png"), width = 12, height = 9)
## Warning: Removed 336 rows containing missing values (geom_point).
## Warning: Removed 336 rows containing missing values (geom_point).
# plot projection data, in log10
sirplot2_log = ggplot(fitted_projected, aes(x = Date)) +
geom_line(aes(y = I, color = "Infectious")) +
geom_line(aes(y = S, color = "Susceptible")) +
geom_line(aes(y = R, color = "Recovered")) +
geom_line(data=fitted_projected1, aes(y = I, color = "Infectious + 5% (dashed)"), linetype = "dashed") +
geom_line(data=fitted_projected1, aes(y = S, color = "Susceptible + 5% (dashed)"), linetype = "dashed") +
geom_line(data=fitted_projected1, aes(y = R, color = "Recovered + 5% (dashed)"), linetype = "dashed") +
geom_line(data=fitted_projected2, aes(y = I, color = "Infectious + 50% (dot-dash)"), linetype = "dotdash") +
geom_line(data=fitted_projected2, aes(y = S, color = "Susceptible + 50% (dot-dash)"), linetype = "dotdash") +
geom_line(data=fitted_projected2, aes(y = R, color = "Recovered + 50% (dot-dash)"), linetype = "dotdash") +
geom_point(aes(y = A, color = "Observed Active")) +
geom_point(aes(y = Rm, color = "Observed Recovered")) +
scale_y_log10(labels = scales::comma) +
scale_x_date(date_breaks = "14 day", date_labels = "%d/%m/%y") +
scale_colour_manual(values = colors) +
labs(y = "Number of cases", title = paste("COVID-19 SIR model Malaysia,", name),
subtitle = paste("Projection from data:", start_date, "to", fitted_projected$Date[max(Day)]),
color = paste0("Model fit:\n",
"R square (I) = ", round(R2_1,3), "\n",
"R square (R) = ", round(R2_2,3), "\n",
"MAPE (I) = ", round(mape1,3), "\n",
"MAPE (R) = ", round(mape2,3), "\n\n",
"SIR parameters:\n",
"R0 = ", round(R0, 3), "\n",
"beta = ", round(Opt_par[1], 3), "\n",
"gamma = ", round(Opt_par[2], 3), "\n\n",
"Susceptible Individuals:\n",
"No asymptomatic = ", round(n), "\n",
"Asymptomatic 5% = ", round(n1), "\n",
"Asymptomatic 50% = ", round(n2), "\n\n",
"Peak Active Cases:\n",
"No asymptomatic = ", round(max(fitted_projected$I)), "\n",
"Asymptomatic 5% = ", round(max(fitted_projected1$I)), "\n",
"Asymptomatic 50% = ", round(max(fitted_projected2$I)), "\n\n",
"Maximum Total Infected:\n",
"No asymptomatic = ", round(max(fitted_projected$total_infected)), "\n",
"Asymptomatic 5% = ", round(max(fitted_projected1$total_infected)), "\n",
"Asymptomatic 50% = ", round(max(fitted_projected2$total_infected)), "\n")) +
geom_vline(xintercept = as.numeric(as.Date(max_date)), linetype = "dotted") +
annotate(geom = "text", x = as.Date(max_date)+20, y = n2*1.3,
label = paste0("Peak on ", format(max_date, "%d/%m/%y")), angle = 0) +
# geom_vline(xintercept = as.numeric(as.Date(today())), linetype = "dotted", color = "red") +
# annotate(geom = "text", x = as.Date(today())+25, y = n2*0.7,
# label = paste0("Today's Prediction (", format(today(), "%d/%m/%y"), ")\n",
# "Total Cases = ", round(fitted_projected[fitted_projected$Date == today(), "total_infected"]),
# "\nNew Cases = ", round(new_today)), angle = 0) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
sirplot2_log
## Warning: Removed 336 rows containing missing values (geom_point).
## Warning: Removed 336 rows containing missing values (geom_point).
# uncomment ggsave line to save plot in png format, make sure folder "plots_srn" is created
ggsave(paste0("plots_srn/sir", name, "_", fitted_projected$Date[max(Day)], "_log_asymp.png"), width = 12, height = 9)
## Warning: Removed 336 rows containing missing values (geom_point).
## Warning: Removed 336 rows containing missing values (geom_point).
Detailed projected data.
fitted_projected$new_cases = diff(c(NA, fitted_projected$total_infected))
knitr::kable(fitted_projected, format="markdown")
time | S | I | R | Date | A | Rm | total_infected | new_cases |
---|---|---|---|---|---|---|---|---|
1 | 2029116.0 | 14509.00000 | 336450.0 | 2021-04-04 | 14509 | 336450 | 350959.0 | NA |
2 | 2027634.9 | 14958.73911 | 337481.3 | 2021-04-05 | 14278 | 337751 | 352440.1 | 1481.064297 |
3 | 2026109.2 | 15421.26667 | 338544.6 | 2021-04-06 | 14161 | 339168 | 353965.8 | 1525.771812 |
4 | 2024537.5 | 15896.86238 | 339640.6 | 2021-04-07 | 14097 | 340371 | 355537.5 | 1571.633247 |
5 | 2022918.7 | 16385.83710 | 340770.4 | 2021-04-08 | 14203 | 341550 | 357156.3 | 1618.791162 |
6 | 2021251.6 | 16888.47719 | 341934.9 | 2021-04-09 | 14805 | 342802 | 358823.4 | 1667.161773 |
7 | 2019534.8 | 17405.07638 | 343135.1 | 2021-04-10 | 15059 | 344058 | 360540.2 | 1716.791678 |
8 | 2017767.1 | 17935.92907 | 344372.0 | 2021-04-11 | 15574 | 345282 | 362307.9 | 1767.703458 |
9 | 2015947.2 | 18481.32973 | 345646.5 | 2021-04-12 | 15835 | 346338 | 364127.8 | 1819.918865 |
10 | 2014073.7 | 19041.57241 | 346959.7 | 2021-04-13 | 16300 | 347640 | 366001.3 | 1873.456816 |
11 | 2012145.4 | 19616.95023 | 348312.7 | 2021-04-14 | 16696 | 349133 | 367929.6 | 1928.336963 |
12 | 2010160.8 | 20207.75483 | 349706.5 | 2021-04-15 | 17575 | 350402 | 369914.2 | 1984.578442 |
13 | 2008118.6 | 20814.27585 | 351142.1 | 2021-04-16 | 18600 | 351928 | 371956.4 | 2042.199575 |
14 | 2006017.4 | 21436.80018 | 352620.8 | 2021-04-17 | 19094 | 353765 | 374057.6 | 2101.217811 |
15 | 2003855.7 | 22075.61138 | 354143.7 | 2021-04-18 | 19854 | 355200 | 376219.3 | 2161.649777 |
16 | 2001632.2 | 22730.98896 | 355711.8 | 2021-04-19 | 20522 | 356610 | 378442.8 | 2223.511145 |
17 | 1999345.4 | 23403.20762 | 357326.4 | 2021-04-20 | 21268 | 358205 | 380729.6 | 2286.816510 |
18 | 1996993.8 | 24092.53648 | 358988.6 | 2021-04-21 | 21687 | 360126 | 383081.2 | 2351.579318 |
19 | 1994576.0 | 24799.23823 | 360699.8 | 2021-04-22 | 22014 | 362674 | 385499.0 | 2417.811772 |
20 | 1992090.5 | 25523.56829 | 362461.0 | 2021-04-23 | 22512 | 365023 | 387984.5 | 2485.524718 |
21 | 1989535.8 | 26265.77384 | 364273.5 | 2021-04-24 | 22926 | 367326 | 390539.2 | 2554.727549 |
22 | 1986910.3 | 27026.09293 | 366138.6 | 2021-04-25 | 23753 | 369189 | 393164.7 | 2625.428092 |
23 | 1984212.7 | 27804.75344 | 368057.6 | 2021-04-26 | 24713 | 371005 | 395862.3 | 2697.632498 |
24 | 1981441.3 | 28601.97204 | 370031.7 | 2021-04-27 | 25414 | 373037 | 398633.7 | 2771.345126 |
25 | 1978594.8 | 29417.95311 | 372062.3 | 2021-04-28 | 26719 | 374874 | 401480.2 | 2846.568424 |
26 | 1975671.5 | 30252.88759 | 374150.6 | 2021-04-29 | 28093 | 376832 | 404403.5 | 2923.302812 |
27 | 1972669.9 | 31106.95184 | 376298.1 | 2021-04-30 | 29227 | 379486 | 407405.1 | 3001.546558 |
28 | 1969588.6 | 31980.30642 | 378506.1 | 2021-05-01 | 29631 | 381963 | 410486.4 | 3081.295655 |
29 | 1966426.1 | 32873.09482 | 380775.8 | 2021-05-02 | 30339 | 384673 | 413648.9 | 3162.543695 |
30 | 1963180.8 | 33785.44219 | 383108.7 | 2021-05-03 | 30753 | 386759 | 416894.2 | 3245.281743 |
31 | 1959851.3 | 34717.45401 | 385506.2 | 2021-05-04 | 31516 | 389116 | 420223.7 | 3329.498209 |
32 | 1956436.1 | 35669.21474 | 387969.7 | 2021-05-05 | 32939 | 391437 | 423638.9 | 3415.178722 |
33 | 1952933.8 | 36640.78640 | 390500.4 | 2021-05-06 | 33762 | 394165 | 427141.2 | 3502.306005 |
34 | 1949343.0 | 37632.20722 | 393099.8 | 2021-05-07 | 34789 | 397636 | 430732.0 | 3590.859743 |
35 | 1945662.1 | 38643.49013 | 395769.4 | 2021-05-08 | 36564 | 400380 | 434412.9 | 3680.816468 |
36 | 1941890.0 | 39674.62135 | 398510.4 | 2021-05-09 | 37060 | 403617 | 438185.0 | 3772.149430 |
37 | 1938025.2 | 40725.55889 | 401324.3 | 2021-05-10 | 37396 | 407088 | 442049.8 | 3864.828483 |
38 | 1934066.4 | 41796.23106 | 404212.4 | 2021-05-11 | 38499 | 409958 | 446008.6 | 3958.819969 |
39 | 1930012.3 | 42886.53501 | 407176.2 | 2021-05-12 | 40101 | 413121 | 450062.7 | 4054.086606 |
40 | 1925861.7 | 43996.33521 | 410217.0 | 2021-05-13 | 41582 | 416495 | 454213.3 | 4150.587389 |
41 | 1921613.4 | 45125.46198 | 413336.1 | 2021-05-14 | 41471 | 420719 | 458461.6 | 4248.277485 |
42 | 1917266.3 | 46273.70998 | 416535.0 | 2021-05-15 | 42135 | 424195 | 462808.7 | 4347.108149 |
43 | 1912819.3 | 47440.83683 | 419814.9 | 2021-05-16 | 41889 | 428221 | 467255.7 | 4447.026639 |
44 | 1908271.3 | 48626.56162 | 423177.1 | 2021-05-17 | 43506 | 431050 | 471803.7 | 4547.976137 |
45 | 1903621.4 | 49830.56355 | 426623.0 | 2021-05-18 | 44827 | 434594 | 476453.6 | 4649.895698 |
46 | 1898868.7 | 51052.48056 | 430153.8 | 2021-05-19 | 47340 | 438156 | 481206.3 | 4752.720185 |
47 | 1894012.3 | 52291.90808 | 433770.8 | 2021-05-20 | 50171 | 442131 | 486062.7 | 4856.380240 |
48 | 1889051.5 | 53548.39777 | 437475.1 | 2021-05-21 | 52106 | 446689 | 491023.5 | 4960.802252 |
49 | 1883985.6 | 54821.45635 | 441268.0 | 2021-05-22 | 53682 | 451433 | 496089.4 | 5065.908346 |
50 | 1878814.0 | 56110.54456 | 445150.5 | 2021-05-23 | 57022 | 455069 | 501261.0 | 5171.616386 |
51 | 1873536.1 | 57415.07612 | 449123.8 | 2021-05-24 | 60018 | 458582 | 506538.9 | 5277.839995 |
52 | 1868151.6 | 58734.41690 | 453188.9 | 2021-05-25 | 63458 | 462431 | 511923.4 | 5384.488588 |
53 | 1862660.2 | 60067.88412 | 457346.9 | 2021-05-26 | 66208 | 467159 | 517414.8 | 5491.467431 |
54 | 1857061.5 | 61414.74569 | 461598.8 | 2021-05-27 | 69408 | 471816 | 523013.5 | 5598.677709 |
55 | 1851355.5 | 62774.21972 | 465945.3 | 2021-05-28 | 72823 | 476691 | 528719.5 | 5706.016620 |
56 | 1845542.1 | 64145.47412 | 470387.4 | 2021-05-29 | 76218 | 482316 | 534532.9 | 5813.377487 |
57 | 1839621.4 | 65527.62640 | 474925.9 | 2021-05-30 | 78017 | 487516 | 540453.6 | 5920.649890 |
58 | 1833593.7 | 66919.74358 | 479561.5 | 2021-05-31 | 79523 | 492834 | 546481.3 | 6027.719819 |
59 | 1827459.3 | 68320.84236 | 484294.9 | 2021-06-01 | 80474 | 498988 | 552615.7 | 6134.469854 |
60 | 1821218.5 | 69729.88936 | 489126.6 | 2021-06-02 | 82274 | 504891 | 558856.5 | 6240.779356 |
61 | 1814872.0 | 71145.80166 | 494057.2 | 2021-06-03 | 83331 | 512043 | 565203.0 | 6346.524683 |
62 | 1808420.4 | 72567.44743 | 499087.2 | 2021-06-04 | 84369 | 518753 | 571654.6 | 6451.579437 |
63 | 1801864.6 | 73993.64689 | 504216.8 | 2021-06-05 | 85607 | 524967 | 578210.4 | 6555.814718 |
64 | 1795205.5 | 75423.17333 | 509446.4 | 2021-06-06 | 86628 | 530187 | 584869.5 | 6659.099412 |
65 | 1788444.2 | 76854.75454 | 514776.1 | 2021-06-07 | 84269 | 537817 | 591630.8 | 6761.300486 |
66 | 1781581.9 | 78287.07424 | 520206.0 | 2021-06-08 | 82797 | 544855 | 598493.1 | 6862.283315 |
67 | 1774620.0 | 79718.77392 | 525736.3 | 2021-06-09 | 81575 | 552316 | 605455.0 | 6961.912020 |
68 | 1767559.9 | 81148.45481 | 531366.6 | 2021-06-10 | 79848 | 559714 | 612515.1 | 7060.049823 |
69 | 1760403.4 | 82574.68009 | 537097.0 | 2021-06-11 | 78864 | 567547 | 619671.6 | 7156.559426 |
70 | 1753152.1 | 83995.97737 | 542927.0 | 2021-06-12 | 76247 | 575957 | 626922.9 | 7251.303393 |
71 | 1745807.9 | 85410.84130 | 548856.3 | 2021-06-13 | 73324 | 584184 | 634267.1 | 7344.144557 |
72 | 1738373.0 | 86817.73649 | 554884.3 | 2021-06-14 | 71625 | 590832 | 641702.0 | 7434.946428 |
73 | 1730849.4 | 88215.10061 | 561010.5 | 2021-06-15 | 70112 | 597764 | 649225.6 | 7523.573619 |
74 | 1723239.5 | 89601.34768 | 567234.2 | 2021-06-16 | 67949 | 605077 | 656835.5 | 7609.892272 |
75 | 1715545.7 | 90974.87156 | 573554.4 | 2021-06-17 | 66097 | 612667 | 664529.3 | 7693.770494 |
76 | 1707770.6 | 92334.04967 | 579970.3 | 2021-06-18 | 65602 | 619602 | 672304.4 | 7775.078792 |
77 | 1699917.0 | 93677.24680 | 586480.8 | 2021-06-19 | 64523 | 626592 | 680158.0 | 7853.690513 |
78 | 1691987.5 | 95002.81915 | 593084.7 | 2021-06-20 | 63815 | 632593 | 688087.5 | 7929.482276 |
79 | 1683985.1 | 96309.11850 | 599780.7 | 2021-06-21 | 62918 | 638101 | 696089.9 | 8002.334403 |
80 | 1675913.0 | 97594.49647 | 606567.5 | 2021-06-22 | 62027 | 643735 | 704162.0 | 8072.131341 |
81 | 1667774.2 | 98857.30895 | 613443.4 | 2021-06-23 | 60816 | 650190 | 712300.8 | 8138.762076 |
82 | 1659572.1 | 100095.92052 | 620407.0 | 2021-06-24 | 61162 | 655685 | 720502.9 | 8202.120530 |
83 | 1651310.0 | 101308.70910 | 627456.3 | 2021-06-25 | 60117 | 662542 | 728765.0 | 8262.105947 |
84 | 1642991.4 | 102494.07045 | 634589.5 | 2021-06-26 | 60646 | 667816 | 737083.6 | 8318.623262 |
85 | 1634619.8 | 103650.42284 | 641804.8 | 2021-06-27 | 61395 | 672653 | 745455.2 | 8371.583444 |
86 | 1626198.9 | 104776.21169 | 649099.9 | 2021-06-28 | 61812 | 677454 | 753876.1 | 8420.903822 |
87 | 1617732.4 | 105869.91412 | 656472.7 | 2021-06-29 | 62844 | 682859 | 762342.6 | 8466.508384 |
88 | 1609224.1 | 106930.04355 | 663920.9 | 2021-06-30 | 64129 | 687850 | 770850.9 | 8508.328053 |
89 | 1600677.8 | 107955.15415 | 671442.1 | 2021-07-01 | 65453 | 693514 | 779397.2 | 8546.300930 |
90 | 1592097.4 | 108943.84524 | 679033.8 | 2021-07-02 | 66084 | 699865 | 787977.6 | 8580.372509 |
91 | 1583486.9 | 109894.76554 | 686693.3 | 2021-07-03 | 66958 | 705649 | 796588.1 | 8610.495859 |
92 | 1574850.3 | 110806.61734 | 694418.1 | 2021-07-04 | 67669 | 710983 | 805224.7 | 8636.631782 |
93 | 1566191.5 | 111678.16041 | 702205.3 | 2021-07-05 | 69447 | 715592 | 813883.5 | 8658.748923 |
94 | 1557514.7 | 112508.21577 | 710052.1 | 2021-07-06 | 72201 | 720492 | 822560.3 | 8676.823859 |
95 | 1548823.9 | 113295.66930 | 717955.5 | 2021-07-07 | 74344 | 725446 | 831251.1 | 8690.841147 |
96 | 1540123.1 | 114039.47505 | 725912.5 | 2021-07-08 | 77275 | 731383 | 839951.9 | 8700.793340 |
97 | 1531416.4 | 114738.65835 | 733920.0 | 2021-07-09 | 80665 | 737173 | 848658.6 | 8706.680965 |
98 | 1522707.9 | 115392.31859 | 741974.8 | 2021-07-10 | 84021 | 743170 | 857367.1 | 8708.512474 |
99 | 1514001.6 | 115999.63186 | 750073.8 | 2021-07-11 | 87841 | 748455 | 866073.4 | 8706.304152 |
100 | 1505301.5 | 116559.85316 | 758213.7 | 2021-07-12 | 91272 | 753598 | 874773.5 | 8700.080003 |
101 | 1496611.6 | 117072.31839 | 766391.1 | 2021-07-13 | 96236 | 759713 | 883463.4 | 8689.871592 |
102 | 1487935.9 | 117536.44599 | 774602.7 | 2021-07-14 | 101359 | 766208 | 892139.1 | 8675.717874 |
103 | 1479278.2 | 117951.73835 | 782845.0 | 2021-07-15 | 108369 | 772413 | 900796.8 | 8657.664973 |
104 | 1470642.5 | 118317.78274 | 791114.8 | 2021-07-16 | 114053 | 779270 | 909432.5 | 8635.765957 |
105 | 1462032.4 | 118634.25210 | 799408.4 | 2021-07-17 | 119814 | 786037 | 918042.6 | 8610.080566 |
106 | 1453451.7 | 118900.90539 | 807722.4 | 2021-07-18 | 124593 | 791968 | 926623.3 | 8580.674934 |
107 | 1444904.1 | 119117.58763 | 816053.3 | 2021-07-19 | 128997 | 798536 | 935170.9 | 8547.621284 |
108 | 1436393.1 | 119284.22968 | 824397.7 | 2021-07-20 | 133703 | 806196 | 943681.9 | 8510.997600 |
109 | 1427922.2 | 119400.84765 | 832751.9 | 2021-07-21 | 137587 | 814297 | 952152.8 | 8470.887288 |
110 | 1419494.8 | 119467.54207 | 841112.6 | 2021-07-22 | 142051 | 822867 | 960580.2 | 8427.378824 |
111 | 1411114.3 | 119484.49664 | 849476.2 | 2021-07-23 | 147386 | 833105 | 968960.7 | 8380.565386 |
112 | 1402783.7 | 119451.97686 | 857839.3 | 2021-07-24 | 153633 | 842760 | 977291.3 | 8330.544477 |
113 | 1394506.3 | 119370.32830 | 866198.4 | 2021-07-25 | 160903 | 852535 | 985568.7 | 8277.417546 |
114 | 1386285.0 | 119239.97456 | 874550.0 | 2021-07-26 | 165840 | 862114 | 993790.0 | 8221.289601 |
115 | 1378122.7 | 119061.41513 | 882890.8 | 2021-07-27 | 170224 | 873847 | 1001952.3 | 8162.268815 |
116 | 1370022.3 | 118835.22289 | 891217.5 | 2021-07-28 | 175113 | 886363 | 1010052.7 | 8100.466144 |
117 | 1361986.3 | 118562.04147 | 899526.7 | 2021-07-29 | 179179 | 899467 | 1018088.7 | 8035.994935 |
118 | 1354017.3 | 118242.58242 | 907815.1 | 2021-07-30 | NA | NA | 1026057.7 | 7968.970541 |
119 | 1346117.8 | 117877.62217 | 916079.6 | 2021-07-31 | NA | NA | 1033957.2 | 7899.509951 |
120 | 1338290.1 | 117467.99886 | 924316.9 | 2021-08-01 | NA | NA | 1041784.9 | 7827.731410 |
121 | 1330536.3 | 117014.60906 | 932524.1 | 2021-08-02 | NA | NA | 1049538.7 | 7753.754066 |
122 | 1322858.6 | 116518.40433 | 940698.0 | 2021-08-03 | NA | NA | 1057216.4 | 7677.697616 |
123 | 1315258.9 | 115980.38769 | 948835.7 | 2021-08-04 | NA | NA | 1064816.1 | 7599.681969 |
124 | 1307739.1 | 115401.61007 | 956934.3 | 2021-08-05 | NA | NA | 1072335.9 | 7519.826922 |
125 | 1300300.9 | 114783.16662 | 964991.0 | 2021-08-06 | NA | NA | 1079774.1 | 7438.251846 |
126 | 1292945.8 | 114126.19305 | 973003.0 | 2021-08-07 | NA | NA | 1087129.2 | 7355.075394 |
127 | 1285675.4 | 113431.86190 | 980967.8 | 2021-08-08 | NA | NA | 1094399.6 | 7270.415217 |
128 | 1278491.0 | 112701.37887 | 988882.6 | 2021-08-09 | NA | NA | 1101584.0 | 7184.387705 |
129 | 1271393.9 | 111935.97905 | 996745.2 | 2021-08-10 | NA | NA | 1108681.1 | 7097.107735 |
130 | 1264385.2 | 111136.92330 | 1004552.9 | 2021-08-11 | NA | NA | 1115689.8 | 7008.688445 |
131 | 1257465.9 | 110305.49463 | 1012303.6 | 2021-08-12 | NA | NA | 1122609.1 | 6919.241022 |
132 | 1250637.1 | 109442.99459 | 1019994.9 | 2021-08-13 | NA | NA | 1129437.9 | 6828.874503 |
133 | 1243899.4 | 108550.73978 | 1027624.9 | 2021-08-14 | NA | NA | 1136175.6 | 6737.695601 |
134 | 1237253.6 | 107630.05846 | 1035191.4 | 2021-08-15 | NA | NA | 1142821.4 | 6645.808541 |
135 | 1230700.2 | 106682.28716 | 1042692.5 | 2021-08-16 | NA | NA | 1149374.8 | 6553.314920 |
136 | 1224239.9 | 105708.76755 | 1050126.3 | 2021-08-17 | NA | NA | 1155835.1 | 6460.313578 |
137 | 1217873.0 | 104710.84321 | 1057491.1 | 2021-08-18 | NA | NA | 1162202.0 | 6366.900485 |
138 | 1211599.9 | 103689.85674 | 1064785.3 | 2021-08-19 | NA | NA | 1168475.1 | 6273.168649 |
139 | 1205420.7 | 102647.14683 | 1072007.2 | 2021-08-20 | NA | NA | 1174654.3 | 6179.208034 |
140 | 1199335.5 | 101584.04551 | 1079155.4 | 2021-08-21 | NA | NA | 1180739.5 | 6085.105494 |
141 | 1193344.6 | 100501.87560 | 1086228.5 | 2021-08-22 | NA | NA | 1186730.4 | 5990.944721 |
142 | 1187447.8 | 99401.94818 | 1093225.3 | 2021-08-23 | NA | NA | 1192627.2 | 5896.806208 |
143 | 1181645.0 | 98285.56034 | 1100144.4 | 2021-08-24 | NA | NA | 1198430.0 | 5802.767221 |
144 | 1175936.1 | 97153.99292 | 1106984.9 | 2021-08-25 | NA | NA | 1204138.9 | 5708.901786 |
145 | 1170320.8 | 96008.50852 | 1113745.6 | 2021-08-26 | NA | NA | 1209754.2 | 5615.280686 |
146 | 1164798.9 | 94850.34960 | 1120425.8 | 2021-08-27 | NA | NA | 1215276.1 | 5521.971465 |
147 | 1159369.8 | 93680.73673 | 1127024.4 | 2021-08-28 | NA | NA | 1220705.2 | 5429.038448 |
148 | 1154033.3 | 92500.86698 | 1133540.8 | 2021-08-29 | NA | NA | 1226041.7 | 5336.542768 |
149 | 1148788.8 | 91311.91247 | 1139974.3 | 2021-08-30 | NA | NA | 1231286.2 | 5244.542395 |
150 | 1143635.7 | 90115.01903 | 1146324.3 | 2021-08-31 | NA | NA | 1236439.3 | 5153.092180 |
151 | 1138573.4 | 88911.30502 | 1152590.3 | 2021-09-01 | NA | NA | 1241501.6 | 5062.243905 |
152 | 1133601.4 | 87701.86026 | 1158771.8 | 2021-09-02 | NA | NA | 1246473.6 | 4972.046331 |
153 | 1128718.8 | 86487.74513 | 1164868.4 | 2021-09-03 | NA | NA | 1251356.2 | 4882.545265 |
154 | 1123925.0 | 85269.98974 | 1170880.0 | 2021-09-04 | NA | NA | 1256150.0 | 4793.783619 |
155 | 1119219.2 | 84049.59327 | 1176806.2 | 2021-09-05 | NA | NA | 1260855.8 | 4705.801481 |
156 | 1114600.6 | 82827.52337 | 1182646.9 | 2021-09-06 | NA | NA | 1265474.4 | 4618.636186 |
157 | 1110068.3 | 81604.71576 | 1188402.0 | 2021-09-07 | NA | NA | 1270006.7 | 4532.322391 |
158 | 1105621.4 | 80382.07382 | 1194071.5 | 2021-09-08 | NA | NA | 1274453.6 | 4446.892157 |
159 | 1101259.0 | 79160.46839 | 1199655.5 | 2021-09-09 | NA | NA | 1278816.0 | 4362.375022 |
160 | 1096980.2 | 77940.73759 | 1205154.0 | 2021-09-10 | NA | NA | 1283094.8 | 4278.798088 |
161 | 1092784.0 | 76723.68676 | 1210567.3 | 2021-09-11 | NA | NA | 1287291.0 | 4196.186102 |
162 | 1088669.5 | 75510.08850 | 1215895.4 | 2021-09-12 | NA | NA | 1291405.5 | 4114.561541 |
163 | 1084635.5 | 74300.68276 | 1221138.8 | 2021-09-13 | NA | NA | 1295439.5 | 4033.944695 |
164 | 1080681.2 | 73096.17700 | 1226297.7 | 2021-09-14 | NA | NA | 1299393.8 | 3954.353750 |
165 | 1076805.4 | 71897.24649 | 1231372.4 | 2021-09-15 | NA | NA | 1303269.6 | 3875.804876 |
166 | 1073007.1 | 70704.53455 | 1236363.4 | 2021-09-16 | NA | NA | 1307067.9 | 3798.312308 |
167 | 1069285.2 | 69518.65299 | 1241271.2 | 2021-09-17 | NA | NA | 1310789.8 | 3721.888429 |
168 | 1065638.6 | 68340.18247 | 1246096.2 | 2021-09-18 | NA | NA | 1314436.4 | 3646.543854 |
169 | 1062066.3 | 67169.67303 | 1250839.0 | 2021-09-19 | NA | NA | 1318008.7 | 3572.287509 |
170 | 1058567.2 | 66007.64456 | 1255500.1 | 2021-09-20 | NA | NA | 1321507.8 | 3499.126713 |
171 | 1055140.1 | 64854.58740 | 1260080.3 | 2021-09-21 | NA | NA | 1324934.9 | 3427.067252 |
172 | 1051784.0 | 63710.96292 | 1264580.0 | 2021-09-22 | NA | NA | 1328291.0 | 3356.113464 |
173 | 1048497.8 | 62577.20414 | 1269000.0 | 2021-09-23 | NA | NA | 1331577.2 | 3286.268303 |
174 | 1045280.2 | 61453.71638 | 1273341.1 | 2021-09-24 | NA | NA | 1334794.8 | 3217.533420 |
175 | 1042130.3 | 60340.87799 | 1277603.8 | 2021-09-25 | NA | NA | 1337944.7 | 3149.909234 |
176 | 1039046.9 | 59239.04098 | 1281789.0 | 2021-09-26 | NA | NA | 1341028.1 | 3083.394996 |
177 | 1036028.9 | 58148.53178 | 1285897.5 | 2021-09-27 | NA | NA | 1344046.1 | 3017.988861 |
178 | 1033075.2 | 57069.65197 | 1289930.1 | 2021-09-28 | NA | NA | 1346999.8 | 2953.687951 |
179 | 1030184.8 | 56002.67902 | 1293887.6 | 2021-09-29 | NA | NA | 1349890.2 | 2890.488418 |
180 | 1027356.4 | 54947.86706 | 1297770.8 | 2021-09-30 | NA | NA | 1352718.6 | 2828.385507 |
181 | 1024589.0 | 53905.44758 | 1301580.6 | 2021-10-01 | NA | NA | 1355486.0 | 2767.373611 |
182 | 1021881.5 | 52875.63027 | 1305317.8 | 2021-10-02 | NA | NA | 1358193.5 | 2707.446331 |
183 | 1019233.0 | 51858.60373 | 1308983.4 | 2021-10-03 | NA | NA | 1360842.0 | 2648.596527 |
184 | 1016642.1 | 50854.53625 | 1312578.3 | 2021-10-04 | NA | NA | 1363432.9 | 2590.816373 |
185 | 1014108.0 | 49863.57657 | 1316103.4 | 2021-10-05 | NA | NA | 1365967.0 | 2534.097408 |
186 | 1011629.6 | 48885.85463 | 1319559.5 | 2021-10-06 | NA | NA | 1368445.4 | 2478.430581 |
187 | 1009205.8 | 47921.48230 | 1322947.7 | 2021-10-07 | NA | NA | 1370869.2 | 2423.806297 |
188 | 1006835.6 | 46970.55416 | 1326268.9 | 2021-10-08 | NA | NA | 1373239.4 | 2370.214465 |
189 | 1004517.9 | 46033.14819 | 1329523.9 | 2021-10-09 | NA | NA | 1375557.1 | 2317.644535 |
190 | 1002251.9 | 45109.32651 | 1332713.8 | 2021-10-10 | NA | NA | 1377823.1 | 2266.085541 |
191 | 1000036.3 | 44199.13608 | 1335839.5 | 2021-10-11 | NA | NA | 1380038.7 | 2215.526141 |
192 | 997870.4 | 43302.60942 | 1338902.0 | 2021-10-12 | NA | NA | 1382204.6 | 2165.954649 |
193 | 995753.0 | 42419.76522 | 1341902.2 | 2021-10-13 | NA | NA | 1384322.0 | 2117.359071 |
194 | 993683.3 | 41550.60910 | 1344841.1 | 2021-10-14 | NA | NA | 1386391.7 | 2069.727139 |
195 | 991660.2 | 40695.13419 | 1347719.6 | 2021-10-15 | NA | NA | 1388414.8 | 2023.046343 |
196 | 989682.9 | 39853.32181 | 1350538.7 | 2021-10-16 | NA | NA | 1390392.1 | 1977.303958 |
197 | 987750.5 | 39025.14206 | 1353299.4 | 2021-10-17 | NA | NA | 1392324.5 | 1932.487071 |
198 | 985861.9 | 38210.55445 | 1356002.6 | 2021-10-18 | NA | NA | 1394213.1 | 1888.582614 |
199 | 984016.3 | 37409.50846 | 1358649.2 | 2021-10-19 | NA | NA | 1396058.7 | 1845.577380 |
200 | 982212.8 | 36621.94412 | 1361240.2 | 2021-10-20 | NA | NA | 1397862.2 | 1803.458053 |
201 | 980450.6 | 35847.79259 | 1363776.6 | 2021-10-21 | NA | NA | 1399624.4 | 1762.211229 |
202 | 978728.8 | 35086.97665 | 1366259.2 | 2021-10-22 | NA | NA | 1401346.2 | 1721.823433 |
203 | 977046.5 | 34339.41125 | 1368689.1 | 2021-10-23 | NA | NA | 1403028.5 | 1682.281144 |
204 | 975402.9 | 33605.00400 | 1371067.0 | 2021-10-24 | NA | NA | 1404672.1 | 1643.570809 |
205 | 973797.3 | 32883.65565 | 1373394.1 | 2021-10-25 | NA | NA | 1406277.7 | 1605.678866 |
206 | 972228.7 | 32175.26058 | 1375671.1 | 2021-10-26 | NA | NA | 1407846.3 | 1568.591751 |
207 | 970696.4 | 31479.70720 | 1377898.9 | 2021-10-27 | NA | NA | 1409378.6 | 1532.295922 |
208 | 969199.6 | 30796.87845 | 1380078.5 | 2021-10-28 | NA | NA | 1410875.4 | 1496.777868 |
209 | 967737.6 | 30126.65215 | 1382210.8 | 2021-10-29 | NA | NA | 1412337.4 | 1462.024125 |
210 | 966309.6 | 29468.90145 | 1384296.5 | 2021-10-30 | NA | NA | 1413765.4 | 1428.021286 |
211 | 964914.8 | 28823.49520 | 1386336.7 | 2021-10-31 | NA | NA | 1415160.2 | 1394.756012 |
212 | 963552.6 | 28190.29830 | 1388332.1 | 2021-11-01 | NA | NA | 1416522.4 | 1362.215045 |
213 | 962222.2 | 27569.17205 | 1390283.6 | 2021-11-02 | NA | NA | 1417852.8 | 1330.385216 |
214 | 960922.9 | 26959.97454 | 1392192.1 | 2021-11-03 | NA | NA | 1419152.1 | 1299.253455 |
215 | 959654.1 | 26362.56091 | 1394058.3 | 2021-11-04 | NA | NA | 1420420.9 | 1268.806796 |
216 | 958415.1 | 25776.78368 | 1395883.1 | 2021-11-05 | NA | NA | 1421659.9 | 1239.032391 |
217 | 957205.2 | 25202.49307 | 1397667.3 | 2021-11-06 | NA | NA | 1422869.8 | 1209.917508 |
218 | 956023.7 | 24639.53723 | 1399411.7 | 2021-11-07 | NA | NA | 1424051.3 | 1181.449548 |
219 | 954870.1 | 24087.76255 | 1401117.1 | 2021-11-08 | NA | NA | 1425204.9 | 1153.616040 |
220 | 953743.7 | 23547.01389 | 1402784.3 | 2021-11-09 | NA | NA | 1426331.3 | 1126.404653 |
221 | 952643.9 | 23017.13483 | 1404413.9 | 2021-11-10 | NA | NA | 1427431.1 | 1099.803200 |
222 | 951570.1 | 22497.96790 | 1406006.9 | 2021-11-11 | NA | NA | 1428504.9 | 1073.799640 |
223 | 950521.7 | 21989.35479 | 1407563.9 | 2021-11-12 | NA | NA | 1429553.3 | 1048.382083 |
224 | 949498.2 | 21491.13656 | 1409085.7 | 2021-11-13 | NA | NA | 1430576.8 | 1023.538792 |
225 | 948498.9 | 21003.15383 | 1410572.9 | 2021-11-14 | NA | NA | 1431576.1 | 999.258189 |
226 | 947523.4 | 20525.24696 | 1412026.3 | 2021-11-15 | NA | NA | 1432551.6 | 975.528853 |
227 | 946571.1 | 20057.25626 | 1413446.7 | 2021-11-16 | NA | NA | 1433503.9 | 952.339528 |
228 | 945641.4 | 19599.02208 | 1414834.6 | 2021-11-17 | NA | NA | 1434433.6 | 929.679117 |
229 | 944733.9 | 19150.38504 | 1416190.8 | 2021-11-18 | NA | NA | 1435341.1 | 907.536692 |
230 | 943848.0 | 18711.18613 | 1417515.9 | 2021-11-19 | NA | NA | 1436227.0 | 885.901488 |
231 | 942983.2 | 18281.26686 | 1418810.5 | 2021-11-20 | NA | NA | 1437091.8 | 864.762910 |
232 | 942139.1 | 17860.46937 | 1420075.4 | 2021-11-21 | NA | NA | 1437935.9 | 844.110527 |
233 | 941315.1 | 17448.63658 | 1421311.2 | 2021-11-22 | NA | NA | 1438759.9 | 823.934080 |
234 | 940510.9 | 17045.61227 | 1422518.5 | 2021-11-23 | NA | NA | 1439564.1 | 804.223475 |
235 | 939726.0 | 16651.24121 | 1423697.8 | 2021-11-24 | NA | NA | 1440349.0 | 784.968789 |
236 | 938959.8 | 16265.36924 | 1424849.8 | 2021-11-25 | NA | NA | 1441115.2 | 766.160265 |
237 | 938212.0 | 15887.84336 | 1425975.2 | 2021-11-26 | NA | NA | 1441863.0 | 747.788313 |
238 | 937482.2 | 15518.51180 | 1427074.3 | 2021-11-27 | NA | NA | 1442592.8 | 729.843513 |
239 | 936769.8 | 15157.22414 | 1428147.9 | 2021-11-28 | NA | NA | 1443305.2 | 712.316609 |
240 | 936074.6 | 14803.83133 | 1429196.5 | 2021-11-29 | NA | NA | 1444000.4 | 695.198510 |
241 | 935396.2 | 14458.18579 | 1430220.6 | 2021-11-30 | NA | NA | 1444678.8 | 678.480292 |
242 | 934734.0 | 14120.14144 | 1431220.8 | 2021-12-01 | NA | NA | 1445341.0 | 662.153193 |
243 | 934087.8 | 13789.55380 | 1432197.6 | 2021-12-02 | NA | NA | 1445987.2 | 646.208610 |
244 | 933457.2 | 13466.27997 | 1433151.6 | 2021-12-03 | NA | NA | 1446617.8 | 630.638106 |
245 | 932841.7 | 13150.17875 | 1434083.1 | 2021-12-04 | NA | NA | 1447233.3 | 615.433400 |
246 | 932241.1 | 12841.11061 | 1434992.7 | 2021-12-05 | NA | NA | 1447833.9 | 600.586370 |
247 | 931655.1 | 12538.93779 | 1435881.0 | 2021-12-06 | NA | NA | 1448419.9 | 586.089048 |
248 | 931083.1 | 12243.52428 | 1436748.4 | 2021-12-07 | NA | NA | 1448991.9 | 571.933623 |
249 | 930525.0 | 11954.73587 | 1437595.3 | 2021-12-08 | NA | NA | 1449550.0 | 558.112435 |
250 | 929980.4 | 11672.44017 | 1438422.2 | 2021-12-09 | NA | NA | 1450094.6 | 544.617976 |
251 | 929449.0 | 11396.50665 | 1439229.5 | 2021-12-10 | NA | NA | 1450626.0 | 531.442886 |
252 | 928930.4 | 11126.80663 | 1440017.8 | 2021-12-11 | NA | NA | 1451144.6 | 518.579952 |
253 | 928424.3 | 10863.21330 | 1440787.4 | 2021-12-12 | NA | NA | 1451650.7 | 506.022109 |
254 | 927930.6 | 10605.60174 | 1441538.8 | 2021-12-13 | NA | NA | 1452144.4 | 493.762430 |
255 | 927448.8 | 10353.84892 | 1442272.4 | 2021-12-14 | NA | NA | 1452626.2 | 481.794135 |
256 | 926978.7 | 10107.83372 | 1442988.5 | 2021-12-15 | NA | NA | 1453096.3 | 470.110578 |
257 | 926520.0 | 9867.43693 | 1443687.6 | 2021-12-16 | NA | NA | 1453555.0 | 458.705254 |
258 | 926072.4 | 9632.54124 | 1444370.1 | 2021-12-17 | NA | NA | 1454002.6 | 447.571791 |
259 | 925635.7 | 9403.03124 | 1445036.3 | 2021-12-18 | NA | NA | 1454439.3 | 436.703950 |
260 | 925209.6 | 9178.79343 | 1445686.6 | 2021-12-19 | NA | NA | 1454865.4 | 426.095624 |
261 | 924793.9 | 8959.71620 | 1446321.4 | 2021-12-20 | NA | NA | 1455281.1 | 415.740833 |
262 | 924388.2 | 8745.68986 | 1446941.1 | 2021-12-21 | NA | NA | 1455686.8 | 405.633727 |
263 | 923992.5 | 8536.60659 | 1447545.9 | 2021-12-22 | NA | NA | 1456082.5 | 395.768576 |
264 | 923606.3 | 8332.36043 | 1448136.3 | 2021-12-23 | NA | NA | 1456468.7 | 386.139776 |
265 | 923229.6 | 8132.84731 | 1448712.6 | 2021-12-24 | NA | NA | 1456845.4 | 376.741842 |
266 | 922862.0 | 7937.96500 | 1449275.0 | 2021-12-25 | NA | NA | 1457213.0 | 367.569408 |
267 | 922503.4 | 7747.61313 | 1449824.0 | 2021-12-26 | NA | NA | 1457571.6 | 358.617223 |
268 | 922153.5 | 7561.69313 | 1450359.8 | 2021-12-27 | NA | NA | 1457921.5 | 349.880151 |
269 | 921812.2 | 7380.10826 | 1450882.7 | 2021-12-28 | NA | NA | 1458262.8 | 341.353168 |
270 | 921479.1 | 7202.76357 | 1451393.1 | 2021-12-29 | NA | NA | 1458595.9 | 333.031361 |
271 | 921154.2 | 7029.56588 | 1451891.2 | 2021-12-30 | NA | NA | 1458920.8 | 324.909922 |
272 | 920837.2 | 6860.42379 | 1452377.3 | 2021-12-31 | NA | NA | 1459237.8 | 316.984153 |
273 | 920528.0 | 6695.24762 | 1452851.8 | 2022-01-01 | NA | NA | 1459547.0 | 309.249456 |
274 | 920226.3 | 6533.94943 | 1453314.8 | 2022-01-02 | NA | NA | 1459848.7 | 301.701339 |
275 | 919931.9 | 6376.44298 | 1453766.6 | 2022-01-03 | NA | NA | 1460143.1 | 294.335407 |
276 | 919644.8 | 6222.64369 | 1454207.6 | 2022-01-04 | NA | NA | 1460430.2 | 287.147364 |
277 | 919364.7 | 6072.46867 | 1454637.9 | 2022-01-05 | NA | NA | 1460710.3 | 280.133011 |
278 | 919091.4 | 5925.83666 | 1455057.8 | 2022-01-06 | NA | NA | 1460983.6 | 273.288242 |
279 | 918824.8 | 5782.66801 | 1455467.6 | 2022-01-07 | NA | NA | 1461250.2 | 266.609044 |
280 | 918564.7 | 5642.88468 | 1455867.4 | 2022-01-08 | NA | NA | 1461510.3 | 260.091495 |
281 | 918310.9 | 5506.41021 | 1456257.6 | 2022-01-09 | NA | NA | 1461764.1 | 253.731762 |
282 | 918063.4 | 5373.16966 | 1456638.4 | 2022-01-10 | NA | NA | 1462011.6 | 247.526098 |
283 | 917822.0 | 5243.08965 | 1457010.0 | 2022-01-11 | NA | NA | 1462253.0 | 241.470841 |
284 | 917586.4 | 5116.09830 | 1457372.5 | 2022-01-12 | NA | NA | 1462488.6 | 235.562415 |
285 | 917356.6 | 4992.12520 | 1457726.3 | 2022-01-13 | NA | NA | 1462718.4 | 229.797322 |
286 | 917132.4 | 4871.10142 | 1458071.5 | 2022-01-14 | NA | NA | 1462942.6 | 224.172146 |
287 | 916913.7 | 4752.95946 | 1458408.3 | 2022-01-15 | NA | NA | 1463161.3 | 218.683551 |
288 | 916700.4 | 4637.63322 | 1458737.0 | 2022-01-16 | NA | NA | 1463374.6 | 213.328274 |
289 | 916492.3 | 4525.05802 | 1459057.6 | 2022-01-17 | NA | NA | 1463582.7 | 208.103130 |
290 | 916289.3 | 4415.17052 | 1459370.5 | 2022-01-18 | NA | NA | 1463785.7 | 203.005007 |
291 | 916091.3 | 4307.90875 | 1459675.8 | 2022-01-19 | NA | NA | 1463983.7 | 198.030863 |
292 | 915898.1 | 4203.21204 | 1459973.7 | 2022-01-20 | NA | NA | 1464176.9 | 193.177730 |
293 | 915709.6 | 4101.02104 | 1460264.3 | 2022-01-21 | NA | NA | 1464365.4 | 188.442706 |
294 | 915525.8 | 4001.27765 | 1460547.9 | 2022-01-22 | NA | NA | 1464549.2 | 183.822958 |
295 | 915346.5 | 3903.92506 | 1460824.6 | 2022-01-23 | NA | NA | 1464728.5 | 179.315717 |
296 | 915171.6 | 3808.90765 | 1461094.5 | 2022-01-24 | NA | NA | 1464903.4 | 174.918281 |
297 | 915001.0 | 3716.17106 | 1461357.9 | 2022-01-25 | NA | NA | 1465074.0 | 170.628009 |
298 | 914834.5 | 3625.66206 | 1461614.8 | 2022-01-26 | NA | NA | 1465240.5 | 166.442323 |
299 | 914672.2 | 3537.32863 | 1461865.5 | 2022-01-27 | NA | NA | 1465402.8 | 162.358706 |
300 | 914513.8 | 3451.11988 | 1462110.1 | 2022-01-28 | NA | NA | 1465561.2 | 158.374698 |
301 | 914359.3 | 3366.98603 | 1462348.7 | 2022-01-29 | NA | NA | 1465715.7 | 154.487898 |
302 | 914208.6 | 3284.87842 | 1462581.5 | 2022-01-30 | NA | NA | 1465866.4 | 150.695962 |
303 | 914061.6 | 3204.74945 | 1462808.6 | 2022-01-31 | NA | NA | 1466013.4 | 146.996600 |
304 | 913918.2 | 3126.55259 | 1463030.2 | 2022-02-01 | NA | NA | 1466156.8 | 143.387576 |
305 | 913778.4 | 3050.24235 | 1463246.4 | 2022-02-02 | NA | NA | 1466296.6 | 139.866708 |
306 | 913641.9 | 2975.77425 | 1463457.3 | 2022-02-03 | NA | NA | 1466433.1 | 136.431866 |
307 | 913508.8 | 2903.10482 | 1463663.1 | 2022-02-04 | NA | NA | 1466566.2 | 133.080967 |
308 | 913379.0 | 2832.19155 | 1463863.8 | 2022-02-05 | NA | NA | 1466696.0 | 129.811981 |
309 | 913252.4 | 2762.99290 | 1464059.6 | 2022-02-06 | NA | NA | 1466822.6 | 126.622924 |
310 | 913128.9 | 2695.46827 | 1464250.6 | 2022-02-07 | NA | NA | 1466946.1 | 123.511860 |
311 | 913008.4 | 2629.57797 | 1464437.0 | 2022-02-08 | NA | NA | 1467066.6 | 120.476900 |
312 | 912890.9 | 2565.28322 | 1464618.8 | 2022-02-09 | NA | NA | 1467184.1 | 117.516197 |
313 | 912776.3 | 2502.54612 | 1464796.2 | 2022-02-10 | NA | NA | 1467298.7 | 114.627950 |
314 | 912664.5 | 2441.32963 | 1464969.2 | 2022-02-11 | NA | NA | 1467410.5 | 111.810402 |
315 | 912555.4 | 2381.59757 | 1465138.0 | 2022-02-12 | NA | NA | 1467519.6 | 109.061835 |
316 | 912449.0 | 2323.31457 | 1465302.7 | 2022-02-13 | NA | NA | 1467626.0 | 106.380575 |
317 | 912345.3 | 2266.44609 | 1465463.3 | 2022-02-14 | NA | NA | 1467729.7 | 103.764985 |
318 | 912244.0 | 2210.95836 | 1465620.0 | 2022-02-15 | NA | NA | 1467831.0 | 101.213470 |
319 | 912145.3 | 2156.81841 | 1465772.9 | 2022-02-16 | NA | NA | 1467929.7 | 98.724472 |
320 | 912049.0 | 2103.99403 | 1465922.0 | 2022-02-17 | NA | NA | 1468026.0 | 96.296469 |
321 | 911955.1 | 2052.45373 | 1466067.5 | 2022-02-18 | NA | NA | 1468119.9 | 93.927977 |
322 | 911863.5 | 2002.16678 | 1466209.4 | 2022-02-19 | NA | NA | 1468211.5 | 91.617547 |
323 | 911774.1 | 1953.10315 | 1466347.8 | 2022-02-20 | NA | NA | 1468300.9 | 89.363767 |
324 | 911686.9 | 1905.23350 | 1466482.8 | 2022-02-21 | NA | NA | 1468388.1 | 87.165255 |
325 | 911601.9 | 1858.52919 | 1466614.5 | 2022-02-22 | NA | NA | 1468473.1 | 85.020664 |
326 | 911519.0 | 1812.96223 | 1466743.0 | 2022-02-23 | NA | NA | 1468556.0 | 82.928681 |
327 | 911438.1 | 1768.50528 | 1466868.4 | 2022-02-24 | NA | NA | 1468636.9 | 80.888023 |
328 | 911359.2 | 1725.13167 | 1466990.7 | 2022-02-25 | NA | NA | 1468715.8 | 78.897438 |
329 | 911282.3 | 1682.81532 | 1467109.9 | 2022-02-26 | NA | NA | 1468792.7 | 76.955704 |
330 | 911207.2 | 1641.53078 | 1467226.3 | 2022-02-27 | NA | NA | 1468867.8 | 75.061628 |
331 | 911134.0 | 1601.25319 | 1467339.8 | 2022-02-28 | NA | NA | 1468941.0 | 73.214049 |
332 | 911062.6 | 1561.95828 | 1467450.5 | 2022-03-01 | NA | NA | 1469012.4 | 71.411829 |
333 | 910992.9 | 1523.62235 | 1467558.5 | 2022-03-02 | NA | NA | 1469082.1 | 69.653861 |
334 | 910925.0 | 1486.22224 | 1467663.8 | 2022-03-03 | NA | NA | 1469150.0 | 67.939064 |
335 | 910858.7 | 1449.73537 | 1467766.6 | 2022-03-04 | NA | NA | 1469216.3 | 66.266384 |
336 | 910794.1 | 1414.13967 | 1467866.8 | 2022-03-05 | NA | NA | 1469280.9 | 64.634789 |
337 | 910731.0 | 1379.41359 | 1467964.6 | 2022-03-06 | NA | NA | 1469344.0 | 63.043277 |
338 | 910669.5 | 1345.53611 | 1468059.9 | 2022-03-07 | NA | NA | 1469405.5 | 61.490867 |
339 | 910609.6 | 1312.48669 | 1468153.0 | 2022-03-08 | NA | NA | 1469465.4 | 59.976601 |
340 | 910551.1 | 1280.24527 | 1468243.7 | 2022-03-09 | NA | NA | 1469523.9 | 58.499548 |
341 | 910494.0 | 1248.79230 | 1468332.2 | 2022-03-10 | NA | NA | 1469581.0 | 57.058796 |
342 | 910438.4 | 1218.10865 | 1468418.5 | 2022-03-11 | NA | NA | 1469636.6 | 55.653457 |
343 | 910384.1 | 1188.17569 | 1468502.8 | 2022-03-12 | NA | NA | 1469690.9 | 54.282664 |
344 | 910331.1 | 1158.97520 | 1468584.9 | 2022-03-13 | NA | NA | 1469743.9 | 52.945571 |
345 | 910279.5 | 1130.48941 | 1468665.0 | 2022-03-14 | NA | NA | 1469795.5 | 51.641352 |
346 | 910229.1 | 1102.70097 | 1468743.2 | 2022-03-15 | NA | NA | 1469845.9 | 50.369203 |
347 | 910180.0 | 1075.59294 | 1468819.4 | 2022-03-16 | NA | NA | 1469895.0 | 49.128337 |
348 | 910132.1 | 1049.14879 | 1468893.8 | 2022-03-17 | NA | NA | 1469942.9 | 47.917988 |
349 | 910085.3 | 1023.35239 | 1468966.3 | 2022-03-18 | NA | NA | 1469989.7 | 46.737408 |
350 | 910039.7 | 998.18798 | 1469037.1 | 2022-03-19 | NA | NA | 1470035.3 | 45.585867 |
351 | 909995.3 | 973.64020 | 1469106.1 | 2022-03-20 | NA | NA | 1470079.7 | 44.462654 |
352 | 909951.9 | 949.69404 | 1469173.4 | 2022-03-21 | NA | NA | 1470123.1 | 43.367073 |
353 | 909909.6 | 926.33486 | 1469239.1 | 2022-03-22 | NA | NA | 1470165.4 | 42.298447 |
354 | 909868.4 | 903.54836 | 1469303.1 | 2022-03-23 | NA | NA | 1470206.6 | 41.256115 |
355 | 909828.1 | 881.32060 | 1469365.6 | 2022-03-24 | NA | NA | 1470246.9 | 40.239431 |
356 | 909788.9 | 859.63796 | 1469426.5 | 2022-03-25 | NA | NA | 1470286.1 | 39.247767 |
357 | 909750.6 | 838.48715 | 1469485.9 | 2022-03-26 | NA | NA | 1470324.4 | 38.280508 |
358 | 909713.3 | 817.85521 | 1469543.9 | 2022-03-27 | NA | NA | 1470361.7 | 37.337055 |
359 | 909676.8 | 797.72949 | 1469600.4 | 2022-03-28 | NA | NA | 1470398.2 | 36.416825 |
360 | 909641.3 | 778.09763 | 1469655.6 | 2022-03-29 | NA | NA | 1470433.7 | 35.519246 |
361 | 909606.7 | 758.94759 | 1469709.4 | 2022-03-30 | NA | NA | 1470468.3 | 34.643763 |
362 | 909572.9 | 740.26760 | 1469761.8 | 2022-03-31 | NA | NA | 1470502.1 | 33.789833 |
363 | 909539.9 | 722.04618 | 1469813.0 | 2022-04-01 | NA | NA | 1470535.1 | 32.956927 |
364 | 909507.8 | 704.27215 | 1469862.9 | 2022-04-02 | NA | NA | 1470567.2 | 32.144528 |
365 | 909476.4 | 686.93456 | 1469911.6 | 2022-04-03 | NA | NA | 1470598.6 | 31.352132 |
366 | 909445.9 | 670.02276 | 1469959.1 | 2022-04-04 | NA | NA | 1470629.1 | 30.579249 |
367 | 909416.0 | 653.52633 | 1470005.4 | 2022-04-05 | NA | NA | 1470659.0 | 29.825399 |
368 | 909386.9 | 637.43513 | 1470050.6 | 2022-04-06 | NA | NA | 1470688.1 | 29.090113 |
369 | 909358.6 | 621.73924 | 1470094.7 | 2022-04-07 | NA | NA | 1470716.4 | 28.372936 |
370 | 909330.9 | 606.42899 | 1470137.7 | 2022-04-08 | NA | NA | 1470744.1 | 27.673423 |
371 | 909303.9 | 591.49496 | 1470179.6 | 2022-04-09 | NA | NA | 1470771.1 | 26.991139 |
372 | 909277.6 | 576.92794 | 1470220.5 | 2022-04-10 | NA | NA | 1470797.4 | 26.325661 |
373 | 909251.9 | 562.71893 | 1470260.4 | 2022-04-11 | NA | NA | 1470823.1 | 25.676576 |
374 | 909226.9 | 548.85919 | 1470299.3 | 2022-04-12 | NA | NA | 1470848.1 | 25.043480 |
375 | 909202.4 | 535.34016 | 1470337.2 | 2022-04-13 | NA | NA | 1470872.6 | 24.425981 |
376 | 909178.6 | 522.15349 | 1470374.2 | 2022-04-14 | NA | NA | 1470896.4 | 23.823694 |
377 | 909155.4 | 509.29105 | 1470410.3 | 2022-04-15 | NA | NA | 1470919.6 | 23.236247 |
378 | 909132.7 | 496.74488 | 1470445.6 | 2022-04-16 | NA | NA | 1470942.3 | 22.663273 |
379 | 909110.6 | 484.50725 | 1470479.9 | 2022-04-17 | NA | NA | 1470964.4 | 22.104416 |
380 | 909089.0 | 472.57059 | 1470513.4 | 2022-04-18 | NA | NA | 1470986.0 | 21.559330 |
381 | 909068.0 | 460.92753 | 1470546.1 | 2022-04-19 | NA | NA | 1471007.0 | 21.027676 |
382 | 909047.5 | 449.57085 | 1470577.9 | 2022-04-20 | NA | NA | 1471027.5 | 20.509123 |
383 | 909027.5 | 438.49356 | 1470609.0 | 2022-04-21 | NA | NA | 1471047.5 | 20.003348 |
384 | 909008.0 | 427.68878 | 1470639.3 | 2022-04-22 | NA | NA | 1471067.0 | 19.510038 |
385 | 908989.0 | 417.14985 | 1470668.9 | 2022-04-23 | NA | NA | 1471086.0 | 19.028885 |
386 | 908970.4 | 406.87023 | 1470697.7 | 2022-04-24 | NA | NA | 1471104.6 | 18.559590 |
387 | 908952.3 | 396.84357 | 1470725.9 | 2022-04-25 | NA | NA | 1471122.7 | 18.101862 |
388 | 908934.6 | 387.06365 | 1470753.3 | 2022-04-26 | NA | NA | 1471140.4 | 17.655416 |
389 | 908917.4 | 377.52443 | 1470780.1 | 2022-04-27 | NA | NA | 1471157.6 | 17.219973 |
390 | 908900.6 | 368.21999 | 1470806.2 | 2022-04-28 | NA | NA | 1471174.4 | 16.795264 |
391 | 908884.2 | 359.14457 | 1470831.6 | 2022-04-29 | NA | NA | 1471190.8 | 16.381024 |
392 | 908868.3 | 350.29256 | 1470856.4 | 2022-04-30 | NA | NA | 1471206.7 | 15.976994 |
393 | 908852.7 | 341.65845 | 1470880.7 | 2022-05-01 | NA | NA | 1471222.3 | 15.582925 |
394 | 908837.5 | 333.23691 | 1470904.3 | 2022-05-02 | NA | NA | 1471237.5 | 15.198569 |
395 | 908822.7 | 325.02270 | 1470927.3 | 2022-05-03 | NA | NA | 1471252.3 | 14.823689 |
396 | 908808.2 | 317.01075 | 1470949.8 | 2022-05-04 | NA | NA | 1471266.8 | 14.458051 |
397 | 908794.1 | 309.19607 | 1470971.7 | 2022-05-05 | NA | NA | 1471280.9 | 14.101427 |
398 | 908780.4 | 301.57383 | 1470993.1 | 2022-05-06 | NA | NA | 1471294.6 | 13.753595 |
399 | 908766.9 | 294.13929 | 1471013.9 | 2022-05-07 | NA | NA | 1471308.1 | 13.414339 |
400 | 908753.9 | 286.88784 | 1471034.3 | 2022-05-08 | NA | NA | 1471321.1 | 13.083448 |
401 | 908741.1 | 279.81499 | 1471054.1 | 2022-05-09 | NA | NA | 1471333.9 | 12.760714 |
402 | 908728.6 | 272.91633 | 1471073.4 | 2022-05-10 | NA | NA | 1471346.4 | 12.445939 |
403 | 908716.5 | 266.18760 | 1471092.3 | 2022-05-11 | NA | NA | 1471358.5 | 12.138924 |
404 | 908704.7 | 259.62461 | 1471110.7 | 2022-05-12 | NA | NA | 1471370.3 | 11.839480 |
405 | 908693.1 | 253.22328 | 1471128.7 | 2022-05-13 | NA | NA | 1471381.9 | 11.547420 |
406 | 908681.9 | 246.97965 | 1471146.2 | 2022-05-14 | NA | NA | 1471393.1 | 11.262561 |
407 | 908670.9 | 240.88983 | 1471163.2 | 2022-05-15 | NA | NA | 1471404.1 | 10.984727 |
408 | 908660.2 | 234.95004 | 1471179.9 | 2022-05-16 | NA | NA | 1471414.8 | 10.713744 |
409 | 908649.7 | 229.15660 | 1471196.1 | 2022-05-17 | NA | NA | 1471425.3 | 10.449443 |
410 | 908639.5 | 223.50589 | 1471212.0 | 2022-05-18 | NA | NA | 1471435.5 | 10.191660 |
411 | 908629.6 | 217.99442 | 1471227.4 | 2022-05-19 | NA | NA | 1471445.4 | 9.940235 |
412 | 908619.9 | 212.61875 | 1471242.5 | 2022-05-20 | NA | NA | 1471455.1 | 9.695009 |
413 | 908610.4 | 207.37554 | 1471257.2 | 2022-05-21 | NA | NA | 1471464.6 | 9.455832 |
414 | 908601.2 | 202.26154 | 1471271.5 | 2022-05-22 | NA | NA | 1471473.8 | 9.222553 |
415 | 908592.2 | 197.27357 | 1471285.5 | 2022-05-23 | NA | NA | 1471482.8 | 8.995027 |
416 | 908583.4 | 192.40852 | 1471299.2 | 2022-05-24 | NA | NA | 1471491.6 | 8.773113 |
417 | 908574.9 | 187.66336 | 1471312.5 | 2022-05-25 | NA | NA | 1471500.1 | 8.556672 |
418 | 908566.5 | 183.03516 | 1471325.4 | 2022-05-26 | NA | NA | 1471508.5 | 8.345569 |
419 | 908558.4 | 178.52102 | 1471338.1 | 2022-05-27 | NA | NA | 1471516.6 | 8.139673 |
420 | 908550.5 | 174.11815 | 1471350.4 | 2022-05-28 | NA | NA | 1471524.5 | 7.938855 |
421 | 908542.7 | 169.82379 | 1471362.5 | 2022-05-29 | NA | NA | 1471532.3 | 7.742990 |
422 | 908535.2 | 165.63529 | 1471374.2 | 2022-05-30 | NA | NA | 1471539.8 | 7.551956 |
423 | 908527.8 | 161.55003 | 1471385.7 | 2022-05-31 | NA | NA | 1471547.2 | 7.365634 |
424 | 908520.6 | 157.56548 | 1471396.8 | 2022-06-01 | NA | NA | 1471554.4 | 7.183908 |
425 | 908513.6 | 153.67915 | 1471407.7 | 2022-06-02 | NA | NA | 1471561.4 | 7.006665 |
426 | 908506.8 | 149.88862 | 1471418.3 | 2022-06-03 | NA | NA | 1471568.2 | 6.833793 |
427 | 908500.1 | 146.19154 | 1471428.7 | 2022-06-04 | NA | NA | 1471574.9 | 6.665185 |
428 | 908493.6 | 142.58560 | 1471438.8 | 2022-06-05 | NA | NA | 1471581.4 | 6.500737 |
429 | 908487.3 | 139.06856 | 1471448.7 | 2022-06-06 | NA | NA | 1471587.7 | 6.340345 |
430 | 908481.1 | 135.63823 | 1471458.3 | 2022-06-07 | NA | NA | 1471593.9 | 6.183909 |
431 | 908475.1 | 132.29248 | 1471467.7 | 2022-06-08 | NA | NA | 1471599.9 | 6.031333 |
432 | 908469.2 | 129.02921 | 1471476.8 | 2022-06-09 | NA | NA | 1471605.8 | 5.882520 |
433 | 908463.4 | 125.84641 | 1471485.7 | 2022-06-10 | NA | NA | 1471611.6 | 5.737378 |
434 | 908457.8 | 122.74208 | 1471494.4 | 2022-06-11 | NA | NA | 1471617.2 | 5.595817 |
435 | 908452.4 | 119.71430 | 1471502.9 | 2022-06-12 | NA | NA | 1471622.6 | 5.457747 |
436 | 908447.1 | 116.76117 | 1471511.2 | 2022-06-13 | NA | NA | 1471627.9 | 5.323084 |
437 | 908441.9 | 113.88086 | 1471519.3 | 2022-06-14 | NA | NA | 1471633.1 | 5.191743 |
438 | 908436.8 | 111.07158 | 1471527.1 | 2022-06-15 | NA | NA | 1471638.2 | 5.063642 |
439 | 908431.9 | 108.33157 | 1471534.8 | 2022-06-16 | NA | NA | 1471643.1 | 4.938701 |
440 | 908427.0 | 105.65912 | 1471542.3 | 2022-06-17 | NA | NA | 1471648.0 | 4.816842 |
441 | 908422.3 | 103.05258 | 1471549.6 | 2022-06-18 | NA | NA | 1471652.7 | 4.697990 |
442 | 908417.8 | 100.51032 | 1471556.7 | 2022-06-19 | NA | NA | 1471657.2 | 4.582070 |
443 | 908413.3 | 98.03075 | 1471563.7 | 2022-06-20 | NA | NA | 1471661.7 | 4.469009 |
444 | 908408.9 | 95.61234 | 1471570.5 | 2022-06-21 | NA | NA | 1471666.1 | 4.358738 |
445 | 908404.7 | 93.25356 | 1471577.1 | 2022-06-22 | NA | NA | 1471670.3 | 4.251188 |
446 | 908400.5 | 90.95296 | 1471583.5 | 2022-06-23 | NA | NA | 1471674.5 | 4.146290 |
447 | 908396.5 | 88.70909 | 1471589.8 | 2022-06-24 | NA | NA | 1471678.5 | 4.043981 |
448 | 908392.5 | 86.52057 | 1471595.9 | 2022-06-25 | NA | NA | 1471682.5 | 3.944196 |
449 | 908388.7 | 84.38602 | 1471601.9 | 2022-06-26 | NA | NA | 1471686.3 | 3.846873 |
450 | 908385.0 | 82.30412 | 1471607.7 | 2022-06-27 | NA | NA | 1471690.0 | 3.751950 |
451 | 908381.3 | 80.27357 | 1471613.4 | 2022-06-28 | NA | NA | 1471693.7 | 3.659370 |
452 | 908377.7 | 78.29310 | 1471619.0 | 2022-06-29 | NA | NA | 1471697.3 | 3.569074 |
453 | 908374.2 | 76.36148 | 1471624.4 | 2022-06-30 | NA | NA | 1471700.8 | 3.481006 |