Die letzten Jahre haben erhebliche Fortschritte bei Analysemethoden für die Vorhersagemodellierung gebracht, selbst inmitten der weltweiten Auswirkungen von Covid-19-Impfstoffen.Gradient Boosted Trees und Deep Neural Networks haben sich als hochmoderne Methoden für die Zeitreihenvorhersage herauskristallisiert. Sie können die letzten überprüfen Sonderausgabe des Internationales Journal für Prognosen , einschließlich eines Papier von David Lander und mir über unsere Gewinnerlösung für den M5 Uncertainty-Wettbewerb, bei dem wir ausschließlich Gradient-Boosted-Bäume verwenden. Dieser Hinweis zeigt eine einfache Möglichkeit, die zu verwenden XGBoost-Add-In in JMP Pro für grundlegende Zeitreihenprognosen zu einem aktuellen Datensatz des US Center for Disease Control (CDC) im Zentrum einer Kontroverse um die Sicherheit von Covid-19-Impfstoffen.
In einer Serie von drei langen Blogbeiträgen Der ethische Skeptiker (TES) schlägt Alarm wegen des erheblichen Anstiegs der Krebs- und anderer Todesfälle seit der Einführung von Covid-19-Impfstoffen Anfang 2021. Er verwendet öffentlich verfügbare Daten der CDC, und eine seiner wichtigsten Grafiken ist die folgende:

Als Gegenargument, Jeffrey Morris (JM) analysiert die Daten erneut und kommt zu dem Schluss, dass das Signal bis zum 12. März 2022 nicht überzeugend erscheint. Es folgen zwei seiner Grafiken:

JM schreibt:
Der Schlüssel zur Bewertung seiner Behauptungen liegt natürlich darin, die Daten für 2022 zu sehen, wenn sie reifer werden und wir im Laufe des Sommers vollständigere Daten haben. Wenn sich der Anstieg der Krebstoten seit dem Tiefpunkt im Frühjahr 2021 im gesamten Jahr 2022 fortsetzt, würde dies seine Hypothese mehr stützen, aber wenn sich der Rückgang, der anscheinend Anfang 2022 begonnen hat, fortsetzt, würde dies die Behauptung eines inhärent höheren Überschusses schwächen Krebstodesfälle, die durch einen Anfang 2021 eingeführten Faktor ausgelöst wurden.
Wir haben jetzt die Daten vom Sommer 2022, die wir in JMP Pro analysieren können, um zu sehen, wo wir stehen. Die Daten liegen in zwei .csv-Dateien vor 2014-2019 und 2020-2022 . Letztere gelten als „vorläufig“, da laufend neue Daten hinzukommen und die letzten Wochen tendenziell ungewöhnlich niedrige Zahlen aufweisen, da sie noch nicht vollständig tabelliert sind. Die nachfolgenden Analysen basieren auf Daten, die am 22. November 2022 heruntergeladen wurden.
Um Fragen der Übersterblichkeit zu untersuchen, benötigen wir eine angemessene Schätzung der Grundsterblichkeit im Laufe der Zeit, die von den aktuellen Daten abgezogen werden kann, um die Diskrepanzen abzuschätzen. TES beschreibt a recht komplexer Arbeitsablauf Um dies zu erreichen, einschließlich einer 6-wöchigen Glättungsfunktion und eines „Pull-Forward-Effekts“, um Personen Rechnung zu tragen, deren Tod früher Covid-19 statt Krebs zugeschrieben wurde. Leider scheint TES keinen Code anzubieten, um seine Ergebnisse genau zu reproduzieren, obwohl die Schritte in seinem Ansatz sinnvoll erscheinen. JM schätzt die Basislinie als einen grundlegenden linearen Trend plus wöchentliche saisonale Mittel (die gelben bzw. blauen Linien in der linken Grafik oben). Er bietet bewundernswert R-Code , den ich erfolgreich ausführen und seine Ergebnisse reproduzieren konnte. Die Basislinien sowohl von TES als auch von JM sind effektiv Prognosen für 2020-2022 auf der Grundlage der Daten von 2014-2019, eine angemessene zeitliche Aufteilung angesichts des Beginns der Pandemie um Januar 2020.
Angesichts der großen jüngsten Erfolge von Gradienten-verstärkten Bäumen für die Zeitreihenvorhersage besteht ein attraktiver Ansatz für die Neuanalyse darin, XGBoost zur Vorhersage der Sterblichkeit für 2020-2022 mit den Daten von 2014-2019 zu verwenden und dies als Grundlage für die Bewertung der übermäßigen Todesfälle im Zeitraum 2020-2022 zu verwenden. Der Schlüssel zur Prognose mit XGBoost liegt in der Entwicklung geeigneter zeitbasierter Funktionen, die eine Verallgemeinerung in die Zukunft ermöglichen. Je nach Datenstruktur und Problemstellung sind viele Features möglich; siehe unsere IJF-Papier für einige Details in dieser Hinsicht. Um Vergleiche mit TES und JM zu erleichtern, verwende ich einen einfachen Ansatz mit nur zwei numerischen Merkmalen: Woche des Jahres und 156-Wochen-Verzögerungswerte. Ausgefeiltere Funktionen sind sicherlich möglich, obwohl diese beiden einen recht guten Job zu machen scheinen und eine schöne erste Illustration der Leistungsfähigkeit von XGBoost für Probleme wie dieses liefern. Die Ergebnisse werden unten im Graph Builder angezeigt:

