Ich habe vor kurzem angefangen, für eine Tuberkulose-Klinik zu arbeiten. Wir treffen uns regelmäßig, um die Anzahl der TB-Fälle, die wir derzeit behandeln, die Anzahl der durchgeführten Tests usw. zu besprechen. Ich möchte mit der Modellierung dieser Zählungen beginnen, um nicht nur zu erraten, ob etwas ungewöhnlich ist oder nicht. Leider habe ich nur sehr wenig Zeitreihen-Training absolviert und den größten Teil meiner Erfahrung mit Modellen für sehr fortlaufende Daten (Aktienkurse) oder sehr viele Fälle (Influenza). Wir beschäftigen uns jedoch mit 0-18 Fällen pro Monat (Mittelwert 6,68, Median 7, Var 12,3), die wie folgt verteilt sind:
[Bild verloren zu den Nebeln der Zeit]
[Bild von einem Gruen gefressen]
Ich habe ein paar Artikel gefunden, die sich mit Modellen wie diesen befassen, aber ich würde mich sehr über Vorschläge von Ihnen freuen - sowohl für Ansätze als auch für R-Pakete, mit denen ich diese Ansätze implementieren könnte.
BEARBEITEN: Die Antwort von mbq hat mich gezwungen, genauer darüber nachzudenken, was ich hier frage. Bei den monatlichen Zählungen hatte ich zu viel Hunger und verlor den eigentlichen Fokus der Frage. Was ich wissen möchte, ist: Spiegelt der (ziemlich sichtbare) Rückgang von beispielsweise 2008 an einen Abwärtstrend in der Gesamtzahl der Fälle wider? Mir scheint, dass die Anzahl der monatlichen Fälle von 2001 bis 2007 einen stabilen Prozess widerspiegelt. vielleicht etwas saisonabhängig, aber insgesamt stabil. Von 2008 bis heute scheint sich dieser Prozess zu ändern: Die Gesamtzahl der Fälle nimmt ab, auch wenn die monatlichen Zahlen aufgrund von Zufälligkeit und Saisonalität auf und ab schwanken könnten. Wie kann ich testen, ob sich der Prozess tatsächlich geändert hat? Und wenn ich einen Rückgang feststellen kann,
quelle
Antworten:
Um den historischen Trend abzuschätzen, würde ich ein Spiel mit Trend- und Saisonkomponenten verwenden. Beispielsweise
Dann erhalten
summary(fit)
Sie einen Test der Signifikanz der Trendänderung und die Darstellung gibt Ihnen einige Konfidenzintervalle. Hierbei wird davon ausgegangen, dass die Beobachtungen unabhängig sind und die bedingte Verteilung Poisson ist. Da sich der Mittelwert mit der Zeit reibungslos ändern kann, sind dies keine besonders starken Annahmen.Prognosen sind schwieriger, da Sie den Trend in die Zukunft projizieren müssen. Wenn Sie bereit sind, eine lineare Extrapolation des Trends am Ende der Daten zu akzeptieren (was sicherlich zweifelhaft, aber wahrscheinlich für einige Monate in Ordnung ist), verwenden Sie
So zeigen Sie die Vorhersagen in demselben Diagramm an:
Sie können die ungewöhnlichen Monate erkennen, indem Sie nach Ausreißern in den (Abweichungs-) Residuen der Anpassung suchen.
quelle
Vielleicht möchten Sie einen Blick auf strucchange werfen :
PS. Schöne Grafik;)
quelle
Braucht es wirklich ein fortgeschrittenes Modell? Basierend auf dem, was ich über TB weiß, handelt es sich bei den Infektionen, falls keine Epidemie vorliegt, um stochastische Vorgänge. Daher sollte die Zählung von Monat N nicht mit der Zählung von Monat N-1 korreliert werden. (Diese Annahme können Sie mit Autokorrelation überprüfen). In diesem Fall kann es ausreichend sein, nur die Verteilung der monatlichen Zählungen zu analysieren, um zu entscheiden, ob einige Zählungen signifikant höher als normal sind.
Auf der anderen Seite können Sie nach Korrelationen mit anderen Variablen suchen, z. B. mit der Jahreszeit, dem Reiseverkehr oder allem, was Sie sich vorstellen können, was möglicherweise korreliert. Wenn Sie so etwas finden würden, könnte es für eine gewisse Datennormalisierung verwendet werden.
quelle
Oft werden solche Krankheitsdaten mit einem verallgemeinerten linearen Modell durchgeführt, da es sich nicht unbedingt um eine großartige Anwendung der Zeitreihenanalyse handelt - die Monate korrelieren oft nicht alle miteinander.
Wenn ich diese Daten erhalten hätte, wäre dies das, was ich tun würde (und tatsächlich mit ähnlichen Daten getan hätte):
Erstellen Sie eine "Zeit" -Variable, die genauer als "Monate seit dem 1.1.2000" beschrieben wird, wenn ich Ihre Daten korrekt ansehe. Dann würde ich ein allgemeines lineares Modell in R unter Verwendung der Poisson-Verteilung (oder des negativen Binomials) und einer Protokollverknüpfung mit ungefähr der folgenden Form ausführen:
log(Counts) = b0 + b1*t + b2*(t^2) + b3*cos(2pi*w*t) + b4*sin(2pi*w*t)
Wobei t die oben beschriebene Zeit ist und w 1/365 für eine jährliche Krankheit wie die Grippe ist. Im Allgemeinen ist es 1 / n, wobei n die Länge des Krankheitszyklus ist. Ich weiß nicht sofort, was es für TB ist.
Die beiden Zeittrends zeigen Ihnen - außerhalb der normalen saisonalen Schwankungen -, ob Sie bedeutende zeitliche Schwankungen haben.
quelle
Sie können ein Tukey Control-Diagramm auf die Daten anwenden .
quelle
Sie können versuchen, Ihre Daten mit einem Dynamic Generalized Linear Model (DGLM) zu modellieren. In R können Sie diese Art von Modellen mit den Paketen sspir und KFAS anpassen. In gewissem Sinne ähnelt dies dem von Rob vorgeschlagenen Gam-Ansatz, mit der Ausnahme, dass anstelle der Annahme, dass der logarithmische Mittelwert der Poisson-Beobachtungen eine glatte Funktion der Zeit ist, davon ausgegangen wird, dass er einer stochastischen Dynamik folgt.
quelle
dlm
Paket wärmstens empfehlen . DLMs sind nicht so einfach zu bedienen wie andere Lösungen,dlm
machen es jedoch so einfach wie möglich und verfügen über eine schöne Vignette, die Sie durch den Prozess führt.Ich werde die Hauptfrage in Ruhe lassen, weil ich denke, dass ich etwas falsch machen werde (obwohl ich auch Daten für einen Gesundheitsdienstleister analysiere, und um ehrlich zu sein, wenn ich diese Daten hätte, würde ich sie einfach mit Standardtechniken analysieren und Ich hoffe auf das Beste, sie sehen für mich ganz okay aus.
Wie für R - Pakete habe ich die TSA - Bibliothek gefunden und es begleitendes Buch in der Tat sehr nützlich. Der
armasubsets
Befehl, vor allem, ich denke , ist eine große Zeitersparnis.quelle
Entfliehen Sie der traditionellen Aufzählungsstatistik, wie es Deming nahe legen würde, und wagen Sie sich in die traditionelle analytische Statistik - in diesem Fall in Kontrolldiagramme. Weitere Informationen finden Sie in Büchern von Donald Wheeler PhD, insbesondere in seinen "Advanced Topics in SPC".
quelle
Als Antwort auf Ihre direkte Frage: "Wie kann ich testen, ob sich der Prozess tatsächlich verändert? Und wenn ich einen Rückgang feststellen kann, wie kann ich diesen Trend und welche Saisonalität auch immer verwenden, um die Anzahl der Fälle zu schätzen, in denen wir möglicherweise zu sehen sind die nächsten Monate? " Entwickeln Sie ein Übertragungsfunktionsmodell (ARMAX), das die Abhängigkeit von Periode zu Periode einschließlich und die saisonale ARIMA-Struktur leicht erklärt. Berücksichtigen Sie alle identifizierbaren Pegelverschiebungen, saisonalen Impulse, lokalen Zeittrends und PUlses, die möglicherweise durch empirische / analytische Methoden wie Interventionserkennung vorgeschlagen wurden. WENN DIESES ROBUSTE MODELL EINEN FAKTOR / EINE SERIE ENTHÄLT, die mit "Ablehnungen" übereinstimmt, dann wurden Ihre Gebete beantwortet. Alternativ fügen Sie einfach eine hypothetische Struktur hinzu, um z. B. eine Zeittrendänderung am Punkt T1 zu testen. Konstruieren Sie zwei Dummies X1 = 1,1,2,3 ,,,,,, T und X2 = 0,0,0,0,0,0,0,1,2,3,4,5, .... WO DIE NULLEN IM ZEITRAUM T1-1 ENDEN. Der Test der Hypothese einer signifikanten Trendänderung im Zeitraum T1 wird mit dem "t-Wert" für X2 bewertet.
Bearbeitet 22.09.11
Häufig haben solche Krankheitsdaten monatliche Auswirkungen, da Wetter / Temperatur häufig ein nicht näher bezeichneter Kausalzusammenhang ist. In der Auslassung der wahren Caudsal-Reihe verwenden ARIMA-Modelle Gedächtnis- oder Saisonattrappen als Ersatz. Außerdem können Serien wie diese Pegelverschiebungen und / oder lokale Zeittrends aufweisen, die den strukturellen Wandel im Zeitverlauf widerspiegeln. Die Nutzung der autoregressiven Struktur in den Daten, anstatt verschiedene Artefakte wie Zeit und Zeitquadrat und Zeitkubik usw. aufzuerlegen, hat sich als recht nützlich und weniger mutmaßlich und ad hoc herausgestellt. Es sollte auch darauf geachtet werden, "ungewöhnliche Werte" zu identifizieren, da diese oft nützlich sein können, um zusätzliche Ursachenvariablen vorzuschlagen und zumindest zu robusten Schätzungen der anderen Modellparameter zu führen. Schließlich haben wir festgestellt, dass die Variabilität / Parameter über die Zeit variieren können, so dass diese Modellverfeinerungen in Ordnung sein können.
quelle