Hallo, alle miteinander. Wir betreten die Zielgerade: Heute ist der letzte Artikel darĂŒber, was Data Science fĂŒr die Vorhersage von COVID-19 bieten kann.
Der erste Artikel ist hier . Der zweite ist hier .
Heute sprechen wir mit Alexander Zhelubenkov ĂŒber seine Entscheidungen, die Ausbreitung von COVID-19 vorherzusagen.
Unsere Bedingungen sind wie folgt:
Gegeben : Kolossale datenwissenschaftliche FĂ€higkeiten, drei talentierte Spezialisten.
Finden : Möglichkeiten, die Ausbreitung von COVID-19 in einer Woche vorherzusagen.
Und hier ist die Entscheidung von Alexander Zhelubenkov
- Alexander, hallo. ErzĂ€hlen Sie uns zunĂ€chst ein wenig ĂŒber sich und Ihren Job.
- Ich arbeite bei Lamoda als Leiter der Gruppe Datenanalyse und maschinelles Lernen. Wir beschĂ€ftigen uns mit einer Suchmaschine und Algorithmen zur Einstufung von Produkten im Katalog. Data Science interessierte mich, als ich an der Moskauer Staatlichen UniversitĂ€t an der FakultĂ€t fĂŒr Computermathematik und Kybernetik studierte.
- Kenntnisse und FĂ€higkeiten haben sich als nĂŒtzlich erwiesen. Sie haben ein QualitĂ€tsmodell erstellt: Einfach genug, um nicht ĂŒberpasst zu werden. Wie haben Sie das geschafft?
- Das Problem der Vorhersage von Zeitreihen ist gut untersucht, und es ist verstĂ€ndlich, welche AnsĂ€tze darauf angewendet werden können. In unserer Aufgabe sind die Stichproben im Vergleich zum maschinellen Lernen recht klein - mehrere tausend Beobachtungen in den Trainingsdaten und nur 560 Vorhersagen mĂŒssen fĂŒr jede Woche gemacht werden (Prognose fĂŒr 80 Regionen fĂŒr jeden Tag der nĂ€chsten Woche). In solchen FĂ€llen werden gröbere Modelle verwendet, die in der Praxis gut funktionieren. TatsĂ€chlich endete ich mit einer ordentlichen Grundlinie.
Als Modell habe ich die GradientenverstĂ€rkung bei BĂ€umen verwendet. Möglicherweise stellen Sie fest, dass die Standardmodelle aus Holz nicht wissen, wie Trends vorhergesagt werden können. Wenn wir jedoch zu inkrementellen Zielen wechseln, können Sie den Trend vorhersagen. Es stellt sich heraus, dass Sie dem Modell beibringen mĂŒssen, um vorherzusagen, um wie viel sich die Anzahl der FĂ€lle im Vergleich zum aktuellen Tag in den nĂ€chsten X Tagen erhöhen wird, wobei X von 1 auf 7 der Prognosehorizont ist.
Ein weiteres Merkmal war, dass die QualitĂ€t der Vorhersagen des Modells auf einer logarithmischen Skala bewertet wurde, dh die Strafe bestand nicht darin, wie sehr Sie sich geirrt hatten, sondern darin, wie oft sich die Vorhersagen des Modells als ungenau herausstellten. Dies hatte folgenden Effekt: Die endgĂŒltige QualitĂ€t der Prognosen fĂŒr alle Regionen wurde stark von der Genauigkeit der Prognosen in kleinen Regionen beeinflusst.
ZeitplĂ€ne fĂŒr jede Region waren bekannt: die Anzahl der FĂ€lle an jedem der Tage in der Vergangenheit und buchstĂ€blich einige qualitative Merkmale wie die Bevölkerung und der Anteil der Stadtbewohner. Im Grunde ist das alles. Es ist schwierig, solche Daten neu zu trainieren, wenn es normal ist, die Validierung durchzufĂŒhren und festzustellen, wo es sich lohnt, im Boosting-Training anzuhalten.
- Welche GradientenverstÀrkungsbibliothek haben Sie verwendet?
- Ich bin auf die altmodische Weise - XGBoost. Ich kenne LightGBM und CatBoost, aber fĂŒr eine solche Aufgabe scheint mir die Wahl nicht so wichtig zu sein.
- Okay. Aber immer noch das Ziel. Was hast du fĂŒr das Ziel genommen? Ist dies der Logarithmus der Beziehung von zwei Tagen oder der Logarithmus des Absolutwerts?
- Als Ziel habe ich den Unterschied in den Logarithmen der Anzahl der FĂ€lle genommen. Wenn es heute beispielsweise 100 FĂ€lle gab und morgen 200, dann mĂŒssen Sie bei der Vorhersage eines Tages im Voraus lernen, den Logarithmus des zweifachen Wachstums vorherzusagen.
Im Allgemeinen ist bekannt, dass die Ausbreitung des Virus in den ersten Wochen exponentiell zunimmt. Das heiĂt, wenn wir Inkremente auf einer logarithmischen Skala als Ziele verwenden, ist es tatsĂ€chlich möglich, jeden Tag eine Konstante multipliziert mit dem Prognosehorizont vorherzusagen. Gradient Boosting ist ein vielseitiges Modell und kommt mit solchen Aufgaben gut zurecht.
Modellvorhersagen fĂŒr die dritte, letzte Woche des Wettbewerbs
- Welche Trainingsstichprobe haben Sie genommen?
- Um Regionen vorherzusagen, habe ich Informationen zur Verteilung nach LĂ€ndern genommen. Es scheint, dass dies geholfen hat, da sich irgendwo bereits das starke Wachstum verlangsamte und die LĂ€nder begannen, das Plateau zu betreten. In den Regionen Russlands habe ich die Anfangszeit unterbrochen, als es einige EinzelfĂ€lle gab. FĂŒr das Training habe ich Daten vom Februar verwendet.
- Wie werden Sie validiert?
- Wie bei Zeitreihen zeitlich validiert und ĂŒblich. Ich habe die letzten zwei Wochen fĂŒr den Test verwendet. Wenn wir die letzte Woche vorhersagen, verwenden wir fĂŒr das Training alle Daten davor. Wenn wir das vorletzte vorhersagen, verwenden wir alle Daten ohne die letzten zwei Wochen.
- Hast du etwas anderes benutzt? Einige Tage, 10. oder 20. Tag, also von dort?
- Die wichtigsten Faktoren, die wichtig waren, waren unterschiedliche Statistiken: Durchschnittswerte, Median, Anstieg in den letzten N Tagen. FĂŒr jede Region kann sie separat berechnet werden. Sie können dieselben Faktoren auch separat addieren und nur fĂŒr alle Regionen gleichzeitig berechnen.
- Frage zur Validierung. Suchen Sie mehr nach StabilitÀt oder Genauigkeit? Was war das Kriterium?
- Ich habe mir die durchschnittliche QualitĂ€t des Modells angesehen, die in den letzten zwei Wochen zur Validierung ausgewĂ€hlt wurde. Beim HinzufĂŒgen einiger Faktoren haben wir ein derartiges Bild erhalten, dass bei einer festen Boosting-Konfiguration und nur beim Variieren des Random-Seed-Parameters die QualitĂ€t der Vorhersagen stark springen kann - das heiĂt, es wurde eine groĂe Varianz erhalten. Um nicht umzuschulen und ein stabileres Modell zu erhalten, habe ich im endgĂŒltigen Modell letztendlich keine derart zweifelhaften Faktoren verwendet.
- Woran erinnerst du dich? Ăberrascht? Eine Funktion, die funktioniert hat, oder eine Art Boosting-Trick?
- Ich habe zwei Lektionen gelernt. Als ich mich entschied, zwei Modelle zu mischen: linear und verstĂ€rkend, und gleichzeitig fĂŒr jede Region, wurden die Koeffizienten, mit denen diese beiden Modelle aufgenommen wurden (sie erwiesen sich als unterschiedlich), einfach in der letzten Woche festgelegt - das heiĂt fĂŒr sieben Tage. TatsĂ€chlich habe ich 7 Tage lang 1-2 Koeffizienten fĂŒr jede Region festgelegt. Aber die Entdeckung war folgende: Die Prognose erwies sich als viel schlechter als wenn ich diese Einstellungen nicht vorgenommen hĂ€tte. In einigen Regionen wurde das Modell stark umgeschult, und infolgedessen erwiesen sich die darin enthaltenen Prognosen als schlecht. In der dritten Phase des Wettbewerbs habe ich beschlossen, dies nicht zu tun.
Und der zweite Punkt: Es scheint, dass die Anzahl der Tage von Anfang an als Merkmal nĂŒtzlich sein sollte: von der ersten kranken Person, von der zehnten kranken Person. Ich habe versucht, sie hinzuzufĂŒgen, aber bei der Validierung hat sich die Situation verschlechtert. Ich habe es so erklĂ€rt: Die Verteilung der Werte in Stichproben verschiebt sich mit der Zeit. Wenn Sie am 20. Tag nach Beginn der Ausbreitung des Virus studieren, wird die Vorhersage der Verteilung der Werte dieser Funktion sieben Tage dauern, und möglicherweise können solche Faktoren nicht verwendet werden Vorteil.
- Sie sagten, dass der Anteil der Stadtbevölkerung eine Rolle spielt. Und was noch?
- Ja, der Anteil der stĂ€dtischen Bevölkerung sowohl fĂŒr LĂ€nder als auch fĂŒr Regionen Russlands wurde immer verwendet. Dieser Faktor hat die QualitĂ€t der Prognosen durchweg geringfĂŒgig verbessert. Daher habe ich auĂer der Zeitreihe selbst nichts anderes in das endgĂŒltige Modell aufgenommen. Versucht, Sonstiges hinzuzufĂŒgen, hat aber nicht funktioniert.
- Was ist Ihre Meinung: SARIMA ist das letzte Jahrhundert?
- Modelle des autoregressiven - gleitenden Durchschnitts - sind schwieriger einzurichten, und es ist teurer, zusĂ€tzliche Faktoren hinzuzufĂŒgen, obwohl ich sicher bin, dass mit (S) ARIMA (X) -Modellen gute Vorhersagen getroffen werden können. aber nicht so gut wie beim Boosten.
- Und fĂŒr einen lĂ€ngeren Zeitraum als eine Woche können Sie Vorhersagen treffen. Was denken Sie?
- Es wÀre interessant. Die Organisatoren hatten zunÀchst die Idee, langfristige Prognosen zu sammeln. Der Monat scheint ein Wendepunkt zu sein, an dem Sie immer noch die AnsÀtze ausprobieren können, die ich gemacht habe.
- Was glaubst du wird als nÀchstes passieren?
- Wir mĂŒssen das Modell neu bauen, schauen Sie. Meine Lösung finden Sie ĂŒbrigens hier:
github.com/Topspin26/sberbank-covid19-challenge Die
neuesten Nachrichten zu COVID Data Science aus der internationalen Gemeinschaft finden Sie unter https://www.kaggle.com/tags/covid19 . Und natĂŒrlich laden wir Sie zum # coronavirus-Kanal unter opendatascience.slack.com ein (eingeladen von ods.ai ).