Das obere Feld zeigt die Rohdaten in Blau und die XGBoost-Vorhersagen in Rot. Die einfachen XGBoost-Prognosen bestehen den „Augapfel“-Test, obwohl sie sehr wahrscheinlich durch sorgfältigere Modellierung verbessert werden könnten. Das mittlere Feld enthält die Residuen aus der Anpassung, und die Ergebnisse ab 2020 können als Schätzungen der überschüssigen Krebstodesfälle für jede Woche betrachtet werden. Wir sehen, dass die beobachteten Daten die Prognosen für die meisten Wochen nach Mitte 2021 übertreffen. Das untere Feld enthält die kumulativen Summen der Residuen, und die endgültige Zahl von 15.000 ist die ungefähre Schätzung der gesamten überschüssigen Todesfälle für den 1. Oktober 2022. Eine erste Schlussfolgerung aus dieser Analyse unterstützt die TES-Behauptung von übermäßigen Krebstoten ab Mitte 2021, was darauf hindeutet, dass die Impfstoffe eine kausale Rolle spielen könnten.
Die Schätzung von überzähligen Todesfällen ist ein komplexes Thema, und die vorstehende Analyse soll ein unkomplizierter Ausgangspunkt sein, der eher anschaulich als endgültig ist. Das CDC und UK OHID haben Seiten mit viel mehr Tiefe, und es gibt zahlreiche Analysen und Streitigkeiten online. Siehe zum Beispiel die Meinungsverschiedenheiten zwischen JM und Mathew Crawford auf einigen überraschenden Versicherungsdaten, die ein regionales Simpson-Paradoxon aufweisen, a eingezogenes Papier von Kostoff et al. und provokative Artikel von Norman Fenton und Kollegen und Steve Kirsch auf Daten aus Großbritannien. Es wird interessant sein zu sehen, welche Daten und Debatten die Wintermonate bringen, und zum Glück haben wir ein zuverlässiges Tool wie JMP Pro, um Daten effizient und direkt selbst zu analysieren.
Die Schritte zum Reproduzieren der XGBoost-Prognoseanalyse in JMP Pro sind wie folgt, die Sie verwenden können, um jetzt oder zu einem späteren Zeitpunkt, wenn mehr Daten verfügbar sind, Ihre eigenen weiteren Erkundungen durchzuführen:
- Laden Sie die beiden CDC-Tabellen herunter, öffnen und verketten Sie sie ( 2014-2019 und 2020-2022 ). Untergliedern Sie die Daten in „Jurisdiction of Occurrence“ == „United States“.Wählen Sie die letzten fünf Zeilen aus und klicken Sie dann auf Zeilen > Ausblenden und ausschließen. Ich habe die letzten fünf Zeilen ausgeschlossen und den 1. Oktober 2022 als Stichtag gewählt, basierend auf einer ersten Graph Builder-Anzeige der Rohdaten. Plotten Sie Ihre Daten immer!
- Wählen Sie Zeilen für die Jahre 2020-2022 und dann Zeilen > Zeilenauswahl > Namensauswahl in Spalte aus, um eine neue Variable mit dem Namen Val20 zu erstellen, die den Wert 0 für die Jahre 2014-2019 (nicht ausgewählt) und 1 für die Jahre 2020-2022 (ausgewählt) hat. Ändern Sie den Analysetyp dieser Variablen in „Kontinuierlich“, indem Sie mit der rechten Maustaste auf das rote Histogramm daneben im Bereich „Spalten“ ganz links klicken. Val20 wird als Validierungsspalte in XGBoost verwendet, um 2020-2022 während der Modellanpassung durchzuhalten.
- Die numerische Variable MMWR Week ist bereits in der Tabelle und ist unser erstes Feature. Um die zweite Funktion zu entwickeln, wählen Sie die Spalte Bösartige Neubildungen (C00-C97) aus, die die primäre Krebsreaktion darstellt.Klicken Sie in der Tabelle mit der rechten Maustaste auf diese Variable > Neue Formelspalte > Zeile > Lag Multiple. Wählen Sie 156 als Start- und Endwert und klicken Sie dann auf OK. Dadurch wird eine neue Spalte erstellt, die eine 3-Jahres-Lag-Variable ist. Wir verwenden eine Verzögerung von 3 Jahren, um den Prognosehorizont 2020-2022 vollständig mit beobachteten Werten von 2014-2019 ohne Leckage abzudecken.
- Installiere das XGBoost-Add-In .Klicken Sie auf Add-Ins > XGBoost > XGBoost. Geben Sie bösartige Neubildungen (C00-C97) als Y-Reaktion, MMWR-Woche und die neue 3-Jahres-Verzögerungsfunktion als X und Val20 als Validierung an. Klicken Sie auf OK, aktivieren Sie Autotune und dann Go. Die Ergebnisse sollten den folgenden ähneln.

