Splunkで日本のCOVID19感染状況を予測する
@maroon さんから教えてもらった、StateSpaceForecastで予測してみる。
データは 先の記事で作成したもの。なお2020/04/10
までのデータ
やり方は @maroonさんのページを参照
基本クエリ
forecast.spl
| inputlookup covid_japan.csv
| rename pref as _pref
| foreach * [eval Check=max('<<FIELD>>')]
| sort 10 - Check
| fields - Check
| transpose 0 header_field=_pref column_name=time
| eval _time=strptime(time,"%m/%d")
| fields - time
| timechart span=1d max(*) as *
| eval holiday=if(strftime(_time,"%F")="2020-03-20" OR tonumber(strftime(_time,"%w")) % 6=0,1,0)
| inputlookup covid_japan.csv
| rename pref as _pref
| foreach * [eval Check=max('<<FIELD>>')]
| sort 10 - Check
| fields - Check
| transpose 0 header_field=_pref column_name=time
| eval _time=strptime(time,"%m/%d")
| fields - time
| timechart span=1d max(*) as *
| eval holiday=if(strftime(_time,"%F")="2020-03-20" OR tonumber(strftime(_time,"%w")) % 6=0,1,0)
三月の祝日を入れてみた。
...
| fit StateSpaceForecast "千葉県" "埼玉県" "東京都" "神奈川県" output_metadata=true holdback=7 forecast_k=14 conf_interval=90 period=7 specialdays=holiday into "_exp_draft_1cc33dfab1ab4f95a35048461c9016c3"
最大五つの予測なので関東、関西、その他で分けた
パラメータは
- holdback=7 予測に使用しない期間 過去7日
- forcast_k=14 予測期間 14日
- conf_interval=90 信頼区間 90%
- period=7 期間 7日
- specialdays=holiday 特別日フィールド
holiday
- into 作成したモデル
結果
東京都、神奈川県、千葉県、埼玉県
大阪府、兵庫県、京都府
愛知県、福岡県
- 機械学習が適用できる: 東京、神奈川、兵庫、愛知
- アルゴリズムの変更が必要: 千葉、埼玉、大阪、京都、福岡
別アルゴリズムで検証する
千葉県と埼玉県
chiba.spl
| inputlookup covid_japan.csv | rename pref as _pref
| foreach * [eval Check=max('<<FIELD>>')]
| search _pref="東京都" OR _pref="千葉県"
| transpose 0 header_field=_pref column_name=time
| eval _time=strptime(time,"%m/%d")
| eval time=strftime(_time,"%F")
| sort _time
| fields - time
| timechart span=1d last(*) as *
| predict algorithm=LLB 千葉県 as 予測 holdback=30 correlate=東京都
| inputlookup covid_japan.csv | rename pref as _pref
| foreach * [eval Check=max('<<FIELD>>')]
| search _pref="東京都" OR _pref="千葉県"
| transpose 0 header_field=_pref column_name=time
| eval _time=strptime(time,"%m/%d")
| eval time=strftime(_time,"%F")
| sort _time
| fields - time
| timechart span=1d last(*) as *
| predict algorithm=LLB 千葉県 as 予測 holdback=30 correlate=東京都
大阪府と京都府
| search _pref="大阪府" OR _pref="京都府"
に変更して| predict algorithm=LLB 京都府 as 予測 holdback=30 correlate=大阪府
福岡県
| inputlookup covid_japan.csv | rename pref as _pref
| foreach * [eval Check=max('<<FIELD>>')]
| search _pref="福岡県" OR _pref="大阪府"
| transpose 0 header_field=_pref column_name=time
| eval _time=strptime(time,"%m/%d")
| eval time=strftime(_time,"%F")
| sort _time
| fields - time
| timechart span=1d last(*) as *
| predict algorithm=LLB 福岡県 as 予測(大阪) holdback=30 correlate=大阪府
まとめ
とてもいやな予測になっているのに東京の予測が使えそうなのが・・・
大都市に引きずられている県と、時系列的に増加中な府県が別れた。
でも素人なので見方が違うかもしれない。ご意見よろしくお願いします
Author And Source
この問題について(Splunkで日本のCOVID19感染状況を予測する), 我々は、より多くの情報をここで見つけました https://qiita.com/toshikawa/items/595b8fa56b56b26726d9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .