Stabilitätsprüfung in einer Zeitreihe


9

Gibt es eine Standardmethode (oder die beste Methode) zum Testen, wenn sich eine bestimmte Zeitreihe stabilisiert hat?


Etwas Motivation

Ich habe ein stochastisches dynamisches System, das bei jedem Zeitschritt einen Wert ausgibt . Dieses System hat ein vorübergehendes Verhalten bis zum Zeitschritt und stabilisiert sich dann mit einem Fehler um einen Mittelwert . Keiner von , oder der Fehler sind mir bekannt. Ich bin bereit, einige Annahmen zu treffen (wie den Gaußschen Fehler um t N t x t x x xttNtxtxxzum Beispiel) aber je weniger a priori Annahmen ich brauche, desto besser. Das einzige, was ich mit Sicherheit weiß, ist, dass es nur einen stabilen Punkt gibt, zu dem das System konvergiert, und dass die Schwankungen um den stabilen Punkt viel kleiner sind als die Schwankungen während der Übergangszeit. Der Prozess ist auch monoton, ich kann davon ausgehen, dass der Nähe von beginnt und in Richtung steigt (möglicherweise ein wenig überschießen, bevor es sich um stabilisiert ). 0 x x x00xx

Die Daten stammen aus einer Simulation, und ich benötige den Stabilitätstest als Stoppbedingung für meine Simulation (da ich nur an der Übergangszeit interessiert bin).xt

Genaue Frage

es eine Methode, die nur mit angemessener Genauigkeit sagt, dass sich das stochastische dynamische System um einen Punkt stabilisiert hat, für ein endliches auf den Zeitwert ? Bonuspunkte, wenn der Test auch , und den Fehler um zurückgibt . Dies ist jedoch nicht unbedingt erforderlich, da es einfache Möglichkeiten gibt, dies nach Abschluss der Simulation herauszufinden. T x x t x x0...xTTxxtx


Naiver Ansatz

Der naive Ansatz, der mir zuerst in den Sinn kommt (den ich zum Beispiel als Gewinnbedingungen für einige neuronale Netze gesehen habe), besteht darin, die Parameter und auszuwählen. Wenn es für die letzten Zeitschritte keine zwei Punkte und so dass dann schließen wir, dass wir uns stabilisiert haben. Dieser Ansatz ist einfach, aber nicht sehr streng. Es zwingt mich auch zu erraten, welche guten Werte von und sein sollten.E T x x ' x ' - x > E T E.TETxxxx>ETE

Es scheint, als sollte es einen besseren Ansatz geben, der auf einige Schritte in der Vergangenheit zurückblickt (oder alte Daten irgendwie rabattiert), den Standardfehler aus diesen Daten berechnet und dann prüft, ob für eine andere Anzahl von Schritten (oder einen anderen) Diskontierungsschema) Die Zeitreihe lag nicht außerhalb dieses Fehlerbereichs. Als Antwort habe ich eine etwas weniger naive, aber immer noch einfache Strategie aufgenommen .


Jede Hilfe oder Verweise auf Standardtechniken sind willkommen.

Anmerkungen

Ich habe diese Frage auch so wie sie ist an MetaOptimize und in einer Beschreibung mit mehr Simulationsgeschmack an Computational Science gesendet .


Haben Sie eine klare Lösung gefunden? Ich interessiere mich für die gleiche Frage, aber alle Antworten überzeugen nicht.
Herman Toothrot

1
@ user4050 habe ich leider nicht. Ich denke, es ist tatsächlich eine sehr breite Frage, und es gibt viele Techniken, die in einigen Bereichen besser und in anderen schlechter sind.
Artem Kaznatcheev

Antworten:


5

Diese kurze Bemerkung ist alles andere als eine vollständige Antwort, nur einige Vorschläge:

  • Wenn Sie zwei Zeiträume haben, in denen sich das Verhalten unterscheidet, meine ich mit Unterschieden entweder Unterschiede in den Modellparametern (in dieser speziellen Situation nicht relevant), Mittelwert oder Varianz oder andere erwartete Merkmale eines Zeitreihenobjekts ( in Ihrem Fall ). Sie können alle Methoden ausprobieren, mit denen die Zeit (das Intervall) struktureller (oder epidemischer) Veränderungen geschätzt wird .xt
  • In R gibt es eine strucchange Bibliothek für strukturelle Änderungen in linearen Regressionsmodellen. Obwohl es hauptsächlich zum Testen und Überwachen von Änderungen der Parameter der linearen Regression verwendet wird, könnten einige Statistiken für allgemeine strukturelle Änderungen in Zeitreihen verwendet werden.

Das Fehlen von Ausreißern / Pegelverschiebungen / Trendänderungen UND die Nichtberücksichtigung der seriellen Korrelation von Verzögerungen bei Modellresten sind Bestandteile, die häufig dazu führen, dass die Standard-F-Tests falsch angewendet werden. Daher ist Vorsicht geboten (wie Sie vorgeschlagen haben!).
IrishStat