- Klicken Sie im XGBoost-Ausgabefenster auf das rote Dreieck neben Modell 1 und klicken Sie auf Vorhersagen speichern. Dadurch werden Vorhersagen für alle Zeilen in der JMP-Tabelle gespeichert. Die für die Jahre 2020-2022 sind Prognosen, da wir diese Daten während des Trainings vorgehalten haben. Beachten Sie, dass das Diagramm rechts oben auch zeigt, dass die beobachteten Werte die Prognosen für 2020-2022 übertreffen, wie die Mehrheit der Punkte zeigt, die über der 45-Grad-Referenzlinie liegen.
- Wählen Sie in der Tabelle sowohl Bösartige Neubildungen (C00-C97) als auch die neue Vorhersagespalte aus. Rechtsklick > Neue Formelspalte > Kombinieren > Differenz. Dadurch wird eine neue Spalte mit Residuen erstellt. Wählen Sie diese neue Spalte aus und klicken Sie mit der rechten Maustaste darauf > Neue Formelspalte > Zeile > Kumulierte Summe.
- Ziehen Sie im Graph Builder das Enddatum der Woche auf X und die zuvor erstellten Variablen auf Y, um die zuvor gezeigte Anzeige zu erstellen.
Eine JMP-Tabelle mit allen Daten (Schritte 1-3) und eingebetteten XGBoost- und Graph Builder-Skripten (Schritte 4-7) ist beigefügt. Gerne können Sie mich zu den Themen hier kontaktieren.