ケルマックマッケンドリック微分方程式
ここで上記常微分方程式におけるそれぞれのパラメーター変数の意味は次のようになるとのこと。
罹患していない個体が感染症に罹患し、感染性の人口へ遷移する率 | |
感染性の個体が感受性人口へ戻る率 | |
感染性の個体が除外された集団へと戻る率 |
免疫を獲得しないで回復する率を0と置いた場合は以下のようになる。
この変数tにおける上微分方程式を、ケルマックマッケンドリックのS-I-Rモデルと呼ぶらしい。
この微分方程式をRのパッケージのdeSolveを使って解いていく。
deSolveをインストールしていない場合はinstall.package(deSolve)でインストール。
インストールが終わったらlibraryで読み込みして以下のように入力。
インストールが終わったらlibraryで読み込みして以下のように入力。
sir20201215 <- 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)
)
)
}
with(
as.list(c(parameters, y)),
list(c
(S = -lambda * S * I,
I = lambda * S * I - gamma * I,
R = lambda * I)
)
)
}
次に以下のように入力。
ちなみに代入力している値は適当に考え出した数値(架空)なものなので本気にしないでください。
以下のように入力してsir20201215のデータを今度はout20201215に入力する。
ちなみに代入力している値は適当に考え出した数値(架空)なものなので本気にしないでください。
> y_init <- c(S = 0.998537432, I = 0.000213768, R = 0.001248782)
deSolveをインストールしてライブラリ読み込みを行うと“ode”というのが使えるようになる。
以下のように入力してsir20201215のデータを今度はout20201215に入力する。
> out20201215 <- ode(y = y_init, time = 1 : 120, func = sir20201215, parms = c(lambda = 0.995, gamma = 0.841305007))
> View(out20201215)
> summary(out20201215)
csvファイルの作成
> write.csv(out20201215, "out20201215.csv")
作成されたcsvファイルをout20201215_dataへ格納。
> out20201215_data <- read.csv(file = "out20201215.csv", header = TRUE, sep = ",")
> pairs(out20201215_data)
RstudioでSIRモデル@関連ページ
- 感染率による感染者数増加の比較
- 当サイトは主に物理に関する数学など、その他周辺も含めた少々ごった煮のウェブサイトです。 数学分野に関しての趣旨としては、通常のテキストでは割愛されてしまう内容などを詳しく記述し、さらには難しい説明をするのではなく、わかりにくい内容をいかにわかりやすく伝えるか━など、そういったウェブコンテンツならではの利便性と機動性を生かしたサイト作成を主眼としています。
- RstudioでSIRモデルA
- 当サイトは主に物理に関する数学など、その他周辺も含めた少々ごった煮のウェブサイトです。 数学分野に関しての趣旨としては、通常のテキストでは割愛されてしまう内容などを詳しく記述し、さらには難しい説明をするのではなく、わかりにくい内容をいかにわかりやすく伝えるか━など、そういったウェブコンテンツならではの利便性と機動性を生かしたサイト作成を主眼としています。
- Rでggplot2によるグラフ描画
- 当サイトは主に物理に関する数学など、その他周辺も含めた少々ごった煮のウェブサイトです。 数学分野に関しての趣旨としては、通常のテキストでは割愛されてしまう内容などを詳しく記述し、さらには難しい説明をするのではなく、わかりにくい内容をいかにわかりやすく伝えるか━など、そういったウェブコンテンツならではの利便性と機動性を生かしたサイト作成を主眼としています。