iGEM TokyoTechのDryが2022にやったこと(Prediction編)

この投稿は,iGEM・Synthetic biology(合成生物学)・Japan Advent Calendar 2022の5日目です.

はじめに

こんばんは.iGEM TokyoTechのtax_freeです.この記事では,iGEM 2022でTokyoTechのDryがやったことを紹介します. DryのなかでもWikiの実装については,11日担当のiChemyが担当してくれたので,この記事ではModelingのパートを扱います. この記事はwikiを見ながら書いています.

Modelingが担当したこと

2022のプロジェクトは「デング熱の感染拡大を防止する」をゴールに設定して,それを実現するためにワクチンの配布を効率的に実行できるシステムの開発を行いました. WetとHardwareがデング熱の検査キットを開発して,Dry(=tax_freeさん)は開発したキットから診断データを吸い上げて将来のデング熱感染者推移を予測するプログラムを書く担当でした. デング熱の特性上,デング熱の感染者数だけを予測するのではなく,デング熱の4つのserotypeごとに予測することが要求されていました.

どうやって実装するか

この仕事を振られたのが5月末くらいだったので,そこから感染モデルと疫学を勉強するのは大変だなぁと思っていたので,できるだけその辺の知識が少ない方法で実装しようと考えてMLかLasso辺りを使うことにしました. そのために5億年ぶりにKerasとSKlearnを書いたりしてました.

学習に使うデータをどこから持ってくるか問題ですが,感染症を扱うので各国の保健当局のデータを漁りまくってシンガポールのデータを使うことにしました. シンガポール以外だと,十分な規模で血清型まで調べているデータがないので.

やったこと

まず,モデルの説明変数は気候に関する特徴量(月平均雨量,月平均気温,月最高気温,月最低気温)で,これらはシンガポール政府が発表しているデータを使用しました. シンガポールはデータがまとまっていて非常に嬉しい.目的変数のserotypeごとの感染者割合も同じくシンガポール政府が発表しているデータを使用しました.

使ったモデルは,Lasso,RandomForestRegressor,中間層が1層のニューラルネットワーク,LSTMです.ColabとKerasでいい感じに実装して結果を比べました.みんなで共有しやすいかなぁと思ってColab使ったけど結局私だけが書いてた.

色々パラメータをいじった結果,LSTMに6ヶ月のデータをまとめて食べさせた結果が一番高いスコアが出るモデルになりました.

結果を見て興味深かった点として,同じデング熱なのにserotypeごとに説明変数の影響度が大きく異なっていたことです.これは,先行研究でも示されていることで,これを実際のデータから確認できたことの意味は大きいと思っています.

やりたかったこと

MLに全部投げちゃったので,2023は感染症の数理モデルをたてて,感度解析とかもしてみたいなぁと思っています. そのための勉強会を準備中…

まとめ

iGEM TokyoTechのDryは,シンガポールのデータを使ってserotypeごとの感染者数割合を予測するコードを書いたぞ. 昨日の夜,このアドベントカレンダーを書くことを決めたので濃い内容が書けなかった.かなしい