RstudioでSIRモデル

感染率による感染者数増加の比較

感染率λの違いによるIの比較

感染率の違いによる感染者数の増減比較

感染率の違いによる感染者数の増減をグラフ化してどのようになるかを比較してみる。
感染率を0.9と0.4にした場合の比較で今回は変数S、I、Rをそれぞれ簡単にしてRを0とした。

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

感染率90%の場合

sir2021_90 <- function(t, y, parameters){
with(
as.list(c(parameters, y)),
list(c
(S = -lambda * S * I,
I = lambda * S * I - gamma * I,
R = lambda * I)
)
)
}

y_init <- c(S = 0.999, I = 0.001, R = 0)

out2021_90 <- ode(y = y_init, times = 1:50, func = sir2021_90, parms = c(lambda = 0.9, gamma = 0.1))

write.csv(out2021_90, "out2021_90.csv")

out2021_90_csv <- read.csv("out2021_90.csv",header=TRUE,sep=",")

out2021_90_data <- read.csv(file = "out2021_90.csv", header = TRUE, sep = ",")

out2021_90_data_1 <- as.data.frame(out2021_90_data)

with(out2021_90_data_1, {
plot(time, S, type = "l", col = "blue", xlab = "経過日数", ylab = "人口")
lines(time, I, col = "red")
lines(time, R, col = "green")
})
legend("right", c("感染人口", "感染者", "回復者"), col = c("blue", "red", "green"), lty = 1, bty = "n")

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

感染率40%の場合

sir2021_40 <- function(t, y, parameters){
with(
as.list(c(parameters, y)),
list(c
(S = -lambda * S * I,
I = lambda * S * I - gamma * I,
R = lambda * I)
)
)
}

y_init <- c(S = 0.999, I = 0.001, R = 0)

out2021_40 <- ode(y = y_init, times = 1:50, func = sir2021_40, parms = c(lambda = 0.4, gamma = 0.1))

write.csv(out2021_40, "out2021_40.csv")

out2021_40_csv <- read.csv("out2021_40.csv",header=TRUE,sep=",")

out2021_40_data <- read.csv(file = "out2021_40.csv", header = TRUE, sep = ",")

out2021_40_data_1 <- as.data.frame(out2021_40_data)

with(out2021_40_data_1, {
plot(time, S, type = "l", col = "blue", xlab = "経過日数", ylab = "人口")
lines(time, I, col = "red")
lines(time, R, col = "green")
})
legend("right", c("感染人口", "感染者", "回復者"), col = c("blue", "red", "green"), lty = 1, bty = "n")

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

 

感染率40%の場合の感染者数の推移をグラフ化。

with(out2021_40_data_1, plot(time, I, pch = 19, col = "red", ylim = c(0, 1)))

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

90%の場合に比べると山の形がなだらかで分散が大きいように見える。

2つの感染者数推移比較

感染力90%の場合と40%の場合の感染者数推移を比較してみる。

with(out2021_50_data_1, plot(time, I, pch = 19, col = "red", ylim = c(0, 1)))
with(out2021_90_data_1, lines(time, I, col = "red"))

次のように出力される。

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

感染力を比較的抑えることができると上のプロット図のように一日当たりの感染者数を抑えられる。
感染力抑止によって感染者流向のピークを下げさせて感染者数の増加の速さを抑制し感染拡大を抑止することができるということがわかる。


感染率による感染者数増加の比較関連ページ

RstudioでSIRモデルA
当サイトは主に物理に関する数学など、その他周辺も含めた少々ごった煮のウェブサイトです。 数学分野に関しての趣旨としては、通常のテキストでは割愛されてしまう内容などを詳しく記述し、さらには難しい説明をするのではなく、わかりにくい内容をいかにわかりやすく伝えるか━など、そういったウェブコンテンツならではの利便性と機動性を生かしたサイト作成を主眼としています。
Rでggplot2によるグラフ描画
当サイトは主に物理に関する数学など、その他周辺も含めた少々ごった煮のウェブサイトです。 数学分野に関しての趣旨としては、通常のテキストでは割愛されてしまう内容などを詳しく記述し、さらには難しい説明をするのではなく、わかりにくい内容をいかにわかりやすく伝えるか━など、そういったウェブコンテンツならではの利便性と機動性を生かしたサイト作成を主眼としています。
RstudioでSIRモデル@
当サイトは主に物理に関する数学など、その他周辺も含めた少々ごった煮のウェブサイトです。 数学分野に関しての趣旨としては、通常のテキストでは割愛されてしまう内容などを詳しく記述し、さらには難しい説明をするのではなく、わかりにくい内容をいかにわかりやすく伝えるか━など、そういったウェブコンテンツならではの利便性と機動性を生かしたサイト作成を主眼としています。

ホーム RSS購読 サイトマップ
TOP 線形代数 ベクトル解析 慣性モーメント 解析力学 微分方程式 NEへの道しるべ