彼らが言うように、2021年にCOVID-19がまだ議題に残っていることはすでに明らかです。これは、当然のことながら疑問が生じることを意味します。発生率の増加と減少を予測するツールはありますか、1週間、1か月、さらには1年でイベントの発生を予測できますか?それを理解しましょう。
与えられたもの:巨大なデータサイエンス能力、3人の才能あるスペシャリスト。
見つける:1週間先のCOVID-19の広がりを予測する方法。
解決策:
実際には、3つの解決策があります。出版物に従ってください。そして今日は、そのうちの1つについてVladislavKramarenkoと話し合います。彼は、今後1週間の全世界で最も正確な予測*を構築できるモデルを見つけました。
-Vladislav、こんにちは。あなたが何をしたかを詳しく話し合いましょう:何が起こったのか、何がまだ取り組んでいるのか、どんな間違いがあったのか、そしてそれらが将来どのように考慮されるのか。主なことから始めましょう。教えてください。どの機械学習アルゴリズムを使用しましたか?
-勾配ブースティングで停止しました。難しさは、グラデーションブーストが異なり、異なる画像を提供することでした。私は最高のアダブーストスコアを持っていて、Catboostがそれに続きました。
-つまり、あなたは別のものを試しました、そしてadaboostは最高に行きましたか?
- はい。最高はアダブーストでした、それは最も穏やかな予測を与えました。すべてが急速に成長していることがわかった場合、それはアルゴリズムのためにすべてが急速に成長し続けることを意味し、他のブーストが予測をどこかの雲に追いやっていました。しかし、adaboostは最も保守的でした。
-モデルをどのようにトレーニングしましたか?
-このような問題の最大の難しさは、モデルをトレーニングする正しい方法を見つけること、つまり、トレーニングとテストサンプルの正しい選択を行うことです。テストサンプルとして1日を取り、すべてのデータをトレーニングデータとテストデータに分割すると、1日だけを予測することがわかります。難しいことではありません。トレーニングとテストの日数をランダムに分散させるだけで、1日を予測できます。私はすぐにこのアイデアを破棄して先週を予測しました。つまり、先週を切り取り、残りの日をトレーニングデータに割り当て、先週の毎日を正直に予測しました。つまり、次のデータを取得しました。予測のために一週間前。しかし、ここでも困難が生じました。 2週目を完全に予測するモデルを作成し、これに役立つ多くの機能を追加しましたが、モデルは、これは、2週目を非常によく予測し、3週目を非常に不十分に予測します。機械学習を使用せずに手動でデータを配置する方が簡単であり、そのようなモデルの方が優れているのではないかと考え始めています。
-数字を目で見て、さらに線を引くという話ですか?
-毎月の統計を分析します。このデータは、いくつかの曲線によく適合します。これらの統計はすべてかなり奇妙であり、すべての病気の人がそれに入るわけではありません。したがって、統計は症例数を反映していません。そのような作業にSEIRモデル(疫学モデル)を使用している人がいることを私は知っています。私も使ってみようと思ったのですが、病気の人の数を正確に知る必要があると思いましたが、わかりません。このモデルは、一人が何人感染し、何人が病気になるかに関係しています。このデータがわからない場合、それを処理することはできません。私の意見では、そのようなモデルは誤った予測を与えるでしょう。*
*次の記事でNikolaiKobaloを使用したSEIRモデルの長所と短所を分析
します。これを行う人は、最初にコンピューターを使用してすべてを実行し、次に手動で編集して修正する必要があると思います。マシンは時々あらゆる種類のナンセンスを出します。たとえば、彼女は、中国では症例数が長い間増加していないが、同時に他の地域では長い間何も増加しておらず、その後爆発的な増加が始まったと見ています。そしてこれに基づいて、マシンは同じことが中国に対しても行われなければならないことを「理解」します。中国は実際にはすでにプラトーを持っています。そして彼は80kを与え始めませんが、突然100万を残します。私はこれをモデルの1つに入れました。
-そして、従来のモデルはどうですか?それらについてどう思いますか? ARIMAのような時系列分析?
--ARIMAを数回試しましたが、勾配ブースティングよりも良い結果は得られませんでした。 ARIMAはどのようなプロセスでも説明できるように思われますが、必ずしもうまく機能するとは限りません。たくさんのパラメータもあり、プロセスは静止している必要があります。統合したとしても、定常的なプロセスが実現するのは事実ではありません。
-木についての質問。木は外挿しません。どうやって彼らに外挿させるのですか?
-これを行うには、感染した総数ではなく、他の何かを予測する必要があります。合計を予測すると、モスクワのような一部の地域では、木がトレーニングサンプルで見た以上の予測を行うことができないため、予測できないことは明らかです。今日と前日の病人の比率の対数を取りました。これらの数値(0.3、1、おそらく2)はトレーニングサンプルに含まれており、モデルが取得されます。 500倍の急激な増加を予測できないことは明らかです。このモデルは力を超えています。しかし、たとえば、今日のゲインと昨日のゲインの比率について話している場合、数値は約1になり、サンプルではそのような値が異なります-この場合、モデルは完全に予測します。
-最終モデルのターゲットとして、昨日の病人に対する今日の病人の比率の対数を取りましたか?
- はい。また、デルタの比率を試してみました。「今日の成長量」を「昨日の成長量」で割ったものです。それもうまくいきました。しかし、「総数」と「1日あたりの症例数の増加」はうまくいきませんでした。
-説明変数として何を取りましたか?
-私は前に約4日かかりました。出来た。人口や喫煙者数などの情報を取りました。多くの異なる統計を追加しました。そして、私は1週間かけて、どの要因が増加し、どの要因が増加しないかを調べました。しかし、状況は大きく変化しており、これらの要因は安定しておらず、むしろランダムであることが判明しました。
-以前の値とは別に、何が安定していることがわかりましたか?
-影響を受けた最も重要なことは、最初の病気からの日数、10、100日でした...最初は最初の感染からの日数を取りましたが、これはあまり良くないと思いました。感染者はすぐに隔離され、急激な上昇にはつながりません。したがって、私は10の感染を取り始め、その後100と1000の感染に落ちました。
このタスクの第3段階で、50と500の感染を追加しましたが、これは私に残酷な冗談を言いました。モデルは大幅にオーバートレーニングされ、来週は予測が不十分になり始めました。
さらに重要なデータとして、自己隔離インデックスを試しました。ある週にはそれは力強い増加を示し、ある週にはそれはまったく問題ではありませんでした。私は医療のレベルに関するデータを使用しました:医師に転送される金額、国内の一般的な医師の数、高齢者の数など。これは、死亡率を予測するために行われました。
解決したい様々な問題がありました。自己隔離を例にとってみましょう。自己隔離のレベルは明日には影響しませんが、2週間後の日付に影響することに気づきました。そして、自己隔離が症例数に影響を与えるというのは事実ではありません。逆に、症例数が自己隔離のレベルに影響を与える可能性があります。
, - Casual Inference in ML ( https://ods.ai/tracks/causal-inference-in-ml-df2020/) – 2020 – -, - COVID-19 , .. , .
-この問題に関連するのではなく、MLモデル全般についてどのような結論を下しますか?あなたの声明は、モデルを「世話する」必要があるように聞こえ
ます...-コンピュータが人間よりもはるかにうまく解決するタスクがあります。たとえば、私が参加した最後の大会はロシア語の統一国家試験でした。私のモデルは、私よりもこれらのタスクで優れていました。しかし、これはワープロです...
サンクトペテルブルクとMSCになぜそんなに多くの病気の人がいるのですか?私たちは例外なくテストされています。他の地域では、彼らがそれほど大規模にテストしているとは言いません。たとえば、統計には100人が含まれます。これは何を意味するのでしょうか? 3週間前に彼らは感染しました。その結果、症例数ではなく、他の数値を予測します。そして、この数字が症例数とどのように相関しているかはあまり明確ではありません。理解できない数字を与えると、コンピュータは正常に何も予測できません。
誰が気にしますか、これが私の解決策です:https: //github.com/vlomme/sberbank-covid19-forecast-2020
, – 10, 100, 1000 (, , ).
. . , , , , , 2021.
, , .
* «Forecast the Global Spread of COVID-19»