オンライン授業

 もう動画はメチャクチャなんだが、いまさら修復も不可能ということで、とにかくアップロードした。1つ撃破。しゃべりは間延びしているが、ツマミを1.5倍速あたりにすると、おお、いい感じにしゃべれているじゃないか。ということは、普段の講義も1.5倍速でしゃべればちょうどいいわけか、って頭が1.5倍回らなければ無理な話だ。動画編集の技術を上げてごまかすしかないな。

 論文の直しは全く進んでいない。前に完璧主義の罠にハマって大スランプに陥ってからほとんど回復していない。持続力がなく、一文一文やっとの思いで直している。調子のいいときは数週間ですむものを半年くらいスタックしている状態で、こういうときに自宅待機で別のことを強制的にさせられるのは荒治療となるのかもしれない。

 

たまらずネット検索をしてみる。

「気持ちを切り替えればうまくいく」

アホか。

当たり前じゃ。

 

f:id:spidermite:20200417134740j:image

シャガ(アヤメ科)野市 2020.4

パワポ録音

遠隔講義のためパワーポイントの投影資料に説明を吹き込んだが、自分の鼻声やフニャフニャした抑揚、そのほか全体的なナレーション能力の低さに調子が狂う。えーっと、とか、うん、とか、でー、とか、無意識の発声もわかって恥ずかしい。

あと、わかったことがある。パワポの場合は、文字通り読み上げないと聞きづらい。対面式なら板書やリアクションでイメージを伝えることができるが、パワポの場合は細部までカッチリ作り込まないと伝わらなそうである。

こういう作り込みは苦手だ。疲れやすいのでこのようなことで消耗したくはない。アニメーション(丸印3つ)も苦戦して、あまり出来の良くない10分動画3本を撮るだけでくたくたになった。もうこれでいいわ。

もっとバーッとかパァーッとか言いたいけど動画では上滑りしていく。いっそ板書を撮影するパターンにするか。一番いいのは対面式が復活することだが、受講人数が多いので教室確保できるだろうか。

 

f:id:spidermite:20200416113412j:plain

コナラ 野市、2020-04-15

 

 

Memo:

1. よく見たらMacでファイルのカットアンドペーストってできないじゃん。

  (解決) Command + C  ⇒ Command + Option + V (わかりにくい!)

2. スマホで一部の画像だけ破損する理由は不明。調べてもこれという対処法はない。あきらめるしかない。使用予定の写真は何度も撮影する必要がある。

3. 失点を回復するための調べ物はしない。時間を浪費し生産効率を下げる。潔くあきらめること。

4. Macでは、フォルダごと外付けHDDに自動バックアップする適切な無料アプリはない。

 

 

カメラがない

電器屋に行ってもウェブカメラがない。会社、団体が大量に購入しているという。これじゃラボでテレワークできないじゃん(自宅には一応ある)。真っ暗な画面で会議に参加するのも面白くない。参加しなくていいかな?スマホ参加はできれば避けたい。講義用のペンタブのこと聞くのを忘れたけど見当たらなかったから、これもないかも。

 

しかし、大型の電器屋とは思えない閑散とした店内で、コロナの影響をここにも感じる。

 

f:id:spidermite:20200413133959j:image

南国市 2020/04/13

SIR model 勉強中

先日はSIRモデルについて書いたが、本県のコロナ動態を予測しようという大それたことを思った。素人考えであり、web上には引用しきれないほどの良質なサイトがあるので、きちんとした推定はそちらをごらんください。

例えば「COVID-19情報共有 — COVID19-Information sharing」。ただしwebではそれぞれの手法の妥当性について喧々轟々。私にはほとんど理解できません。

 

itokatsura.hatenablog.com

 

SIRモデルは三元の連立微分方程式で、

 \displaystyle \frac{dS}{dt} = - bSI 健常者

 \displaystyle \frac{dI}{dt} = bSI - rI 感染者(無症状含む)

 \displaystyle \frac{dR}{dt} = rI 回復者+死亡者

 

Web情報を見ると、パラメータの推定方法はいろいろあって目が回りそうである。後退差分などで求めるらしいが:

 \displaystyle b =\frac{S(t-1)-S(t)}{S(t)I(t)}

 \displaystyle r =\frac{R(t)-R(t-1)}{I(t)}

 

本県70万人、発症者数がとても少ないので (54例、4 Apr 2020)、bの式の分子はほぼ I(t)とみて、

 \displaystyle b =\frac{1}{700000}

r についてはこの段階で上の方法は難しいので、推奨隔離期間の2週間をもとに、

 \displaystyle r =\frac{1}{14}

 とした。

(感染者数はわからないので、まだ十分初期とみなして発症者数で推定した。)

 

S(0) = 700,000 人、I(0) = 0.1 人, R(0) = 0 としてRのdeSolveパッケージのodeでシミュレートすると、

f:id:spidermite:20200412161326j:plain

左が全体、右が最初のほうを拡大したものである。横軸は時間、縦軸は人口(指数表記)。青が健常者、赤が感染者、緑が回復者、水色は感染者数の実測値である。

 

うん。全然合っていないし、本県が崩壊するような気がするので少し修正を試みる。

 

 SIRモデルは感染者と接触した瞬間に健常者が一定の割合 b で感染するということだが、本県の山がちな地形を考えると、それぞれの地域が十分隔離されており、ある場所で増加した感染者のウイルスは他の地域になかなか広がらないかもしれない。その広がりにくさの効果を考えてパラメータaを導入し、

 

 \displaystyle \frac{dS}{dt} = - a \cdot bSI 健常者

 \displaystyle \frac{dI}{dt} = a \cdot bSI - rI 感染者

 \displaystyle \frac{dR}{dt} = rI 回復者

 a = 0.14

 

としてみる(本来はパラメータ推定するべきだが、実測値の傾向に合うように自分でゴリゴリと合わせる。)

 

f:id:spidermite:20200412162652j:plain

 

当てはまりはなかなかよさそうである(当てはめたのだから当たり前かもしれないが)。ピーク時には1e+05 (= 100,000人)の感染者がいるようである。ただし、無症状者を含んだ数字であることに注意。

 

基本再生産数は一人の感染者が瞬間的(この想定では一日)に感染させる人数

 \displaystyle R_0 = \frac{ab}{r} \cdot 700000 = 1.96 

で、コロナは一般に2から3と報告されているから、まず妥当な推定になっているのではないか。

 

ただし、ほんの少し初期値やパラメータをずらしただけで相当違う挙動をするので、本当は感度や確率を考える必要がありそうです。

 

結論

今回はかなりラフな見積もりをしましたが、当分は感染のリスクがあるので、自覚症状がなくても拡散を防ぐことは大事そうです。
 

 

コード

# SIR-kochi# SIR-kochi

# k.i 2020-04-12

 

library (deSolve)

 

# parameters


days <- 400   # simulation period

pop <- 700000  # population size

(b <- 1/pop)

(r <- 1/14)

(R0 <- b/r * pop)

# reported 2.28 (2.06–2.52) by Zhang et al. (2020) Int. J. Infectious Deseases

 

parameters <- c(b, r)

initial <- c (S = pop, I = 0.1, R = 0)

times <- seq (0, days, by = 1)
a <- 0.14 # degree of isolation

 

SIR <- function (t, state, parameters){
  with (as.list (c(state, parameters)),

  {

  dS <- - a * b * S * I

  dI <- a * b * S * I - r * I

  dR <- r * I

  list ( c(dS, dI, dR) )

  }

  )

}

out <- ode (y = initial, times = times, func = SIR, parms = parameters)

out1 <- as.data.frame (out)

 

# plot

xmax <- max(times)

ymax <- pop


matplot (x = times, y = out1[,2:4], 

type = "l", 

xlim = c(0, xmax), ylim = c(0, ymax),       

xlab = "Time", ylab = "Susceptible and Recovered", 

main = "SIR Model",       

lwd = 1, lty = 1, bty = "l",

col = c("blue","red","green")

)

# 以下略

 

 

 

オーバーシュート

 山中教授の動画を見たのですが、その中の「オーバーシュート」って何?と不勉強ながら思ってしまい、説明を聞いてみた。


「オーバーシュート」の定義とは? 専門家会議が示す

 

 2〜3日のうちに数が倍増というのは、どんなものでしょう。簡単な計算ですからやってみましょう。面倒な人は式をとばしてください。

 

 \frac{dx}{dt} = ax - bx

だたし、t は時間、x は個体数、a は瞬間出生数、b は瞬間死亡数。a, b >= 0。

 \frac{dx}{dt} = (a - b)x

 \frac{dx}{dt} = rx,  ただし r = a - b

 \frac{dx}{x} = r dt

 \int \frac{dx}{x} = \int r dt

 \log{x} = rt+C(積分定数)

 x = x_{0}e^{rt}, ただしx_{0} = e^{C}

 

 x_{0}が初期個体数、rが瞬間的な増加率を示します。r = a - b > 0 なら指数増殖です。個体数が倍になる時間は倍加時間と言われ、最後の式の左辺を 2x_{0}にすることで求まります。 x_{0}を約分して、

 2 = e^{rt}

 \log{2} = rt

より、

 t = (\log{2})/r = 0.693/r

あるいは

 r = (\log{2})/t = 0.693/t

 

つまり、3日で倍になるという場合、

 r = 0.693/3 = 0.23

2日の場合は0.35となります*1。これらの増殖率は農業で言えば温室ハウス内のハダニ、アブラムシなみの数字で、早急に防除しないととても太刀打ちできません。冒頭の定義で

欧米で見られるように爆発的な患者数の増加を示すが、2日ないし3日のうちに累積患者数が倍増する程度のスピードが継続的にみられる状態を指す

ということを述べていますが、確かに「倍増が見られる」状態になったらもう本当に手遅れです。目視できる前に防除しないといけないのですが、 有効な手段が「なにもしない」というのがもどかしいところです。

 逆に、オーバーシュートの限界値を設ければ(資料を見ていないのであるのかわかりません)、これまでの増え方からパラメータを推定してオーバーシュートまでの時間が求まるわけですね。

 星新一のSF『午後の恐竜』で、パノラマ視現象を見た科学者が「恐ろしい計算でやる気にもなりません」と言うわけですが、なんかそれを思い出してしまいます。

 

 

 

*1:一日を微小区間と見なしました。

動画撮影

昨今のウィルス情勢からオンライン授業が現実味を帯びてきており、家でほぼ置物と化しているiMacで初めて動画作りをしてみた。やってみると意外と楽しいもので、ついつい時間を忘れてしまった。でも、映り込んだ自分の顔が楽しんでいる顔じゃないのね。頬もたるんでいるし目もうつろ。これはやっぱりなにか根本的な部分で病んでいる感じがするので、もっと別の視点を持てなきゃならない。持たなきゃならない、という考え自体がそもそも硬直しているので「持てればいいなあ」くらいか。ともかく、動画作りは意外と楽しい、ということがわかっただけでも収穫だったよ。新しい趣味になりそうだ。そりゃユーチューバーも増えるわけだわ。

 

f:id:spidermite:20200401234958p:plain

ゆーちゅーばーになれる ◯ 3点