Quadrifolium's blog

元海外赴任サラリーマンの独り言です。

コロナとか機械学習とか。

私は最近Pythonの時系列予測ライブラリ「Darts」に興味を持っていた。

f:id:Quadrifolium:20210509194932p:plain

Time Series Made Easy in Python — darts documentation (unit8co.github.io)

そんなある日,コロナ陽性者数のデータが厚生労働省のウェブサイトからCSV形式で入手できることに気づいた。オープンデータ|厚生労働省 (mhlw.go.jp)

そこでコロナの将来予測をDartsで実装されているいろいろな機械学習モデルにやらせてみようと思ったのだ。

入手できるデータは2020/1/16~2021/5/6の合計477日間である。プロットすると以下のようになる。

f:id:Quadrifolium:20210509195359p:plain

これをtraining dataとvalidation dataに分割することにした。具体的には,2021/2/1を境界としてデータを2つに分割した。training dataは以下のように,第3波が収束しはじめたあたり(2月1日)で終わっている。

f:id:Quadrifolium:20210509195503p:plain

これにモデルをfitして,validation dataでの予測精度がよくなるようにhyperparameterをチューニングしていくわけだ。基本的な方針として,陽性者数の対数をとってモデルを学習し,予測結果のexpをとることで元のスケールに戻すことにした。

Dartsの色々なモデルを試してみたのだが,ARIMAやExponential Squeezing,RNN, GRU, Prophetなど大多数のモデルは全然結果がよくなかった。(Prophetはもっとできる子だと思っていたのだが残念。)たとえばTemporal Convolutional Networkの場合,

f:id:Quadrifolium:20210509195943p:plain

このようにスムーズに感染が収束する結果となってしまい,第四波を再現することはできなかった。また,これとは逆に,Theta Methodの場合,下のように,ものすごい高さの新たなピークを予言するというおかしな結果になってしまった。

f:id:Quadrifolium:20210509200038p:plain

ただ,N-BEATS, LSTM, Transformerの3つについては,そこそこそれっぽい結果が出たので,順に述べる。なおこれらは全てニューラルネットワーク系のモデルである。

まずN-BEATSの場合。

f:id:Quadrifolium:20210509210911p:plain

5/6までの第四波のデータをよく再現できている。これは否が応でも期待が高まる。そこでもっと先まで予測させてみると,こうなる。

f:id:Quadrifolium:20210509211054p:plain

何度も流行が発生するらしい。ふーん・・・。

次にLSTMの場合。Optunaを使い,かなり苦労してhyperparameterをチューニングした結果,どうにか第四波を再現できた。

f:id:Quadrifolium:20210509211408p:plain

そこで,もっと先まで予測させてみたところ・・・,こうなった。

f:id:Quadrifolium:20210509211434p:plain

先ほど同様に,何度も大流行が起きるという結果に。しかし毎回ピークの頂点から急にストーンと下がるところはかなり不自然だ。

最後に,Transformerの場合。

f:id:Quadrifolium:20210509211615p:plain

うーん。のこぎり刃みたいな不自然な周期波形だ・・・。

というわけで,いずれも微妙に不自然な感じの結果となった。もちろん,ワクチン接種の効果,変異株の影響,緊急事態宣言の効果をいずれも無視しているので,とても原始的なモデルではあるのだが。

そもそもTemporal Convolutional Networkのように第四波を完全否定するモデルもあったわけである。それを今回却下したのは,最新データで第四波が起きているのを我々が知っていたからだが,もしその知識がなければ,第四波が来るのかどうか判断できなかったということになる(モデルによって異なる予測が出るから)。結局,AIというのは,ありうる未来の可能性(シナリオ)を何通りか描き出すのが精いっぱいであり,その中から一つを選ぶのは人間,ということなのだろう。

グーグルのコロナ予測AIはこれまで予測を大きく外しまくっているし,北大の感染症専門家の予測も大きく外れたことは世間の知るところだ。というわけで,未来はほぼ誰にも予測できないってことだな。うん。