Erkennen Sie Änderungen in Zeitreihen


11

Ich bin auf ein Bild eines Anwendungsprototyps gestoßen, der signifikante Änderungen ("Trends" - keine Spitzen / Ausreißer) in den Verkehrsdaten findet:

Alt-Text

Ich möchte ein Programm (Java, optional R) schreiben, das dasselbe kann - aber da meine statistischen Fähigkeiten etwas verrostet sind, muss ich mich erneut mit diesem Thema befassen.

Welchen Ansatz / Algorithmus sollte ich daher verwenden / recherchieren?



Ja, und die Antworten werden auch gleich sein.
whuber

Antworten:


4

Es gibt eine Reihe von Möglichkeiten, wie "ein Strukturbruch" auftreten kann.

Wenn sich der Achsenabschnitt oder der Trend im "letzten Teil der Zeitreihe" ändert, ist man besser für die Durchführung der Interventionserkennung geeignet (Hinweis: Dies ist die empirische Identifizierung der signifikanten Auswirkungen einer nicht spezifizierten deterministischen Variablen wie z als Pegelverschiebung oder Trendänderung oder als Beginn eines saisonalen Impulses). Die Interventionserkennung ist dann ein Vorläufer der Interventionsmodellierung, bei der eine vorgeschlagene Variable im Modell enthalten ist. Sie finden Informationen im Internet, indem Sie "AUTOMATIC INTERVENTION DETECTION" googeln. Einige Autoren verwenden den Begriff "OUTLIER DETECTION", aber wie viele statistische Sprachen kann dies verwirrend / ungenau sein. Erkannte Interventionen können eine der folgenden sein (Erkennen einer signifikanten Änderung des Mittelwerts der Residuen);

eine Änderung des Pegels um eine Periode (dh ein Impuls) eine zusammenhängende Änderung des Pegels um mehrere Perioden (dh eine Änderung des Abschnitts) ein systematischer Impuls (dh ein saisonaler Impuls) eine Trendänderung (dh 1,2,3,4,5, 7,9,11,13,15 .....) Diese Verfahren lassen sich leicht in R / SAS / Matlab programmieren und sind routinemäßig in einer Reihe von im Handel erhältlichen Zeitreihenpaketen verfügbar. Es gibt jedoch viele Fallstricke, vor denen Sie vorsichtig sein müssen B. ob zuerst die stochastische Struktur oder die Interventionserkennung an der Originalserie durchgeführt werden soll. Dies ist wie das Henne-Ei-Problem. Frühe Arbeiten in diesem Bereich beschränkten sich auf Typ 1 und werden daher wahrscheinlich nicht für Ihre Bedürfnisse ausreichen, da Ihre Beispiele LEVEL SHIFTS veranschaulichen.

Es gibt viel Material im Internet und sogar ein kostenloses Programm unter http://www.autobox.com/30day.exe , mit dem Sie sogar 30 Tage lang Ihre eigenen Daten verwenden können. Sie könnten viel lernen, indem Sie einfach zuschauen, wie Yogi einmal sagte, und ihre Ergebnisse wiederholen.

Die Webreferenzen für die genauen Gleichungen, die Sie verwenden können, finden Sie ab Seite 134 unter http://www.autobox.com/pdfs/autoboxusersguide.pdf . Ich bin einer der Autoren von AUTOBOX.


@stefanos: Können Sie mir bitte den Namen der Anwendung mitteilen, da ich immer daran interessiert bin, Softwarelösungen zu entwickeln, die sich mit diesem Problem befassen. Sie können mir eine E-Mail an meine Kontaktinformationen senden.
IrishStat

1

Probieren Sie das cpm- oder changepoint-Paket in R aus. Die Verwendung ist kostenlos. Erforschen Sie auch das Änderungspunktmodell oder die sequentielle Änderungserkennung.


3
Willkommen auf der Website @Cherese. Derzeit ist dies eher ein Kommentar als eine Antwort. Würde es Ihnen etwas ausmachen, darauf ein wenig näher einzugehen?
Gung - Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.