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 ∗zum 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 ∗
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).
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 ∗
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.
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 .
quelle
Antworten:
Diese kurze Bemerkung ist alles andere als eine vollständige Antwort, nur einige Vorschläge:
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.quelle
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.
quelle
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.
quelle
Sie könnten in Betracht ziehen, rückwärts (mit einem rollenden Fenster) auf die Ko-Integration zwischen
x
und den langfristigen Mittelwert zu testen .Wenn
x
der 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.
quelle
quelle
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.
quelle