@IrishStat, wie Sie vielleicht aus meinem Beitrag sehen, schlage ich nicht vor, das lineare Regressionsmodell zu verwenden. Ich habe nur bemerkt, dass es möglicherweise eine ähnliche Form von Statistik hat (CUMSUM oder was auch immer, da letztere auf Residuen des Modells angewendet werden) Es handelt sich eindeutig um Zeitreihenobjekte mit (wahrscheinlich) unterschiedlichen Grenzverteilungen, die die Autokorrelation berücksichtigen (testbar). Wenn Sie möchten, können Sie vor weiteren Tests Ausreißeranpassungen (auch testbar) vornehmen. Es ist nur die einzige mir bekannte R-Bibliothek, die mit strukturellen Änderungen arbeitet.
Dmitrij Celov

Ich fange an, diese Antwort immer mehr zu mögen. Haben Sie einen Vorschlag für eine gute Referenz (vorzugsweise ein aktuelles Umfragepapier) für einige gängige Methoden zur Schätzung des Zeitpunkts des Strukturwandels?
Artem Kaznatcheev

4

Während ich Ihre Frage lese "und die Schwankungen um den stabilen Punkt sind viel kleiner als die Schwankungen während der Übergangszeit", erhalte ich eine Anfrage, um festzustellen, wann und ob sich die Varianz der Fehler geändert hat und wenn ja, wann! Wenn dies Ihr Ziel ist, können Sie die Arbeit oder R. Tsay "Ausreißer, Pegelverschiebungen und Varianzänderungen in Zeitreihen", Journal of Forecasting Vol 7, 1-20 (1988), überprüfen. Ich habe auf diesem Gebiet beträchtliche Arbeit geleistet und finde es sehr produktiv, gute Analysen zu liefern. Andere Ansätze (z. B. ols / lineare Regressionsanalyse), die unabhängige Beobachtungen und keine Impulsausreißer und / oder keine Pegelverschiebungen oder lokale Zeittrends und zeitinvariante Parameter voraussetzen, sind meiner Meinung nach unzureichend.


1

Ich dachte mehr über die Frage nach und dachte, ich würde den naiven Ansatz als Antwort leicht verbessern, in der Hoffnung, dass die Leute weitere Ideen in die Richtung kennen. Dadurch können wir auch die Notwendigkeit beseitigen, die Größe der Schwankungen zu kennen.


(T,α)yt=xt+1xttt+1xy

TytαμαEμσEσ0(μEμ,μ+Eμ)ytσ1α


T


0

Sie könnten in Betracht ziehen, rückwärts (mit einem rollenden Fenster) auf die Ko-Integration zwischen xund den langfristigen Mittelwert zu testen .

Wenn xder Mittelwert überschritten wird, zeigt Ihnen der Augmented Dickey Fuller-Test mit Fenster oder der von Ihnen gewählte Co-Integrationstest hoffentlich, dass die beiden Serien gemeinsam integriert sind. Sobald Sie in die Übergangsphase eintreten, in der die beiden Serien voneinander abweichen, zeigt Ihnen Ihr Test hoffentlich, dass die Fensterserien nicht gemeinsam integriert sind.

Das Problem bei diesem Schema ist, dass es schwieriger ist, eine Ko-Integration in einem kleineren Fenster zu erkennen. Und ein zu großes Fenster, wenn es nur einen kleinen Abschnitt der Übergangszeit enthält, zeigt Ihnen, dass die Fensterserie mitintegriert ist, wenn dies nicht der Fall sein sollte. Und wie Sie vielleicht erraten haben, gibt es keine Möglichkeit, im Voraus zu wissen, wie groß das "richtige" Fenster sein könnte.

Ich kann nur sagen, dass Sie damit herumspielen müssen, um zu sehen, ob Sie vernünftige Ergebnisse erzielen.



0

Abgesehen von der offensichtlichen Kalman-Filter-Lösung können Sie Wavelet-Zerlegungen verwenden und ein zeit- und frequenzlokalisiertes Leistungsspektrum erhalten. Dies erfüllt Ihren Wunsch nach keinen Annahmen, gibt Ihnen jedoch leider keinen formalen Test darüber, wann sich das System einstellt. Aber für eine praktische Anwendung ist es in Ordnung; Schauen Sie sich nur die Zeit an, in der die Energie in den hohen Frequenzen stirbt und sich die Wavelet-Koeffizienten des Vaters stabilisieren.


Geht das nicht einfach weiter, da ich nicht testen muss, wann sich die Zeitreihe des Vater-Wavelet-Koeffizienten stabilisiert? Oder gibt es eine Standardmethode für diese bestimmte Zeitreihe? Was ist die offensichtliche Kalman-Filterlösung?
Artem Kaznatcheev

@ArtemKaznatcheev Warum kannst du dir nicht einfach ein Diagramm der Koeffizientenreihe ansehen? Ich habe versucht, eine Lösung anzubieten, die Ihrem Testwunsch nicht entspricht, aber als Kompromiss ohne viele Annahmen.
user2763361
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.